WebKit-https.git
7 years agoAX: svg:image not accessible
cfleizach@apple.com [Wed, 12 Sep 2012 22:56:47 +0000 (22:56 +0000)]
AX: svg:image not accessible
https://bugs.webkit.org/show_bug.cgi?id=96341

Reviewed by Adele Peterson.

Source/WebCore:

Test: accessibility/svg-image.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

LayoutTests:

* accessibility/svg-image.html: Added.
* platform/mac/accessibility/svg-image-expected.txt: Added.

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

7 years agopercentage widths rendered wrong in vertical writing mode with orthogonal parent
ojan@chromium.org [Wed, 12 Sep 2012 22:54:56 +0000 (22:54 +0000)]
percentage widths rendered wrong in vertical writing mode with orthogonal parent
https://bugs.webkit.org/show_bug.cgi?id=96308

Reviewed by Tony Chang.

Source/WebCore:

When the containingBlock is in a perpendicular writing-mode, we need to use
it's logicalWidth as the availableHeight for computing percentage values.

Tests: fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html
       fast/writing-mode/percentage-height-orthogonal-writing-modes.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
Added some FIXMEs for perpendicular writing mode cases.

LayoutTests:

* fast/writing-mode/percentage-height-orthogonal-writing-modes-expected.txt: Added.
* fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks-expected.txt: Added.
* fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html: Added.
* fast/writing-mode/percentage-height-orthogonal-writing-modes.html: Added.

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

7 years ago[v8] document.getCSSCanvasContext doesn't need to be custom
abarth@webkit.org [Wed, 12 Sep 2012 22:43:54 +0000 (22:43 +0000)]
[v8] document.getCSSCanvasContext doesn't need to be custom
https://bugs.webkit.org/show_bug.cgi?id=96560

Reviewed by Eric Seidel.

Source/WebCore:

Instead of having a special case for toV8(CanvasRenderingContext*)
inlined into this custom function, we should just make the toV8
function itself custom.

Test: fast/canvas/canvas-css-crazy.html

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/custom/V8DocumentCustom.cpp:
* dom/Document.idl:
* html/canvas/CanvasRenderingContext.idl:

LayoutTests:

Test that document.getCSSCanvasContext returns null for a bogus canvas type.

* fast/canvas/canvas-css-crazy-expected.txt: Added.
* fast/canvas/canvas-css-crazy.html: Added.

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

7 years agoHTML parser fails to propertly close 4 identical nested formatting elements
eric@webkit.org [Wed, 12 Sep 2012 22:40:15 +0000 (22:40 +0000)]
HTML parser fails to propertly close 4 identical nested formatting elements
https://bugs.webkit.org/show_bug.cgi?id=96385

Reviewed by Adam Barth.

Add missing Adoption agency step 4.a to fix one of our two outlying Adoption Agency bugs.
This is the same step that Opera was missing (must have been recently added to the spec).

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

7 years agoSource/WebCore: [GTK] Protect RedirectedXCompositeWindow with USE(GLX) when building...
commit-queue@webkit.org [Wed, 12 Sep 2012 22:36:08 +0000 (22:36 +0000)]
Source/WebCore: [GTK] Protect RedirectedXCompositeWindow with USE(GLX) when building the clutter AC backend
https://bugs.webkit.org/show_bug.cgi?id=96165

Patch by Siraj Razick <siraj.razick@collabora.co.uk> on 2012-09-12
Reviewed by Martin Robinson.

RedirectedXCompositeWindow.cpp and RedirectedXCompositeWindow.h files requies openGL specific
headers to compile so when we build webkit clutter AC backend these files failed to compile,
This patch protects these two files with USE(GLX) when building webkit with Clutter AC backend.

No new tests since this is a build fix

* platform/gtk/RedirectedXCompositeWindow.cpp:
* platform/gtk/RedirectedXCompositeWindow.h:
protects both the files with USE(GLX)

Source/WebKit/gtk: [GTK] Update AcceleratedCompositingContextClutter to match AcceleratedCompositingContext.h API update
https://bugs.webkit.org/show_bug.cgi?id=96165

Patch by Siraj Razick <siraj.razick@collabora.co.uk> on 2012-09-12
Reviewed by Martin Robinson.

Due to the refactoring done in bug #90085 AcceleratedCompositingContext API changed, as a result
AcceleratedCompositingContextClutter doesn't compile anymore. This patch is to update the
AcceleratedCompositingContextClutter implementations to match the API update, and Make webkit
AC backend compile again.

* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::~AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):
(WebKit::AcceleratedCompositingContext::setNonCompositedContentsNeedDisplay):
(WebKit::flushAndRenderLayersCallback):
(WebKit::AcceleratedCompositingContext::scheduleLayerFlush):
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::flushAndRenderLayers):

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

7 years agoRenderBox::computeLogicalClientHeight is incorrectly named
ojan@chromium.org [Wed, 12 Sep 2012 22:29:42 +0000 (22:29 +0000)]
RenderBox::computeLogicalClientHeight is incorrectly named
https://bugs.webkit.org/show_bug.cgi?id=94288

Reviewed by Tony Chang.

Just renamed a couple methods to make it more clear what they return.
No behavior changes.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeContentLogicalHeight):
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
(WebCore::RenderFlexibleBox::lineBreakLength):

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

7 years agoIndexedDB: The |source| property of IDBFactory.open() request should be null
jsbell@chromium.org [Wed, 12 Sep 2012 22:22:07 +0000 (22:22 +0000)]
IndexedDB: The |source| property of IDBFactory.open() request should be null
https://bugs.webkit.org/show_bug.cgi?id=96551

Reviewed by Tony Chang.

Source/WebCore:

Per the IDB spec, the source property of the IDBOpenDBRequest returned by IDBFactory.open()
should be set to null. We were setting it to the IDBFactory object instead.

Tests: storage/indexeddb/basics.html
       storage/indexeddb/basics-workers.html
       storage/indexeddb/mozilla/event-source.html
       storage/indexeddb/readonly.html

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

LayoutTests:

Already tested for in several places, so just update expectations/assertions.

* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/mozilla/event-source-expected.txt:
* storage/indexeddb/mozilla/resources/event-source.js: Updated assertion.
(openSuccess):
* storage/indexeddb/readonly-expected.txt:
* storage/indexeddb/resources/basics.js: Updated assertion.
(test):
(openCallback):

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

7 years agoRefactor Opcodes to distinguish between core and extension opcodes.
commit-queue@webkit.org [Wed, 12 Sep 2012 22:20:34 +0000 (22:20 +0000)]
Refactor Opcodes to distinguish between core and extension opcodes.
https://bugs.webkit.org/show_bug.cgi?id=96466.

Patch by Mark Lam <mark.lam@apple.com> on 2012-09-12
Reviewed by Filip Pizlo.

* bytecode/Opcode.h:
(JSC): Added FOR_EACH_CORE_OPCODE_ID() macro.
* llint/LowLevelInterpreter.h:
(JSC): Auto-generate llint opcode aliases using the
    FOR_EACH_CORE_OPCODE_ID() macro.

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

7 years agoUnreviewed, rolling out r128353.
commit-queue@webkit.org [Wed, 12 Sep 2012 22:19:50 +0000 (22:19 +0000)]
Unreviewed, rolling out r128353.
http://trac.webkit.org/changeset/128353
https://bugs.webkit.org/show_bug.cgi?id=96565

Re-land change that broke tests on Chromium. Tests are now
disabled, will rebaseline after this rolls. (Requested by
dmazzoni on #webkit).

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

Source/WebCore:

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore):
(WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
(WebCore::AccessibilityNodeObject::isWebArea):
(WebCore::AccessibilityNodeObject::isImageButton):
(WebCore::AccessibilityNodeObject::isAnchor):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isSearchField):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isImage):
(WebCore::AccessibilityNodeObject::isPasswordField):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isProgressIndicator):
(WebCore::AccessibilityNodeObject::isSlider):
(WebCore::AccessibilityNodeObject::isMenuRelated):
(WebCore::AccessibilityNodeObject::isMenu):
(WebCore::AccessibilityNodeObject::isMenuBar):
(WebCore::AccessibilityNodeObject::isMenuButton):
(WebCore::AccessibilityNodeObject::isMenuItem):
(WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
(WebCore::AccessibilityNodeObject::isEnabled):
(WebCore::AccessibilityNodeObject::isIndeterminate):
(WebCore::AccessibilityNodeObject::isPressed):
(WebCore::AccessibilityNodeObject::isChecked):
(WebCore::AccessibilityNodeObject::isHovered):
(WebCore::AccessibilityNodeObject::isMultiSelectable):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::isRequired):
(WebCore::AccessibilityNodeObject::headingLevel):
(WebCore::AccessibilityNodeObject::valueDescription):
(WebCore::AccessibilityNodeObject::isARIARange):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::AccessibilityNodeObject::stepValueForRange):
(WebCore::AccessibilityNodeObject::isHeading):
(WebCore::AccessibilityNodeObject::isLink):
(WebCore::AccessibilityNodeObject::isControl):
(WebCore::AccessibilityNodeObject::isFieldset):
(WebCore::AccessibilityNodeObject::isGroup):
(WebCore::AccessibilityNodeObject::selectedRadioButton):
(WebCore::AccessibilityNodeObject::selectedTabItem):
(WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::actionElement):
(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
(WebCore::AccessibilityNodeObject::alterSliderValue):
(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):
(WebCore::AccessibilityNodeObject::changeValueByStep):
(WebCore::AccessibilityNodeObject::changeValueByPercent):
(WebCore::AccessibilityNodeObject::isGenericFocusableElement):
(WebCore::AccessibilityNodeObject::labelForElement):
(WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
(WebCore::siblingWithAriaRole):
(WebCore::AccessibilityNodeObject::menuElementForMenuButton):
(WebCore::AccessibilityNodeObject::menuForMenuButton):
(WebCore::AccessibilityNodeObject::menuItemElementForMenu):
(WebCore::AccessibilityNodeObject::menuButtonForMenu):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
(WebCore::AccessibilityNodeObject::helpText):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::AccessibilityNodeObject::stringValue):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
(WebCore::AccessibilityNodeObject::elementsFromAttribute):
(WebCore::AccessibilityNodeObject::ariaLabeledByElements):
(WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
(WebCore::AccessibilityNodeObject::node):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::isReadOnly):
(WebCore::AccessibilityRenderObject::helpText):
(WebCore::AccessibilityRenderObject::accessibilityDescription):
(WebCore::AccessibilityRenderObject::text):
(WebCore::AccessibilityRenderObject::contentChanged):
(WebCore):
(WebCore::AccessibilityRenderObject::canHaveChildren):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):

LayoutTests:

* accessibility/canvas-fallback-content-2-expected.txt: Added.
* accessibility/canvas-fallback-content-2.html: Added.

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

7 years ago[GTK] We attempt to rebase documentation even if it's not present
commit-queue@webkit.org [Wed, 12 Sep 2012 22:13:44 +0000 (22:13 +0000)]
[GTK] We attempt to rebase documentation even if it's not present
https://bugs.webkit.org/show_bug.cgi?id=96553

Patch by Xan Lopez <xlopez@igalia.com> on 2012-09-12
Reviewed by Martin Robinson.

Do not make the documentation rebase step fatal. This allows make
install to succeed when there's no documentation generated.

* gtk/generate-gtkdoc:

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

7 years agoUpdate some stale expectations.
ojan@chromium.org [Wed, 12 Sep 2012 22:12:25 +0000 (22:12 +0000)]
Update some stale expectations.
* platform/chromium/TestExpectations:
Update to match what the bots are actually seeing.
* platform/gtk/TestExpectations:
Remove tests that no longer exist.

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

7 years agofast/events/dispatch-message-string-data.html fails on mac wk2
slewis@apple.com [Wed, 12 Sep 2012 21:58:48 +0000 (21:58 +0000)]
fast/events/dispatch-message-string-data.html fails on mac wk2
https://bugs.webkit.org/show_bug.cgi?id=96552

Unreviewed.

Add to TestExpectations.

* platform/mac-wk2/TestExpectations:

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

7 years agoRespect WEBKITOUTPUTDIR when running EFL tests
kenneth@webkit.org [Wed, 12 Sep 2012 21:49:09 +0000 (21:49 +0000)]
Respect WEBKITOUTPUTDIR when running EFL tests
https://bugs.webkit.org/show_bug.cgi?id=96528

Reviewed by Dirk Pranke.

Expose user set WEBKITOUTPUTDIR to the web process.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver._start): Add WEBKITOUTPUTDIR to the environment
of the web process and its potential jhbuild wrapper.

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

7 years agoElement::classAttributeChanged should use characters8/16 to find first non-whitespace
msaboff@apple.com [Wed, 12 Sep 2012 21:40:26 +0000 (21:40 +0000)]
Element::classAttributeChanged should use characters8/16 to find first non-whitespace
https://bugs.webkit.org/show_bug.cgi?id=96446

Reviewed by Benjamin Poulain.

Source/WebCore:

Made two new static templated methods to handle 8 or 16 bit class names.

No functional change, so no new tests.

* dom/Element.cpp:
(WebCore::classStringHasClassName):
(WebCore::Element::classAttributeChanged):

Source/WTF:

Added bit size related string accessors to AtomicString to support change.

* wtf/text/AtomicString.h:
(AtomicString):
(WTF::AtomicString::is8Bit):
(WTF::AtomicString::characters8):
(WTF::AtomicString::characters16):

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

7 years agowebkitdirs: fix uname version handling for cygwin
dpranke@chromium.org [Wed, 12 Sep 2012 21:37:35 +0000 (21:37 +0000)]
webkitdirs: fix uname version handling for cygwin
https://bugs.webkit.org/show_bug.cgi?id=96436

Reviewed by Jon Honeycutt.

Newer versions of cygwin embed an additional version string
inside parentheses, so you get "1.7.16(0.249/5/3)" instead of "1.7.16".
Update the code to handle that.

* Scripts/webkitdirs.pm:
(setupAppleWinEnv):

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

7 years ago[V8] V8DOMWrapper::constructorForType is unnecessary now that we can get V8PerContext...
commit-queue@webkit.org [Wed, 12 Sep 2012 21:36:48 +0000 (21:36 +0000)]
[V8] V8DOMWrapper::constructorForType is unnecessary now that we can get V8PerContextData from the v8::Context
https://bugs.webkit.org/show_bug.cgi?id=96556

Patch by Adam Barth <abarth@chromium.org> on 2012-09-12
Reviewed by Eric Seidel.

These functions no longer serve a purpose now that we can get the
V8PerContextData directly from the context. Previously we had to find
the Frame in order to find the per-context data.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateConstructorGetter):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::installDOMWindow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
* bindings/v8/V8PerContextData.cpp:
(WebCore::V8PerContextData::from):
* bindings/v8/V8PerContextData.h:
(V8PerContextData):
    - Changed this function to accept an arbitrary context rather than
      requiring the caller to use the current context.

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

7 years agoMore unreviewed gardening after r128346.
leviw@chromium.org [Wed, 12 Sep 2012 21:33:54 +0000 (21:33 +0000)]
More unreviewed gardening after r128346.

* platform/chromium-win-xp/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/chromium-win/fast/repaint/repaint-across-writing-mode-boundary-expected.png:

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

7 years agoSync html5lib tests with latest sources (and sort the tests alphabetically in runner...
eric@webkit.org [Wed, 12 Sep 2012 21:21:06 +0000 (21:21 +0000)]
Sync html5lib tests with latest sources (and sort the tests alphabetically in runner.html)
https://bugs.webkit.org/show_bug.cgi?id=96544

Reviewed by Adam Barth.

* html5lib/resources/adoption01.dat:
* html5lib/resources/domjs-unsafe.dat: Added.
* html5lib/resources/scripted/ark.dat: Added.
* html5lib/runner.html:

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

7 years ago[chromium] Fix search tickmarks not disappearing when compositing is enabled
enne@google.com [Wed, 12 Sep 2012 21:04:13 +0000 (21:04 +0000)]
[chromium] Fix search tickmarks not disappearing when compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=96536

Reviewed by James Robinson.

view->invalidateRect() on the root frame just invalidates the
contents, since WebViewImpl doesn't know anything about scrollbar
layers. This causes an "InvalidateAll" to not actually invalidate the
scrollbars.

To fix this, make WebFrameImpl explicitly invalidate the
scrollbars when required.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::invalidateArea):

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

7 years agoWiden CRASH expectations for fast/replaced/border-radius-clip.html
adamk@chromium.org [Wed, 12 Sep 2012 20:57:25 +0000 (20:57 +0000)]
Widen CRASH expectations for fast/replaced/border-radius-clip.html

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening. Updated test expectations following r128346.
leviw@chromium.org [Wed, 12 Sep 2012 20:40:06 +0000 (20:40 +0000)]
Unreviewed gardening. Updated test expectations following r128346.

* platform/chromium-linux/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/chromium-mac/fast/repaint/repaint-across-writing-mode-boundary-expected.png:

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

7 years agoUnreviewed gardening.
adamk@chromium.org [Wed, 12 Sep 2012 20:35:34 +0000 (20:35 +0000)]
Unreviewed gardening.

Mark seek-to-end-after-duration-change.html as flaky.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening.
adamk@chromium.org [Wed, 12 Sep 2012 20:33:32 +0000 (20:33 +0000)]
Unreviewed gardening.

Mark some new hidpi tests as failing after r128348.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, rolling out r128318 and r128332.
commit-queue@webkit.org [Wed, 12 Sep 2012 20:13:47 +0000 (20:13 +0000)]
Unreviewed, rolling out r128318 and r128332.
http://trac.webkit.org/changeset/128318
http://trac.webkit.org/changeset/128332
https://bugs.webkit.org/show_bug.cgi?id=96547

Caused accessibility test failures on snow leopard (Requested
by jamesr_ on #webkit).

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

Source/WebCore:

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
(WebCore::AccessibilityNodeObject::node):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore):
(WebCore::AccessibilityRenderObject::isWebArea):
(WebCore::AccessibilityRenderObject::isImageButton):
(WebCore::AccessibilityRenderObject::isAnchor):
(WebCore::AccessibilityRenderObject::isNativeTextControl):
(WebCore::AccessibilityRenderObject::isSearchField):
(WebCore::AccessibilityRenderObject::isNativeImage):
(WebCore::AccessibilityRenderObject::isImage):
(WebCore::AccessibilityRenderObject::isPasswordField):
(WebCore::AccessibilityRenderObject::isInputImage):
(WebCore::AccessibilityRenderObject::isProgressIndicator):
(WebCore::AccessibilityRenderObject::isSlider):
(WebCore::AccessibilityRenderObject::isMenuRelated):
(WebCore::AccessibilityRenderObject::isMenu):
(WebCore::AccessibilityRenderObject::isMenuBar):
(WebCore::AccessibilityRenderObject::isMenuButton):
(WebCore::AccessibilityRenderObject::isMenuItem):
(WebCore::AccessibilityRenderObject::isPressed):
(WebCore::AccessibilityRenderObject::isIndeterminate):
(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
(WebCore::AccessibilityRenderObject::isChecked):
(WebCore::AccessibilityRenderObject::isHovered):
(WebCore::AccessibilityRenderObject::isMultiSelectable):
(WebCore::AccessibilityRenderObject::isReadOnly):
(WebCore::AccessibilityRenderObject::headingLevel):
(WebCore::AccessibilityRenderObject::isHeading):
(WebCore::AccessibilityRenderObject::isLink):
(WebCore::AccessibilityRenderObject::isControl):
(WebCore::AccessibilityRenderObject::isFieldset):
(WebCore::AccessibilityRenderObject::isGroup):
(WebCore::AccessibilityRenderObject::selectedRadioButton):
(WebCore::AccessibilityRenderObject::selectedTabItem):
(WebCore::AccessibilityRenderObject::actionElement):
(WebCore::AccessibilityRenderObject::mouseButtonListener):
(WebCore::AccessibilityRenderObject::alterSliderValue):
(WebCore::AccessibilityRenderObject::increment):
(WebCore::AccessibilityRenderObject::decrement):
(WebCore::siblingWithAriaRole):
(WebCore::AccessibilityRenderObject::menuElementForMenuButton):
(WebCore::AccessibilityRenderObject::menuForMenuButton):
(WebCore::AccessibilityRenderObject::menuItemElementForMenu):
(WebCore::AccessibilityRenderObject::menuButtonForMenu):
(WebCore::AccessibilityRenderObject::hierarchicalLevel):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
(WebCore::AccessibilityRenderObject::valueDescription):
(WebCore::AccessibilityRenderObject::stepValueForRange):
(WebCore::AccessibilityRenderObject::isARIARange):
(WebCore::AccessibilityRenderObject::valueForRange):
(WebCore::AccessibilityRenderObject::maxValueForRange):
(WebCore::AccessibilityRenderObject::minValueForRange):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
(WebCore::AccessibilityRenderObject::elementsFromAttribute):
(WebCore::AccessibilityRenderObject::ariaLabeledByElements):
(WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
(WebCore::labelForElement):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
(WebCore::AccessibilityRenderObject::accessibilityDescription):
(WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
(WebCore::AccessibilityRenderObject::text):
(WebCore::AccessibilityRenderObject::isRequired):
(WebCore::AccessibilityRenderObject::changeValueByStep):
(WebCore::AccessibilityRenderObject::changeValueByPercent):
(WebCore::AccessibilityRenderObject::isEnabled):
(WebCore::AccessibilityRenderObject::isGenericFocusableElement):
(WebCore::AccessibilityRenderObject::canHaveChildren):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):

LayoutTests:

* accessibility/canvas-fallback-content-2-expected.txt: Removed.
* accessibility/canvas-fallback-content-2.html: Removed.

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

7 years ago <rdar://problem/12275537> REGRESSION(r127384): Non-existent directories are...
ap@apple.com [Wed, 12 Sep 2012 20:05:36 +0000 (20:05 +0000)]
    <rdar://problem/12275537> REGRESSION(r127384): Non-existent directories are no longer created for sandbox paths
        https://bugs.webkit.org/show_bug.cgi?id=96442

        Reviewed by Darin Adler.

        * Shared/SandboxExtension.h:
        (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
        * Shared/mac/SandboxExtensionMac.mm:
        (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
        Added a function for read-write configuration directories. It matches
        appendReadwriteSandboxDirectory() function behavior from WebProcessMac.mm.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitializeWebProcess):
        Use the new function for directories that need to be created if they don't exist.

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

7 years ago[Chromium] Fix cases where find-in-page doesn't send a final update
leandrogracia@chromium.org [Wed, 12 Sep 2012 20:02:25 +0000 (20:02 +0000)]
[Chromium] Fix cases where find-in-page doesn't send a final update
https://bugs.webkit.org/show_bug.cgi?id=96402

Fix some issues in the WebKit implementation that prevented to send a final
reportFindInPageMatchCount message. Also, fix a buggy reset of the active match
when calling the stopFinding method.

Reviewed by Adam Barth.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::scopeStringMatches):
(WebKit::WebFrameImpl::cancelPendingScopingEffort):
(WebKit::WebFrameImpl::setFindEndstateFocusAndSelection):
(WebKit::WebFrameImpl::shouldScopeMatches):

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

7 years ago[EFL] Compilation error in RenderThemeEfl.cpp
commit-queue@webkit.org [Wed, 12 Sep 2012 19:41:46 +0000 (19:41 +0000)]
[EFL] Compilation error in RenderThemeEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=96540

Unreviewed build fix.

Fix compilation error in RenderThemeEfl.cpp when building
in debug mode.

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

* platform/efl/RenderThemeEfl.h:
(WebCore::RenderThemeEfl::canvas):
(WebCore::RenderThemeEfl::edje):

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

7 years agoRegression(r128338): Broke Windows build
commit-queue@webkit.org [Wed, 12 Sep 2012 19:25:52 +0000 (19:25 +0000)]
Regression(r128338): Broke Windows build
https://bugs.webkit.org/show_bug.cgi?id=96537

Unreviewed build fix.

Fix Apple-Win build by allocating array dynamically
since its size is not constant.

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

* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::stringArrayToJS):

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

7 years ago[chromium] Add a virtual test suite for fast/hidpi
commit-queue@webkit.org [Wed, 12 Sep 2012 19:23:37 +0000 (19:23 +0000)]
[chromium] Add a virtual test suite for fast/hidpi
https://bugs.webkit.org/show_bug.cgi?id=90192

Patch by Alex Sakhartchouk <alexst@chromium.org> on 2012-09-12
Reviewed by Dirk Pranke.

Tools:

Add a virtual test suite to make sure the pixel tests in fast/hidpi give the same result
on the hardware accelerated path as the software path.

* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::applyTo):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

Making sure the new virtual tests have matching expectations to non-gpu ones

* platform/chromium/TestExpectations:
* platform/chromium/virtual/gpu/fast/hidpi/README.txt: Added.

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

7 years agoRename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING
commit-queue@webkit.org [Wed, 12 Sep 2012 19:21:41 +0000 (19:21 +0000)]
Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING
https://bugs.webkit.org/show_bug.cgi?id=96251

Patch by Sami Kyostila <skyostil@google.com> on 2012-09-12
Reviewed by Simon Fraser.

Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING to better describe
the feature it controls.

.:

* Source/cmakeconfig.h.cmake:

Source/WebCore:

No tests because of no change in runtime behavior.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::usesCompositedScrolling):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

* features.gypi:

LayoutTests:

* platform/chromium/TestExpectations:

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

7 years agoInline repainting can be off-by-one with sub-pixel enabled
leviw@chromium.org [Wed, 12 Sep 2012 19:17:03 +0000 (19:17 +0000)]
Inline repainting can be off-by-one with sub-pixel enabled
https://bugs.webkit.org/show_bug.cgi?id=95882

Reviewed by Eric Seidel.

Source/WebCore:

With sub-pixel layout enabled, context accumulated from containing renderers is used to properly
pixel snap. Selection repaint rects are stored outside the affected renderers, and are handed to
the embedder without the context to correctly determine the snapped values. This can result in
repaint areas smaller than what's needed.

This could be fixed three ways:
- by changing selection repaint rects to an IntRect and pixel snapping the values before storing
  them outside the render tree. This is the narrowest solution.
- by adapting layout to store pixel snapping hints along with the size/location of the renderer.
  This is the best possible solution, as it would help solve a lot of pixel snapping issues and
  reduce complexity of handling. I eventually intend on implementing this.
- by reverting repaintUsingContainer to IntRects and using pixel snapping when possible, and
  enclosingIntRect where we lack context.

This implements the last solution, as it's the least invasive, but can potentially fix numerous
sub-pixel repaint issues.

Test: fast/sub-pixel/selection/selection-rect-in-sub-pixel-table.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloats):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
* rendering/RenderObject.h:
(RenderObject):
* rendering/RenderSelectionInfo.h:
(WebCore::RenderSelectionInfo::repaint):
(WebCore::RenderBlockSelectionInfo::repaint):

LayoutTests:

Test that we properly repaint selection gaps inside tables with sub-pixel offsets.

* fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.txt: Added.
* fast/sub-pixel/selection/selection-rect-in-sub-pixel-table.html: Added.
* platform/chromium-mac/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 19:02:39 +0000 (19:02 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Unreviewed build fix.

Change UnicodeString::extract for gcc based on ICU fix described in
http://bugs.icu-project.org/trac/ticket/8197.

* icu/unicode/unistr.h:
(UnicodeString::extract):

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

7 years ago[chromium] Evict textures through the texture manager instead of the resource provider
commit-queue@webkit.org [Wed, 12 Sep 2012 18:49:25 +0000 (18:49 +0000)]
[chromium] Evict textures through the texture manager instead of the resource provider
https://bugs.webkit.org/show_bug.cgi?id=96463

Patch by Christopher Cameron <ccameron@chromium.org> on 2012-09-12
Reviewed by James Robinson.

Source/WebCore:

When deleting contents textures' resources on the impl thread, do the
deletion through the CCPrioritizedTextureManager instead of the
CCResourceProvider.

This requires traversing the backings list on the impl thread while
the main thread is running, so remove the one remaining traversal of
the backings list by the main thread. This traversal happens when
unlinking textures that were evicted by the impl thread, so explicitly
send the list of evicted backings from the impl thread to the main thread.

Unify all resource deletion paths in the CCPrioritizedTextureManager.
Always perform the sequence of eviction (deleting the GL resource) and
then destruction of evicted backings (deleting the objects).  Also,
use the same function (evictBackingsToReduceMemory) to reduce memory
consumption both during commit and when done by the impl thread in response
to a request by the GPU memory manager.

Note that destroying only some of the resources at a time during texture
eviction (as opposed all resources) is still not supported because the
texture upload queues cannot be only-partially invalidated yet.

Updated tests to take this behavior into account.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::reduceContentsTexturesMemoryOnImplThread):
(WebCore):
(WebCore::CCLayerTreeHost::getEvictedContentTexturesBackings):
(WebCore::CCLayerTreeHost::unlinkEvictedContentTexturesBackings):
(WebCore::CCLayerTreeHost::deleteEvictedContentTexturesBackings):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
(WebCore::CCLayerTreeHostImpl::setContentsTexturesPurged):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImplClient):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
(WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
(WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
(WebCore::CCPrioritizedTextureManager::evictBackingsToReduceMemory):
(WebCore::CCPrioritizedTextureManager::reduceMemory):
(WebCore::CCPrioritizedTextureManager::clearAllMemory):
(WebCore::CCPrioritizedTextureManager::reduceMemoryOnImplThread):
(WebCore::CCPrioritizedTextureManager::getEvictedBackings):
(WebCore::CCPrioritizedTextureManager::unlinkEvictedBackings):
(WebCore):
(WebCore::CCPrioritizedTextureManager::deleteEvictedBackings):
(WebCore::CCPrioritizedTextureManager::evictBackingResource):
* platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
(CCPrioritizedTextureManager):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::releaseContentsTexturesOnImplThread):
(WebCore):
(WebCore::CCSingleThreadProxy::commitAndComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::releaseContentsTexturesOnImplThread):
(WebCore):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(BeginFrameAndCommitState):
(CCThreadProxy):

Source/WebKit/chromium:

Update layer tree host impl test to include the extra interface functions
added to CCLayerTreeHostImplClient.

* tests/CCLayerTreeHostImplTest.cpp:

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

7 years ago[chromium] Add content_browsertests to the flakiness dashboard
adamk@chromium.org [Wed, 12 Sep 2012 18:24:39 +0000 (18:24 +0000)]
[chromium] Add content_browsertests to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=96535

Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/dashboard_base.js:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 12 Sep 2012 18:23:44 +0000 (18:23 +0000)]
Unreviewed GTK gardening.

Adding crash or other failure expectations for plenty of accessibility
tests as required after r128318.

* platform/gtk/TestExpectations:

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

7 years ago[BlackBerry] Add custom messages for input type validation.
mifenton@rim.com [Wed, 12 Sep 2012 18:23:10 +0000 (18:23 +0000)]
[BlackBerry] Add custom messages for input type validation.
https://bugs.webkit.org/show_bug.cgi?id=96533

Reviewed by Antonio Gomes.

PR 179148.

Add validation messages for Email, MultipleEmail and Url.

Reviewed Internally by Nima Ghanavatian.

* platform/blackberry/LocalizedStringsBlackBerry.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 18:11:16 +0000 (18:11 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Unreviewed build fix.

Removed temporarily added function signature.

* icu/unicode/unistr.h:
(UnicodeString::extract):

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 17:46:45 +0000 (17:46 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Unreviewed build fix.

Change UnicodeString::extract for gcc based on ICU fix described in
http://bugs.icu-project.org/trac/ticket/8197.

* icu/unicode/unistr.h:
(UnicodeString::extract):

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

7 years ago[WK2][WKTR] TestRunner needs to implement originsWithApplicationCache
commit-queue@webkit.org [Wed, 12 Sep 2012 17:42:23 +0000 (17:42 +0000)]
[WK2][WKTR] TestRunner needs to implement originsWithApplicationCache
https://bugs.webkit.org/show_bug.cgi?id=96496

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

Source/WebKit2:

Add Bundle C API to retrieve security origins with
an application cache. This is needed by WebKitTestRunner
to support originsWithApplicationCache.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleCopyOriginsWithApplicationCache):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::originsWithApplicationCache):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Add implementation for originsWithApplicationCache to
WebKitTestRunner.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::stringArrayToJS):
(WTR):
(WTR::TestRunner::originsWithApplicationCache):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Unskip http/tests/appcache/origins-with-appcache.html now that
WebKitTestRunner implements originsWithApplicationCache.

* platform/wk2/Skipped:

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

7 years ago[Chromium] Remove unused notifyFormStateChanged function in PlatformSupport
pilgrim@chromium.org [Wed, 12 Sep 2012 17:39:09 +0000 (17:39 +0000)]
[Chromium] Remove unused notifyFormStateChanged function in PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=96527

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* platform/chromium/PlatformSupport.h:
(PlatformSupport):

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

7 years ago[CSS Exclusions] Test incremental layout
commit-queue@webkit.org [Wed, 12 Sep 2012 17:32:37 +0000 (17:32 +0000)]
[CSS Exclusions] Test incremental layout
https://bugs.webkit.org/show_bug.cgi?id=91879

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

Adding tests to make sure that text and shape can be set dynamically, and that
content will still layout while respecting shape-inside.

* fast/exclusions/shape-inside/shape-inside-dynamic-shape-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-dynamic-shape.html: Added.
* fast/exclusions/shape-inside/shape-inside-dynamic-text-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-dynamic-text.html: Added.

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

7 years ago[CSSRegions]Shrink RenderFlowThread size by using bit flags
mihnea@adobe.com [Wed, 12 Sep 2012 17:25:27 +0000 (17:25 +0000)]
[CSSRegions]Shrink RenderFlowThread size by using bit flags
https://bugs.webkit.org/show_bug.cgi?id=96503

Reviewed by Andreas Kling.

Use bit fields instead of full bool.

No new functionality, just refactoring. Functionality covered by existing tests in fast/regions.

* rendering/RenderFlowThread.h:

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

7 years ago[CSS Shaders] Remove direct texture access via u_texture
commit-queue@webkit.org [Wed, 12 Sep 2012 17:23:06 +0000 (17:23 +0000)]
[CSS Shaders] Remove direct texture access via u_texture
https://bugs.webkit.org/show_bug.cgi?id=93871

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-09-12
Reviewed by Dean Jackson.

Source/WebCore:

Remove the author-accessible "u_texture" sampler, which referenced the DOM element texture.

Additionally, reject shaders with author-defined sampler uniforms. When we implement texture
parameters, we will allow shaders whose samplers are bound to valid textures. We must not
allow OpenGL to give unbound samplers a default value of 0 because that references the DOM
element texture, which should be inaccessible to the author's shader code.

Test: css3/filters/custom/custom-filter-no-element-texture-access.html

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::getValidationResultValue):
    Add a file-static function to easily query the integer values that ANGLE exposes about
    the last validation result. The new getUniforms method and the existing
    validateShaderSource method now both use getValidationResultValue.
(WebCore):
(WebCore::ANGLEWebKitBridge::validateShaderSource):
    Use the new getValidationResultValue function instead of ANGLE's ShGetInfo function.
(WebCore::ANGLEWebKitBridge::getUniforms):
    Add a new public method to ANGLEWebKitBridge which gets the info about all of the
    uniforms in the last validated vertex shader or fragment shader. Uniform info includes
    name, type, and size.
* platform/graphics/ANGLEWebKitBridge.h:
(ANGLEShaderSymbol):
(WebCore::ANGLEShaderSymbol::isSampler):
    Returns true if the symbol's data type is a GLSL sampler (e.g. sampler2D, samplerCube).
(WebCore):
(ANGLEWebKitBridge):
* platform/graphics/filters/CustomFilterCompiledProgram.cpp:
(WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
    Take in an additional programType constructor parameter.
(WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
    Remove the author-accessible DOM element texture sampler "u_texture". Only find the
    location of the internal DOM element texture sampler "css_u_texture" if the author is
    using the CSS mix function.
* platform/graphics/filters/CustomFilterCompiledProgram.h:
* platform/graphics/filters/CustomFilterProgramInfo.h:
(CustomFilterProgramInfo):
(WebCore::CustomFilterProgramInfo::programType):
    Add the new CustomFilterProgramType enum. In CustomFilterProgramInfo, we plan to replace
    mixSettings.enabled with a programType. See:
    https://bugs.webkit.org/show_bug.cgi?id=96448
* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
    Reject all shaders that have sampler uniforms defined.
(WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
(WebCore::CustomFilterValidatedProgram::compiledProgram):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::bindProgramAndBuffers):
    Add an assert to verify that the DOM element texture is bound only if the author is
    using the CSS mix function.

LayoutTests:

Add tests to verify that the "u_texture" sampler is no longer accessible to author shader
code because it was removed. These tests also verify that shaders with unbound samplers do
not execute.

Add tests to verify that the internal "css_u_texture" sampler is not accessible to author
shader code. These tests check that this is true whether or not the author is using the CSS
mix function and whether or not the author attempts to define css_u_texture is his or her
shader.

* css3/filters/custom/custom-filter-no-element-texture-access-expected.html: Added.
* css3/filters/custom/custom-filter-no-element-texture-access.html: Added.
* css3/filters/resources/sample-defined-css-u-texture-mix.fs: Added.
* css3/filters/resources/sample-defined-css-u-texture.fs: Added.
* css3/filters/resources/sample-u-texture-mix.fs: Added.
* css3/filters/resources/sample-u-texture.fs: Added.
* css3/filters/resources/sample-undefined-css-u-texture-mix.fs: Added.
* css3/filters/resources/sample-undefined-css-u-texture.fs: Added.

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

7 years agoFix Qt/Windows build with Python3
commit-queue@webkit.org [Wed, 12 Sep 2012 17:20:04 +0000 (17:20 +0000)]
Fix Qt/Windows build with Python3
https://bugs.webkit.org/show_bug.cgi?id=96473

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Csaba Osztrogonác.

In Python 3 print is a real function, so we must use parentheses around
the function parameters. This is backwards compatible with Python 2.

* Scripts/generate-win32-export-forwards:

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

7 years agoAssert hit in is multiSelectable()
dmazzoni@google.com [Wed, 12 Sep 2012 16:57:16 +0000 (16:57 +0000)]
Assert hit in is multiSelectable()
https://bugs.webkit.org/show_bug.cgi?id=96530

Reviewed by Chris Fleizach.

Fix crash if element isn't a select element.

This bug slipped through in a refactoring change (bug 96323).
Covered by existing tests.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isMultiSelectable):

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

7 years ago[Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced...
morrita@google.com [Wed, 12 Sep 2012 16:54:55 +0000 (16:54 +0000)]
[Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced with a node flag.
https://bugs.webkit.org/show_bug.cgi?id=96450

Reviewed by Dimitri Glazkov.

This change gets rid of NodeRareData::m_numberOfScopedHTMLStyleChildren
by replacing it with a Node flag called HasScopedHTMLStyleChildFlag.
Instead of tracking the number of certain node, this chagne compute the number
when necessary.

Now we no longer need to hit rareData() for each hasScopedHTMLStyleChild() call.
Note that because such a re-counting occurs only when the scoped <style> elements
leave the tree, the performance impact is negligible.

No new tests. Covered by existing tests.

* dom/Node.cpp:
(WebCore):
* dom/Node.h:
(WebCore::Node::hasScopedHTMLStyleChild):
(WebCore::Node::setHasScopedHTMLStyleChild):
(Node):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::isRegisteredAsScoped):
(WebCore):
(WebCore::Node::registerScopedHTMLStyleChild):
(WebCore::Node::unregisterScopedHTMLStyleChild):
(WebCore::Node::numberOfScopedHTMLStyleChildren):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/HTMLStyleElement.h:
(HTMLStyleElement):

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

7 years agoRemove transient state regarding uknown pseudoelements from SelectorChecker.
dglazkov@chromium.org [Wed, 12 Sep 2012 16:50:33 +0000 (16:50 +0000)]
Remove transient state regarding uknown pseudoelements from SelectorChecker.
https://bugs.webkit.org/show_bug.cgi?id=96425

Reviewed by Eric Seidel.

The fact that an unknown pseudoelement was found when checking selector was stored as extra state on SelectorChecker. That's bad,
because this state is at odds with the lifecycle of the instance and had to be explicitly reset prior to each checking. To address
this, I made checkSelector report the value as its result (by-ref parameter, actually).

No new tests, refactoring only. Covered by existing tests.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::SelectorChecker): Removed the now-unneded state initialization.
(WebCore::SelectorChecker::checkSelector): Changed to take extra parameter.
(WebCore):
(WebCore::SelectorChecker::checkOneSelector): Ditto.
* css/SelectorChecker.h:
(SelectorChecker): Changed decls accordingly.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver): Added state to StyleResolver.
(WebCore::StyleResolver::collectMatchingRulesForList): Changed to use own state, rather than StyleChecker's state.
* css/StyleResolver.h:
(StyleResolver): Moved state here from StyleChecker.

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

7 years agoUnreviewed trivial build fix for Qt/Windows
hausmann@webkit.org [Wed, 12 Sep 2012 16:43:17 +0000 (16:43 +0000)]
Unreviewed trivial build fix for Qt/Windows

As pointed out by Kevin, we should inject the "set PATH=..." statement
to add the GnuWin32 directory only if that directory actually exists.

* qmake/mkspecs/features/default_post.prf:

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

7 years ago[EFL] [WK2] Memory leaks in TestControllerEfl
commit-queue@webkit.org [Wed, 12 Sep 2012 16:41:58 +0000 (16:41 +0000)]
[EFL] [WK2] Memory leaks in TestControllerEfl
https://bugs.webkit.org/show_bug.cgi?id=96525

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-09-12
Reviewed by Kenneth Rohde Christiansen.

Fix memory leaks in EFL's TestRunner code by adopting an allocation
of WKString created with WKStringCreateWithUTF8CString().

* WebKitTestRunner/efl/TestControllerEfl.cpp:
(WTR::TestController::initializeInjectedBundlePath):
(WTR::TestController::initializeTestPluginDirectory):

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

7 years ago[WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
commit-queue@webkit.org [Wed, 12 Sep 2012 16:38:16 +0000 (16:38 +0000)]
[WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
https://bugs.webkit.org/show_bug.cgi?id=96374

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

Source/WebKit2:

Add Bundle C API to reset the application cache quota
for a given origin.

Add new reachedApplicationCacheOriginQuota callback
to WKBundlePageUIClient which is called from
WebChromeClient::reachedApplicationCacheOriginQuota().

Those are needed by WebKitTestRunner to dump
information about the application cache callbacks
if instructed to.

* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetApplicationCacheOriginQuota):
(WKBundleResetApplicationCacheOriginQuota):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
(WebKit):
(InjectedBundlePageUIClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
* win/WebKit2.def:
* win/WebKit2CFLite.def:

Tools:

Implement support for dumpApplicationCacheDelegateCallbacks
and disallowIncreaseForApplicationCacheQuota in
WebKitTestRunner and properly dump the information
expected by the tests.

If the application cache quota is reached for a given
security origin, WebKitTestRunner will reset the quota
to its default value, unless intructed not to via
disallowIncreaseForApplicationCacheQuota().

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
(InjectedBundlePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner):
(WTR::TestRunner::disallowIncreaseForApplicationCacheQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpApplicationCacheDelegateCallbacks):
(TestRunner):
(WTR::TestRunner::shouldDisallowIncreaseForApplicationCacheQuota):
(WTR::TestRunner::shouldDumpApplicationCacheDelegateCallbacks):

LayoutTests:

Unskip test cases that are passing now that WebKitTestRunner
implements dumpApplicationCacheDelegateCallbacks and
disallowIncreaseForApplicationCacheQuota.

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

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

7 years ago[CSSRegions]Use RefPtr's instead of weak references on DOMNamedFlowCollection
commit-queue@webkit.org [Wed, 12 Sep 2012 16:30:04 +0000 (16:30 +0000)]
[CSSRegions]Use RefPtr's instead of weak references on DOMNamedFlowCollection
https://bugs.webkit.org/show_bug.cgi?id=95311

Patch by Andrei Onea <onea@adobe.com> on 2012-09-12
Reviewed by Andreas Kling.

Source/WebCore:

Currently, DOMNamedFlowCollection holds a collection of raw pointers to WebKitNamedFlow.
This causes a crash when there is a JS instance of a NamedFlowCollection snapshot taken
before the NamedFlow is deleted, since the memory previously occupied by the NamedFlow
can be accessed. Because of this, we need to use RefPtr's for the snapshot, so that such
dangling references extend the lifetime of the NamedFlow objects.

Test: fast/regions/webkit-named-flow-collection-crash.html

* dom/DOMNamedFlowCollection.cpp:
(WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
(WebCore::DOMNamedFlowCollection::item):
(WebCore::DOMNamedFlowCollection::namedItem):
(WebCore):
(WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::hash):
(WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::equal):
(DOMNamedFlowCollection::DOMNamedFlowHashFunctions):
(WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::hash):
(WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::equal):
Create new internal ListHashSet for RefPtr<WebKitNamedFlow>.
* dom/DOMNamedFlowCollection.h:
(WebCore::DOMNamedFlowCollection::create):
(DOMNamedFlowCollection):
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::createCSSOMSnapshot):
(WebCore):
(WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash):
(WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal):
(NamedFlowCollection::NamedFlowHashFunctions):
(WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash):
(WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal):
Move back the definitions for NamedFlowHashFunctions and NamedFlowHashTranslator
to the .cpp file.
* dom/NamedFlowCollection.h:
(NamedFlowCollection):

LayoutTests:

Added test for crash which occurs when there is a raw pointer to a NamedFlow
(in a NamedFlowCollection) which has been freed.

* fast/regions/webkit-named-flow-collection-crash-expected.txt: Added.
* fast/regions/webkit-named-flow-collection-crash.html: Added.

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

7 years ago[chromium] remove deprecated and unused sets import from chromium_android driver
jochen@chromium.org [Wed, 12 Sep 2012 16:25:34 +0000 (16:25 +0000)]
[chromium] remove deprecated and unused sets import from chromium_android driver
https://bugs.webkit.org/show_bug.cgi?id=96485

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:

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

7 years ago[Shadow DOM] Unpolished elements should reject author shadows
morrita@google.com [Wed, 12 Sep 2012 16:16:14 +0000 (16:16 +0000)]
[Shadow DOM] Unpolished elements should reject author shadows
https://bugs.webkit.org/show_bug.cgi?id=96404

Reviewed by Dimitri Glazkov.

Source/WebCore:

Gave areAuthorShadowsAllowed() overrides for these replaced elements
which aren't author shadow ready.

No new tests. Covered by existing tests.

* html/HTMLCanvasElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLFieldSetElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLFrameElementBase.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLMediaElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLPlugInElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLSelectElement.h: Did areAuthorShadowsAllowed() overrride.

LayoutTests:

- Added setAuthorShadowDOMForAnyElementEnabled() calls to make tests works.
- UPdated shadow-disable.html to capture the disabled elements.

* fast/dom/shadow/shadow-disable-expected.txt:
* fast/dom/shadow/shadow-disable.html:
* fast/dom/shadow/shadowdom-for-fieldset-without-shadow.html:
* fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html:
* fast/dom/shadow/shadowdom-for-media.html:
* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Remove unused allowScriptDespiteSettings function from PlatformSupport
pilgrim@chromium.org [Wed, 12 Sep 2012 16:11:28 +0000 (16:11 +0000)]
[Chromium] Remove unused allowScriptDespiteSettings function from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=96526

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* platform/chromium/PlatformSupport.h:
(PlatformSupport):

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

7 years agoFlakiness dashboard doesn't recognize new Chromium Android test builder
zandobersek@gmail.com [Wed, 12 Sep 2012 16:06:55 +0000 (16:06 +0000)]
Flakiness dashboard doesn't recognize new Chromium Android test builder
https://bugs.webkit.org/show_bug.cgi?id=96523

Reviewed by Ojan Vafai.

Properly return 'ANDROID' as the Chromium platform for Android builders.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(chromiumPlatform):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(test):

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

7 years agoAX: Refactor most AccessibilityRenderObject code into AccessibilityNodeObject
dmazzoni@google.com [Wed, 12 Sep 2012 15:49:52 +0000 (15:49 +0000)]
AX: Refactor most AccessibilityRenderObject code into AccessibilityNodeObject
https://bugs.webkit.org/show_bug.cgi?id=96323

Reviewed by Chris Fleizach.

Source/WebCore:

This patch is large, but it's at least 75% cut-and-paste.

All it does is move the implementation of a large chunk of
AccessibilityRenderObject methods to AccessibilityNodeObject
instead. This allows them to operate on elements without
renderers, such as those in canvas fallback content. It also
moves us towards the goal where AccessibilityRenderObject
only has code that's specific to renderers and not just nodes.

Half of the methods cut and paste with essentially no changes.
Some required just tiny changes to access an attribute via the
element (e.g. HTMLSelectElement) rather than its associated
renderer (e.g. RenderMenuList). A few were a little trickier,
as the behavior needs to be slightly different when there's a
renderer. In those last cases, as much of the code as possible is
in AccessibilityNodeObject and AccessibilityRenderObject overrides
it as necessary.

Test: accessibility/canvas-fallback-content-2.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore):
(WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
(WebCore::AccessibilityNodeObject::isWebArea):
(WebCore::AccessibilityNodeObject::isImageButton):
(WebCore::AccessibilityNodeObject::isAnchor):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isSearchField):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isImage):
(WebCore::AccessibilityNodeObject::isPasswordField):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isProgressIndicator):
(WebCore::AccessibilityNodeObject::isSlider):
(WebCore::AccessibilityNodeObject::isMenuRelated):
(WebCore::AccessibilityNodeObject::isMenu):
(WebCore::AccessibilityNodeObject::isMenuBar):
(WebCore::AccessibilityNodeObject::isMenuButton):
(WebCore::AccessibilityNodeObject::isMenuItem):
(WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
(WebCore::AccessibilityNodeObject::isEnabled):
(WebCore::AccessibilityNodeObject::isIndeterminate):
(WebCore::AccessibilityNodeObject::isPressed):
(WebCore::AccessibilityNodeObject::isChecked):
(WebCore::AccessibilityNodeObject::isHovered):
(WebCore::AccessibilityNodeObject::isMultiSelectable):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::isRequired):
(WebCore::AccessibilityNodeObject::headingLevel):
(WebCore::AccessibilityNodeObject::valueDescription):
(WebCore::AccessibilityNodeObject::isARIARange):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::AccessibilityNodeObject::stepValueForRange):
(WebCore::AccessibilityNodeObject::isHeading):
(WebCore::AccessibilityNodeObject::isLink):
(WebCore::AccessibilityNodeObject::isControl):
(WebCore::AccessibilityNodeObject::isFieldset):
(WebCore::AccessibilityNodeObject::isGroup):
(WebCore::AccessibilityNodeObject::selectedRadioButton):
(WebCore::AccessibilityNodeObject::selectedTabItem):
(WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::actionElement):
(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
(WebCore::AccessibilityNodeObject::alterSliderValue):
(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):
(WebCore::AccessibilityNodeObject::changeValueByStep):
(WebCore::AccessibilityNodeObject::changeValueByPercent):
(WebCore::AccessibilityNodeObject::isGenericFocusableElement):
(WebCore::AccessibilityNodeObject::labelForElement):
(WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
(WebCore::siblingWithAriaRole):
(WebCore::AccessibilityNodeObject::menuElementForMenuButton):
(WebCore::AccessibilityNodeObject::menuForMenuButton):
(WebCore::AccessibilityNodeObject::menuItemElementForMenu):
(WebCore::AccessibilityNodeObject::menuButtonForMenu):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
(WebCore::AccessibilityNodeObject::helpText):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::AccessibilityNodeObject::stringValue):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
(WebCore::AccessibilityNodeObject::elementsFromAttribute):
(WebCore::AccessibilityNodeObject::ariaLabeledByElements):
(WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
(WebCore::AccessibilityNodeObject::node):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore):
(WebCore::AccessibilityRenderObject::isReadOnly):
(WebCore::AccessibilityRenderObject::helpText):
(WebCore::AccessibilityRenderObject::accessibilityDescription):
(WebCore::AccessibilityRenderObject::text):
(WebCore::AccessibilityRenderObject::contentChanged):
(WebCore::AccessibilityRenderObject::canHaveChildren):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::setRenderObject):

LayoutTests:

New test that compares accessibility attributes of lots of elements
inside and outside of canvas fallback content, to make sure they're
the same. Designed to be cross-platform because it just asserts the
attributes are the same in both contexts, rather than expecting specific
values.

* accessibility/canvas-fallback-content-2-expected.txt: Added.
* accessibility/canvas-fallback-content-2.html: Added.

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

7 years agoText Autosizing: Don't autosize text in constrained height elements.
commit-queue@webkit.org [Wed, 12 Sep 2012 15:47:37 +0000 (15:47 +0000)]
Text Autosizing: Don't autosize text in constrained height elements.
https://bugs.webkit.org/show_bug.cgi?id=96143

Patch by John Mellor <johnme@chromium.org> on 2012-09-12
Reviewed by Julien Chaffraix.

Source/WebCore:

Autosizing text within constained height elements usually goes badly,
as the autosized text will wrap onto more lines, hence it will become
taller and often overflow its container, breaking the page's layout.

This patch disables autosizing for blocks with a fixed height ancestor
(or which are fixed height themselves), unless the lowest such ancestor
(or one of the ancestors in between it and the text block) has
overflow-y:auto/scroll, in which case the height isn't really fixed.

Tests: fast/text-autosizing/constrained-and-overflow-auto-ancestor.html
       fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html
       fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html
       fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html
       fast/text-autosizing/constrained-height-ancestor.html
       fast/text-autosizing/constrained-maxheight-ancestor.html
       fast/text-autosizing/constrained-maxheight.html
       fast/text-autosizing/constrained-percent-maxheight.html
       fast/text-autosizing/constrained-percent-of-viewport-maxheight.html
       fast/text-autosizing/constrained-then-overflow-ancestors.html
       fast/text-autosizing/constrained-then-overflow-then-positioned-ancestors.html
       fast/text-autosizing/constrained-then-position-absolute-ancestors.html
       fast/text-autosizing/constrained-then-position-fixed-ancestors.html
       fast/text-autosizing/constrained-within-overflow-ancestor.html

* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processBox):

    Skips boxes for which contentHeightIsConstrained returns true.

(WebCore::TextAutosizer::contentHeightIsConstrained):

    Walks up the render tree until it finds either a constrained height
    or overflow-y:auto/scroll ancestor.

LayoutTests:

Added tests with various kinds, orders and nestings of constrained
height, overflow-y and positioned elements.

* fast/text-autosizing/constrained-and-overflow-auto-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-and-overflow-auto-ancestor.html: Added.
* fast/text-autosizing/constrained-and-overflow-hidden-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html: Added.
* fast/text-autosizing/constrained-and-overflow-paged-x-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html: Added.
* fast/text-autosizing/constrained-and-overflow-scroll-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html: Added.
* fast/text-autosizing/constrained-height-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-height-ancestor.html: Added.
* fast/text-autosizing/constrained-maxheight-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-maxheight-ancestor.html: Added.
* fast/text-autosizing/constrained-maxheight-expected.html: Added.
* fast/text-autosizing/constrained-maxheight.html: Added.
* fast/text-autosizing/constrained-percent-maxheight-expected.html: Added.
* fast/text-autosizing/constrained-percent-maxheight.html: Added.
* fast/text-autosizing/constrained-percent-of-viewport-maxheight-expected.html: Added.
* fast/text-autosizing/constrained-percent-of-viewport-maxheight.html: Added.
* fast/text-autosizing/constrained-then-overflow-ancestors-expected.html: Added.
* fast/text-autosizing/constrained-then-overflow-ancestors.html: Added.
* fast/text-autosizing/constrained-then-overflow-then-positioned-ancestors-expected.html: Added.
* fast/text-autosizing/constrained-then-overflow-then-positioned-ancestors.html: Added.
* fast/text-autosizing/constrained-then-position-absolute-ancestors-expected.html: Added.
* fast/text-autosizing/constrained-then-position-absolute-ancestors.html: Added.
* fast/text-autosizing/constrained-then-position-fixed-ancestors-expected.html: Added.
* fast/text-autosizing/constrained-then-position-fixed-ancestors.html: Added.
* fast/text-autosizing/constrained-within-overflow-ancestor-expected.html: Added.
* fast/text-autosizing/constrained-within-overflow-ancestor.html: Added.

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

7 years ago[Chromium] Remove unused getProcessMemorySize from PlatformSupport
pilgrim@chromium.org [Wed, 12 Sep 2012 15:44:18 +0000 (15:44 +0000)]
[Chromium] Remove unused getProcessMemorySize from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=96520

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* platform/chromium/PlatformSupport.h:
(PlatformSupport):

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

7 years ago[Qt] Segmentation fault when closing QtTestBrowser
commit-queue@webkit.org [Wed, 12 Sep 2012 15:36:45 +0000 (15:36 +0000)]
[Qt] Segmentation fault when closing QtTestBrowser
https://bugs.webkit.org/show_bug.cgi?id=95003

Patch by Roland Takacs <rtakacs@inf.u-szeged.hu> on 2012-09-12
Reviewed by Simon Hausmann.

Source/WebCore:

Defined a new QObject* variable.
If WebKit1 is used, it points to the QGLWidget that was
created in 'createPlatformGraphicsContext3DFromWidget'.
If WebKit2 is used, it points to the QWindow that was
created in GraphicsContext3DPrivate's constructor.
It is neccessary for deallocating them.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
* platform/qt/QWebPageClient.h:
(QWebPageClient):

Source/WebKit/qt:

Defined a new QObject* variable that points to the QGLWidget that was created
in 'createPlatformGraphicsContext3DFromWidget'.
It is neccessary for deallocating it.

* WebCoreSupport/PageClientQt.cpp:
(createPlatformGraphicsContext3DFromWidget):
(WebCore::PageClientQWidget::createPlatformGraphicsContext3D):
(WebCore::PageClientQGraphicsWidget::createPlatformGraphicsContext3D):
* WebCoreSupport/PageClientQt.h:
(PageClientQWidget):
(PageClientQGraphicsWidget):

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

7 years agoMark new test fast/filesystem/workers/detached-frame-crash.html
adamk@chromium.org [Wed, 12 Sep 2012 15:34:37 +0000 (15:34 +0000)]
Mark new test fast/filesystem/workers/detached-frame-crash.html
as flakily crashing in cr-win & cr-linux debug builds.

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years ago[EFL] Fix build break when netscape-plugin-api is enebled after r126971
ryuan.choi@samsung.com [Wed, 12 Sep 2012 15:32:48 +0000 (15:32 +0000)]
[EFL] Fix build break when netscape-plugin-api is enebled after r126971
https://bugs.webkit.org/show_bug.cgi?id=96513

Unreviewed build fix.

* plugins/efl/PluginViewEfl.cpp:
(WebCore::PluginView::platformGetValue):

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

7 years ago[BlackBerry] Use own instance of CertMgrWrapper in BlackBerry CredentialBackingStore.
commit-queue@webkit.org [Wed, 12 Sep 2012 15:21:46 +0000 (15:21 +0000)]
[BlackBerry] Use own instance of CertMgrWrapper in BlackBerry CredentialBackingStore.
https://bugs.webkit.org/show_bug.cgi?id=96457
Internal PR: 205769

Internally reviewed by George Staikos, Jonathan Dong.
Patch by Lianghui Chen <liachen@rim.com> on 2012-09-12
Reviewed by George Staikos.

CertMgrWrapper in BlackBerry platform layer has been changed from
singleton to normal class, every user of it need to create its own
instance now.

No new tests for platform specific interface change.

* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::CredentialBackingStore::CredentialBackingStore):
(WebCore::CredentialBackingStore::~CredentialBackingStore):
(WebCore::CredentialBackingStore::addLogin):
(WebCore::CredentialBackingStore::updateLogin):
(WebCore::CredentialBackingStore::getLogin):
(WebCore::CredentialBackingStore::certMgrWrapper):
(WebCore):
* platform/network/blackberry/CredentialBackingStore.h:
(Platform):
(CredentialBackingStore):

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

7 years ago[EFL] Avoid manual memory management in RenderThemeEfl
kenneth@webkit.org [Wed, 12 Sep 2012 15:08:07 +0000 (15:08 +0000)]
[EFL] Avoid manual memory management in RenderThemeEfl
https://bugs.webkit.org/show_bug.cgi?id=96501

Reviewed by Simon Hausmann.

Use OwnPtr as it works for Evas_Object and Evas_Ecore objects.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::themePath):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::~RenderThemeEfl):
(WebCore::RenderThemeEfl::emitMediaButtonSignal):
* platform/efl/RenderThemeEfl.h:
(WebCore::RenderThemeEfl::canvas):
(WebCore::RenderThemeEfl::edje):
(RenderThemeEfl):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::canvas):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::edje):
(ThemePartCacheEntry):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 12 Sep 2012 15:04:00 +0000 (15:04 +0000)]
Unreviewed GTK gardening.

Adding baseline for an accessibility test introduced in r128227.

Adding a text mismatch failure expectation for fast/events/popup-blocking-timers.html
that started failing after the test was refactored in r128270.

* platform/gtk/TestExpectations:
* platform/gtk/accessibility/img-fallsback-to-title-expected.txt: Added.

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

7 years agogetScreenCTM returns different values depending on zoom
fmalita@chromium.org [Wed, 12 Sep 2012 14:36:26 +0000 (14:36 +0000)]
getScreenCTM returns different values depending on zoom
https://bugs.webkit.org/show_bug.cgi?id=96361

Reviewed by Dirk Schulze.

Source/WebCore:

SVGSVGElement::localCoordinateSpaceTransform() needs to adjust for the
zoom level (which is already factored into CSS coordinates) at the
SVG/HTML boundary.

Test: svg/zoom/page/zoom-get-screen-ctm.html

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):

LayoutTests:

* svg/zoom/page/zoom-get-screen-ctm-expected.txt: Added.
* svg/zoom/page/zoom-get-screen-ctm.html: Added.

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

7 years ago[Qt] Build on Windows requires bison/flex in PATH
commit-queue@webkit.org [Wed, 12 Sep 2012 14:35:03 +0000 (14:35 +0000)]
[Qt] Build on Windows requires bison/flex in PATH
https://bugs.webkit.org/show_bug.cgi?id=96358

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Tor Arne Vestbø.

Source/ThirdParty/ANGLE:

Use MAKEFILE_NOOP_COMMAND instead of the \n\t trick to generate a dummy command. Otherwise
the PATH prepend trick will break because it generates a command line along the lines of
(set PATH="...") && with just that trailing ampersand pair.

* DerivedSources.pri:

Tools:

The build requires flex, bison, etc. and they need to be in the PATH when building. On Mac OS X
and Linux that is rarely a problem given how easily available the tools are. On Windows however
a separate installation of various GNU tools is required as the operating system doesn't come with
them. To make the development more convenient, Qt 5 provides a copy of the most essential tools in
the gnuwin32 directory of the qt5.git top-level repository.

This patch tries to detect the presence of those tools and prepends them to the PATH if found.

This is required in preparation for the elimination of qt5/qtwebkit.pri, which currently expands
PATH before calling build-webkit. It it also required for the upcoming introduction of win_flex
as dependency over flex, which can be done with less hassle when qt5's gnuwin32 directory has been
updated with the new tool.

* Scripts/webkitdirs.pm:
(checkRequiredSystemConfig):
* qmake/mkspecs/features/default_post.prf:

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

7 years ago[Qt] Drastically shorten length of commandline needed for JS bindings generator
commit-queue@webkit.org [Wed, 12 Sep 2012 14:26:31 +0000 (14:26 +0000)]
[Qt] Drastically shorten length of commandline needed for JS bindings generator
https://bugs.webkit.org/show_bug.cgi?id=96266

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Tor Arne Vestbø.

The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
lookups, which allows specifying relative include search directories.

* DerivedSources.pri:

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

7 years agoUnreviewed gardening. These tests should have been unskipped when fixed.
allan.jensen@nokia.com [Wed, 12 Sep 2012 14:14:54 +0000 (14:14 +0000)]
Unreviewed gardening. These tests should have been unskipped when fixed.
https://bugs.webkit.org/show_bug.cgi?id=93246

* platform/qt/Skipped:

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

7 years ago[Qt] Update build-jsc after r128174
vestbo@webkit.org [Wed, 12 Sep 2012 14:11:01 +0000 (14:11 +0000)]
[Qt] Update build-jsc after r128174

Reviewed by Ossy.

* Scripts/build-jsc:

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

7 years ago[Qt] Teach addStrictSubdirOrderBetween to handle more than two targets
vestbo@webkit.org [Wed, 12 Sep 2012 14:10:42 +0000 (14:10 +0000)]
[Qt] Teach addStrictSubdirOrderBetween to handle more than two targets

By hard-coding the names of the targets we defined we ended up just
redefining the previous target when using addStrictSubdirOrderBetween
more than once in a single project file.

We now embed the two base targets into the target names.

Reviewed by Simon Hausmann.

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

7 years agoRemove last call to numberToString() from WebCore code
paroga@webkit.org [Wed, 12 Sep 2012 13:51:02 +0000 (13:51 +0000)]
Remove last call to numberToString() from WebCore code
https://bugs.webkit.org/show_bug.cgi?id=96484

Reviewed by Kentaro Hara.

Replace WTF::numberToString() with String::numberToStringECMAScript() to remove duplicated
code. Using the new function allows us to improve and/or remove numberToString() without
changing all caller sides later. Also remove an unneeded strlen() in the touched code.

* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setNamedHiddenReference):
* bindings/v8/V8DependentRetained.h:
(WebCore::V8DependentRetained::createPropertyName):
* bindings/v8/V8HiddenPropertyName.cpp:
(WebCore::V8HiddenPropertyName::hiddenReferenceName):
* bindings/v8/V8HiddenPropertyName.h:
(V8HiddenPropertyName):

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

7 years agoUnreviewed, rolling out r128221.
zandobersek@gmail.com [Wed, 12 Sep 2012 13:17:15 +0000 (13:17 +0000)]
Unreviewed, rolling out r128221.
http://trac.webkit.org/changeset/128221
https://bugs.webkit.org/show_bug.cgi?id=96504

The rollout was incorrect. (Requested by zdobersek on
#webkit).

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

Source/WebCore:

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

LayoutTests:

* http/tests/misc/non-utf8-header-name-expected.txt: Added.
* http/tests/misc/non-utf8-header-name.php: Added.

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

7 years agoUnreviewed. Touch two files for fixing broken compile dependency on Apple Windows...
loislo@chromium.org [Wed, 12 Sep 2012 13:16:31 +0000 (13:16 +0000)]
Unreviewed. Touch two files for fixing broken compile dependency on Apple Windows Debug bot.

* css/StyleResolver.cpp:
* loader/FrameLoader.cpp:

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

7 years agoWeb Inspector: NMI move String* instrumentation to wtf.
loislo@chromium.org [Wed, 12 Sep 2012 12:50:10 +0000 (12:50 +0000)]
Web Inspector: NMI move String* instrumentation to wtf.
https://bugs.webkit.org/show_bug.cgi?id=96405

Reviewed by Yury Semikhatsky.

This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.

Source/WebCore:

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCore):

Source/WebKit/chromium:

Tested by webkit_unit_tests.

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

Source/WTF:

Tested by webkit_unit_tests.

* wtf/text/AtomicString.h:
(AtomicString):
(WTF::AtomicString::reportMemoryUsage):
* wtf/text/StringImpl.h:
(StringImpl):
(WTF::StringImpl::reportMemoryUsage):
* wtf/text/WTFString.h:
(String):
(WTF::String::reportMemoryUsage):

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

7 years agoDepend on {base,net} GYP targets rather than {base,net}_java.
commit-queue@webkit.org [Wed, 12 Sep 2012 12:43:40 +0000 (12:43 +0000)]
Depend on {base,net} GYP targets rather than {base,net}_java.
https://bugs.webkit.org/show_bug.cgi?id=95690

Patch by Philippe Liard <pliard@google.com> on 2012-09-12
Reviewed by Adam Barth.

Source/WebKit/chromium:

{base,net}_java became 'private' targets on the Chromium side that
clients should not depend on (see
https://chromiumcodereview.appspot.com/10913083/).
This also adds the missing 'chromium_net.jar' to |input_jars_paths|
that was magically included in Chrome for Android downstream but not
upstream. It's needed to register JNI for 'net' in webkit_unit_tests.

* WebKitUnitTests.gyp:

Tools:

{base,net}_java became 'private' targets on the Chromium side that
clients should not depend on (see
https://chromiumcodereview.appspot.com/10913083/).
This removes a bunch of trailing white spaces additionally in
TestWebkitAPI.gyp (which includes non-trailing white space changes).

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

7 years ago[GStreamer] Audio device not closed after playing sound
philn@webkit.org [Wed, 12 Sep 2012 12:33:23 +0000 (12:33 +0000)]
[GStreamer] Audio device not closed after playing sound
https://bugs.webkit.org/show_bug.cgi?id=89122

Reviewed by Martin Robinson.

Set the GStreamer pipeline to NULL instead of PAUSED on EOS. This
allows the audio-sink to release its connection to the audio
device. This is done only if the Media element is not
looping. To make the MediaPlayerPrivate layer aware of that
information the MediaPlayerClient interface was updated with a new
method mediaPlayerIsLooping, implemented by the HTMLMediaElement.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerIsLooping): Implementation of
MediaPlayerClient::mediaPlayerLoop, proxies to ::loop();
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerIsLooping): New method allowing
the MediaPlayer and its backend to know if a playback loop is
requested by the client.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition): Report
seek time or media duration if EOS was reached. These early
returns are needed because the position query doesn't work on a
NULL pipeline.
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
Refactored to use an early return.
(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Reset the
seeking flag.
(WebCore::MediaPlayerPrivateGStreamer::play): reset m_isEndReached.
(WebCore::MediaPlayerPrivateGStreamer::pause): Don't pause on EOS.
(WebCore::MediaPlayerPrivateGStreamer::seek): Refactor, call
currentTime() after we're sure playbin is valid and no error occured.
(WebCore::MediaPlayerPrivateGStreamer::paused): Fake paused state
on EOS.

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

7 years ago[Qt] Fix the build with ENABLE_NETSCAPE_PLUGIN_API=0
commit-queue@webkit.org [Wed, 12 Sep 2012 12:32:29 +0000 (12:32 +0000)]
[Qt] Fix the build with ENABLE_NETSCAPE_PLUGIN_API=0
https://bugs.webkit.org/show_bug.cgi?id=96494

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Tor Arne Vestbø.

WK2's ENABLE_PLUGIN_PROCESS uses the NPAPI functions unconditionally, so disable the
plugin process feature if we don't have NPAPI.

* qmake/mkspecs/features/features.prf:

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

7 years agoUnreviewed, rolling out r128280.
loislo@chromium.org [Wed, 12 Sep 2012 12:15:32 +0000 (12:15 +0000)]
Unreviewed, rolling out r128280.
http://trac.webkit.org/changeset/128280
https://bugs.webkit.org/show_bug.cgi?id=96498

it broke compilation on windows debug bot (Requested by loislo
on #webkit).

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

Source/WebKit2:

* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetApplicationCacheOriginQuota):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
(WebKit):
(InjectedBundlePageUIClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):

Tools:

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

LayoutTests:

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

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

7 years ago[Qt] Make it possible to build with "make release" and "make debug" on Windows
commit-queue@webkit.org [Wed, 12 Sep 2012 12:13:50 +0000 (12:13 +0000)]
[Qt] Make it possible to build with "make release" and "make debug" on Windows
https://bugs.webkit.org/show_bug.cgi?id=96488

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Tor Arne Vestbø.

A "make debug" is passed through recursively and currently it aborts at Makefile.DerivedSources
because there are no such targets. We want the generated sources to be independent from release
or debug build configurations, so it is sufficient to provide fake debug and release targets that
redirect to the same general-purpose target (first) of creating the derived sources.

* qmake/mkspecs/features/default_post.prf:

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

7 years ago[Qt] Build on X11 with GraphicsSurface but without NPAPI is broken
commit-queue@webkit.org [Wed, 12 Sep 2012 12:10:20 +0000 (12:10 +0000)]
[Qt] Build on X11 with GraphicsSurface but without NPAPI is broken
https://bugs.webkit.org/show_bug.cgi?id=96495

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Kenneth Rohde Christiansen.

When enabling NPAPI we link against XRender on X11. The other component that needs Xrender
is GraphicsSurface. So when building without NPAPI we need to make sure that we link in Xrender.

This patch cleans up the GraphicsSurface related linkage required on Mac OS X and X11 by wrapping
it in use?(graphics_surface) instead of 3D_GRAPHICS. It is not neccesary to perform the have?(XCOMPOSITE)
check anymore because it's already done in features.prf before enabling use_graphics_surface in the
first place.

* WebCore.pri:

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

7 years agoWeb Inspector: Protocol Extension: Add "regionLayoutUpdate" event
commit-queue@webkit.org [Wed, 12 Sep 2012 12:07:24 +0000 (12:07 +0000)]
Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
https://bugs.webkit.org/show_bug.cgi?id=93443

Patch by Andrei Poenaru <poenaru@adobe.com> on 2012-09-12
Reviewed by Alexander Pavlov.

Source/WebCore:

Added "regionLayoutUpdate" event to the protocol.

Removed "getFlowByName" from protocol.

The front-end keeps in sync the requested Named Flow Collections.

Modified existing test: inspector/styles/protocol-css-regions-commands.html

* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::ensureFlowWithName):
(WebCore::NamedFlowCollection::discardNamedFlow):
* inspector/Inspector.json:
* inspector/InspectorCSSAgent.cpp:
(UpdateRegionLayoutTask):
(WebCore):
(WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
(WebCore::UpdateRegionLayoutTask::scheduleFor):
(WebCore::UpdateRegionLayoutTask::unschedule):
(WebCore::UpdateRegionLayoutTask::reset):
(WebCore::UpdateRegionLayoutTask::onTimer):
(WebCore::InspectorCSSAgent::reset):
(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::InspectorCSSAgent::didUpdateRegionLayout):
(WebCore::InspectorCSSAgent::regionLayoutUpdated):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
* inspector/InspectorCSSAgent.h:
(WebCore):
(InspectorCSSAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
(WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didCreateNamedFlow):
(WebCore::InspectorInstrumentation::willRemoveNamedFlow):
(WebCore):
(WebCore::InspectorInstrumentation::didUpdateRegionLayout):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
(WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
(WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
(WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
(WebInspector.CSSStyleModel.prototype._namedFlowCreated):
(WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
(WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
(WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
(WebInspector.CSSDispatcher.prototype.namedFlowCreated):
(WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
(WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
(WebInspector.NamedFlow):
(WebInspector.NamedFlowCollection):
(WebInspector.NamedFlowCollection.prototype._appendNamedFlow):
(WebInspector.NamedFlowCollection.prototype._removeNamedFlow):
(WebInspector.NamedFlowCollection.prototype.flowByName):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):

LayoutTests:

Validate "regionLayoutUpdate" event.

* inspector/styles/protocol-css-regions-commands-expected.txt:
* inspector/styles/protocol-css-regions-commands.html:

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

7 years ago[EFL] Make DumpRenderTree smarter at finding the fonts
kenneth@webkit.org [Wed, 12 Sep 2012 11:52:24 +0000 (11:52 +0000)]
[EFL] Make DumpRenderTree smarter at finding the fonts
http://webkit.org/b/96281

Reviewed by Gyuyoung Kim.

Respect WEBKITOUTPUTDIR and expand the font dir from it.
Use CString consistently.

* DumpRenderTree/efl/FontManagement.cpp:
(buildPath):
(getCoreFontFiles):
(addFontDirectory):
(addFontFiles):
(getCustomBuildDir):
(getPlatformFontsPath):
(addFontsToEnvironment):

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

7 years agoWeb Inspector: [Elements] Sidebar panes not updated on style changes due to "class...
apavlov@chromium.org [Wed, 12 Sep 2012 11:36:15 +0000 (11:36 +0000)]
Web Inspector: [Elements] Sidebar panes not updated on style changes due to "class" attribute modifications
https://bugs.webkit.org/show_bug.cgi?id=95722

Reviewed by Vsevolod Vlasov.

Source/WebCore:

The DOMAgent StyleInvalidated event has been removed in favor of the StylesSidebarPane explicitly listening on the
AttrModified/AttrRemoved events that result in those same updates.

* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._attributeModified):
(WebInspector.DOMAgent.prototype._loadNodeAttributes):
(WebInspector.DOMAgent.prototype._childNodeRemoved):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype.updateSelection): Drive-by: avoid a costly synchronous layout during DOM tree updates.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylesSidebarPane.prototype._attributeChanged):
(WebInspector.StylesSidebarPane.prototype._canAffectCurrentStyles):

LayoutTests:

* inspector/elements/edit-style-attribute.html: Renamed events on which to listen.
* inspector/styles/override-screen-size.html: Drive-by: fixed race condition that was resulting in this test's failures.
* inspector/styles/styles-update-from-js-expected.txt:
* inspector/styles/styles-update-from-js.html: Added test cases for style updates on ancestor and sibling attributes' changes.

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

7 years agoBuild with ENABLE_REQUEST_ANIMATION_FRAME=0 is broken
ossy@webkit.org [Wed, 12 Sep 2012 11:34:34 +0000 (11:34 +0000)]
Build with ENABLE_REQUEST_ANIMATION_FRAME=0 is broken
https://bugs.webkit.org/show_bug.cgi?id=96491

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-12
Reviewed by Csaba Osztrogonác.

In the IDL file, don't just check for the define, also check if it's set to 1 before enabling the
RAF APIs. It's done like this with all the other feature defines in IDL files.

* page/DOMWindow.idl:

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

7 years ago[EFL][WK2] WorkQueue::dispatchAfterDelay() doesn't work properly.
commit-queue@webkit.org [Wed, 12 Sep 2012 10:20:00 +0000 (10:20 +0000)]
[EFL][WK2] WorkQueue::dispatchAfterDelay() doesn't work properly.
https://bugs.webkit.org/show_bug.cgi?id=91179

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-12
Reviewed by Gyuyoung Kim.

When UI Process is crashed and WebProcess's ecore main loop is very
busy or lockup also, watchdocCallback() function in the
ChildProcess.cpp doesn't triggered. And this is because of that
WorkQueue::dispatchAfterDelay() function uses ecore timer for getting
timer event.

For removing the dependency between the dispatchAfterDelay() and ecore
main loop, new timer event mechanism is added to WorkQueue main loop.

* Platform/WorkQueue.h:
(TimerWorkItem):
(WorkQueue::TimerWorkItem::dispatch):
(WorkQueue::TimerWorkItem::expireTime):
(WorkQueue::TimerWorkItem::expired):
(WorkQueue):
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::TimerWorkItem::create):
(WorkQueue::TimerWorkItem::TimerWorkItem):
(WorkQueue::performFileDescriptorWork):
(WorkQueue::getCurrentTime):
(WorkQueue::getNextTimeOut):
(WorkQueue::performTimerWork):
(WorkQueue::workQueueThread):
(WorkQueue::dispatchAfterDelay):

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

7 years ago[Qt][WK2] Unreviewed gardening, skip a new failing test to paint the bot green.
ossy@webkit.org [Wed, 12 Sep 2012 10:17:00 +0000 (10:17 +0000)]
[Qt][WK2] Unreviewed gardening, skip a new failing test to paint the bot green.

* platform/qt-5.0-wk2/Skipped:

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

7 years agoWeb Inspector: InspectorBackend.loadFromJSONIfNeeded should take the JSON url as...
commit-queue@webkit.org [Wed, 12 Sep 2012 10:15:53 +0000 (10:15 +0000)]
Web Inspector: InspectorBackend.loadFromJSONIfNeeded should take the JSON url as argument
https://bugs.webkit.org/show_bug.cgi?id=96472

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-09-12
Reviewed by Yury Semikhatsky.

The method loadFromJSONIfNeeded need to take the jsonUrl as argument
as this will be called from the Inspector Protocol Test Harness
residing in a different location.

No new tests as code refactoring done.

* inspector/front-end/InspectorBackend.js:
(InspectorBackendClass.prototype.loadFromJSONIfNeeded):
* inspector/front-end/inspector.js:

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

7 years agoWeb Inspector: XMLHttpRequest instrumentation methods used by timeline should have...
vsevik@chromium.org [Wed, 12 Sep 2012 09:57:42 +0000 (09:57 +0000)]
Web Inspector: XMLHttpRequest instrumentation methods used by timeline should have better names.
https://bugs.webkit.org/show_bug.cgi?id=96486

Reviewed by Alexander Pavlov.

Renamed instrumentation methods.

* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent):
(WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):

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

7 years agoUnreviewed, rolling out r128279.
commit-queue@webkit.org [Wed, 12 Sep 2012 09:46:32 +0000 (09:46 +0000)]
Unreviewed, rolling out r128279.
http://trac.webkit.org/changeset/128279
https://bugs.webkit.org/show_bug.cgi?id=96487

"Snow Leopard compilation broken" (Requested by yurys on
#webkit).

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

Source/WebCore:

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
(WebCore::String):
(WebCore::StringImpl):
(WebCore::AtomicString):
* dom/WebCoreMemoryInstrumentation.h:
(WebCore):
* inspector/MemoryInstrumentationImpl.cpp:
(WebCore::MemoryInstrumentationImpl::countObjectSize):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::reportMemoryUsage):

Source/WebKit/chromium:

* tests/MemoryInstrumentationTest.cpp:
(WebCore::InstrumentedUndefined::reportMemoryUsage):
(WebCore::TEST):

Source/WTF:

* wtf/MemoryInstrumentation.h:
(GenericMemoryTypes):
(WebCore):
(WebCore::MemoryInstrumentation::addRootObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryClassInfo::MemoryClassInfo):
* wtf/text/AtomicString.h:
(AtomicString):
* wtf/text/StringImpl.h:
* wtf/text/WTFString.h:

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

7 years agoWeb Inspector: Persistent handle referenced from ScriptWrappable is double counted
yurys@chromium.org [Wed, 12 Sep 2012 09:45:04 +0000 (09:45 +0000)]
Web Inspector: Persistent handle referenced from ScriptWrappable is double counted
https://bugs.webkit.org/show_bug.cgi?id=96483

Reviewed by Alexander Pavlov.

Source/WebCore:

* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage): the handle is a part of an
array where all such handles are allocated and should not be counted here
second time. In order to make the clang plugin that validate memory instrumentation
happy we report it here as weak pointer (no-op).

Source/WTF:

* wtf/MemoryInstrumentation.h:
(WebCore::MemoryClassInfo::addWeakPointer): this method is expected to be
used on fields that are pointers to objects which are parts of bigger memory
blocks (field of another object, element in an array, object allocated in a
memory arena etc.). We don't want to count such objects' memory separately
from their owners but in order to be able to validates the memory instrumentation
with clang plugin we need to make sure all fields in instrumented objects
are reported.
(MemoryClassInfo):

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

7 years ago[Qt] Add module identifier directive to the qmldir files
abecsi@webkit.org [Wed, 12 Sep 2012 09:38:58 +0000 (09:38 +0000)]
[Qt] Add module identifier directive to the qmldir files
https://bugs.webkit.org/show_bug.cgi?id=96406

Reviewed by Simon Hausmann.

Qt5 QML modules need to be identified. Type registrations are only permitted
into the namespace identified in the qmldir file's module identifier directive.
Additionally this also facilitates the protection against external registrations.
This patch suppresses a warning when importing the QtWebKit module.

* declarative/experimental/qmldir:
* declarative/qmldir:

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

7 years agoWeb Inspector: Implement search and filtering on Timeline panel
caseq@chromium.org [Wed, 12 Sep 2012 09:32:39 +0000 (09:32 +0000)]
Web Inspector: Implement search and filtering on Timeline panel
https://bugs.webkit.org/show_bug.cgi?id=95445

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-09-12
Reviewed by Yury Semikhatsky.

Implemented textual search/filtering on Timeline panel.
Fixed "revealRecordAt" - now it scans all records in window,
now only visible ones.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineWindowFilter):
Extracted from TimelineOverviewPane class.
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.revealRecordAt):
Used DFS to scan records.
(WebInspector.TimelinePanel.prototype._revealRecord):
Extracted common code.
(WebInspector.TimelineSearchFilter):
Implemented search and filtration.

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

7 years ago[WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
commit-queue@webkit.org [Wed, 12 Sep 2012 09:17:25 +0000 (09:17 +0000)]
[WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
https://bugs.webkit.org/show_bug.cgi?id=96374

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

Source/WebKit2:

Add Bundle C API to reset the application cache quota
for a given origin.

Add new reachedApplicationCacheOriginQuota callback
to WKBundlePageUIClient which is called from
WebChromeClient::reachedApplicationCacheOriginQuota().

Those are needed by WebKitTestRunner to dump
information about the application cache callbacks
if instructed to.

* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetApplicationCacheOriginQuota):
(WKBundleResetApplicationCacheOriginQuota):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
(WebKit):
(InjectedBundlePageUIClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):

Tools:

Implement support for dumpApplicationCacheDelegateCallbacks
and disallowIncreaseForApplicationCacheQuota in
WebKitTestRunner and properly dump the information
expected by the tests.

If the application cache quota is reached for a given
security origin, WebKitTestRunner will reset the quota
to its default value, unless intructed not to via
disallowIncreaseForApplicationCacheQuota().

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
(InjectedBundlePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner):
(WTR::TestRunner::disallowIncreaseForApplicationCacheQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpApplicationCacheDelegateCallbacks):
(TestRunner):
(WTR::TestRunner::shouldDisallowIncreaseForApplicationCacheQuota):
(WTR::TestRunner::shouldDumpApplicationCacheDelegateCallbacks):

LayoutTests:

Unskip test cases that are passing now that WebKitTestRunner
implements dumpApplicationCacheDelegateCallbacks and
disallowIncreaseForApplicationCacheQuota.

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

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

7 years agoWeb Inspector: NMI move String* instrumentation to wtf.
loislo@chromium.org [Wed, 12 Sep 2012 09:13:23 +0000 (09:13 +0000)]
Web Inspector: NMI move String* instrumentation to wtf.
https://bugs.webkit.org/show_bug.cgi?id=96405

Reviewed by Yury Semikhatsky.

This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.

Source/WebCore:

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCore):

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCore):
* inspector/MemoryInstrumentationImpl.cpp:
(WebCore::MemoryInstrumentationImpl::countObjectSize):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::reportMemoryUsage):

Source/WebKit/chromium:

Tested by webkit_unit_tests.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::InstrumentedUndefined::reportMemoryUsage):
(WebCore::TEST):

Source/WTF:

Tested by webkit_unit_tests.

* wtf/MemoryInstrumentation.h:
(WebCore):
(WebCore::MemoryInstrumentation::addRootObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryClassInfo::MemoryClassInfo):
* wtf/text/AtomicString.h:
(AtomicString):
(WTF::AtomicString::reportMemoryUsage):
* wtf/text/StringImpl.h:
(StringImpl):
(WTF::StringImpl::reportMemoryUsage):
* wtf/text/WTFString.h:
(String):
(WTF::String::reportMemoryUsage):

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

7 years ago[WK2] [WTR] WebKitTestRunner needs TestRunner.workerThreadCount
commit-queue@webkit.org [Wed, 12 Sep 2012 09:10:06 +0000 (09:10 +0000)]
[WK2] [WTR] WebKitTestRunner needs TestRunner.workerThreadCount
https://bugs.webkit.org/show_bug.cgi?id=96388

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

Source/WebKit2:

Added WKBundleGetWorkerThreadCount() function to Injected Bundle private API.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleGetWorkerThreadCount):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::workerThreadCount): Returns count of worker threads.
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Exported TestRunner.workerThreadCount as readonly attribute.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Added workerThreadCount() method implementation.
(WTR::TestRunner::workerThreadCount): Returns count of worker threads.
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h: Added workerThreadCount() method.
(TestRunner):

LayoutTests:

Unskipped corresponding tests.

* platform/wk2/Skipped:

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

7 years agoUnreviewed EFL build fix.
kenneth@webkit.org [Wed, 12 Sep 2012 08:18:23 +0000 (08:18 +0000)]
Unreviewed EFL build fix.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::themePath):

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

7 years ago[EFL] Clean up the RenderTheme Edje caching
kenneth@webkit.org [Wed, 12 Sep 2012 07:55:48 +0000 (07:55 +0000)]
[EFL] Clean up the RenderTheme Edje caching
https://bugs.webkit.org/show_bug.cgi?id=96016

Reviewed by Gyuyoung Kim.

Refactor the Edje parts caching to be easier to understand and use
proper C++ constructs.

* platform/efl/RenderThemeEfl.cpp:
(WebCore):
(WebCore::toEdjeGroup):

    Converts the enum to the given edje group name.

(WebCore::setSourceGroupForEdjeObject):

    Basically a wrapper around evas_object_file_set, but handles
    errors, which was done slightly differently all over.

(WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):

(WebCore::createCairoSurfaceFor):
(WebCore::isFormElementTooLargeToDisplay):

    Methods used when creating ThemePartCacheEntry'es.

(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):

    New methods for creating and reusing an cache entry. If you do
    not supply a new size, the original size will be used, and it is
    thus more effective.

(WebCore::RenderThemeEfl::getThemePartFromCache):

    New method for requesting a theme part. If it doesn't exist
    it will additinally be loaded and added to the cache.

(WebCore::RenderThemeEfl::flushThemePartCache):

    Remove the entire cache and free the assets.

(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::themePath):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
(WebCore::RenderThemeEfl::~RenderThemeEfl):
(WebCore::RenderThemeEfl::emitMediaButtonSignal):
* platform/efl/RenderThemeEfl.h:
(RenderThemeEfl):
(ThemePartCacheEntry):

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

7 years agoSource/WebKit/chromium: [chromium] consumable user gesture count off for input events
jochen@chromium.org [Wed, 12 Sep 2012 07:53:59 +0000 (07:53 +0000)]
Source/WebKit/chromium: [chromium] consumable user gesture count off for input events
https://bugs.webkit.org/show_bug.cgi?id=96373

Reviewed by Adam Barth.

Don't create a UserGestureIndicator in the chromium layer, as it will
already be created by webcore's event handler. Creating multiple
UserGestureIndicator objects for the same object would allow to execute
multiple user-gesture-gated actions per user gesture such as opening a
new window.

* public/WebInputEvent.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleInputEvent):

Tools: [chromium] Consume a user gesture when creating a new view.
https://bugs.webkit.org/show_bug.cgi?id=96373

Reviewed by Adam Barth.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createView):

LayoutTests: [chromium] Only allow one user-gesture gated action per user action.
https://bugs.webkit.org/show_bug.cgi?id=96373

Reviewed by Adam Barth.

* platform/chromium/fast/events/popup-allowed-from-gesture-only-once-expected.txt: Added.
* platform/chromium/fast/events/popup-allowed-from-gesture-only-once.html: Added.

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

7 years ago[WK2][WTR] Some of TestRunner special options are not reset before testing
commit-queue@webkit.org [Wed, 12 Sep 2012 07:39:51 +0000 (07:39 +0000)]
[WK2][WTR] Some of TestRunner special options are not reset before testing
https://bugs.webkit.org/show_bug.cgi?id=96384

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

Now values of the following special options are reset:
void setAcceptsEditing(in boolean value);
void setCloseRemainingWindowsWhenComplete(in boolean value);
void setXSSAuditorEnabled(in boolean value);
void setAllowFileAccessFromFileURLs(in boolean value);
void setPluginsEnabled(in boolean value);
void setPopupBlockingEnabled(in boolean value);

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):

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

7 years agoMake NetscapePlugin::m_timers use HashMap<OwnPtr> instead of deleteAllValues
darin@apple.com [Wed, 12 Sep 2012 07:35:58 +0000 (07:35 +0000)]
Make NetscapePlugin::m_timers use HashMap<OwnPtr> instead of deleteAllValues
https://bugs.webkit.org/show_bug.cgi?id=96469

Reviewed by Dan Bernstein.

* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::scheduleTimer): Call release rather than leakPtr when
entering a timer into the map.
(WebKit::NetscapePlugin::unscheduleTimer): Take an existing timer from the map
with the take function rather than the roundabout code needed before.
(WebKit::NetscapePlugin::destroy): Remove now-unneeded call to deleteAllValues.
* WebProcess/Plugins/Netscape/NetscapePlugin.h: Change the value type for
TimerMap to OwnPtr<Timer> rather than Timer*.

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