WebKit.git
9 years agoMove code to discover if a CTFont has vertical glyphs out of SimpleFontData::platform...
mitz@apple.com [Tue, 24 May 2011 21:01:47 +0000 (21:01 +0000)]
Move code to discover if a CTFont has vertical glyphs out of SimpleFontData::platformInit()
https://bugs.webkit.org/show_bug.cgi?id=61392

Reviewed by Dave Hyatt.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::fontHasVerticalGlyphs): Moved code here...
(WebCore::SimpleFontData::platformInit): ...from here.

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

9 years agoFix the Mac build: Yes, please do remove these files, svn.
ggaren@apple.com [Tue, 24 May 2011 20:56:36 +0000 (20:56 +0000)]
Fix the Mac build: Yes, please do remove these files, svn.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

9 years ago2011-05-24 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Tue, 24 May 2011 20:51:52 +0000 (20:51 +0000)]
2011-05-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Let's just have one way to get the system page size, bokay?
        https://bugs.webkit.org/show_bug.cgi?id=61384

        * CMakeListsEfl.txt:
        * CMakeListsWinCE.txt:
        * GNUmakefile.list.am:
        * JavaScriptCore.exp:
        * JavaScriptCore.gypi:
        * JavaScriptCore.pro:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: MarkStack[Platform].cpp
        is gone completely now, since it only existed to provide a duplicate way
        to access the system page size.

        * heap/MarkStack.cpp:
        (JSC::MarkStack::reset):
        * heap/MarkStack.h:
        (JSC::::MarkStackArray):
        (JSC::::shrinkAllocation): Use WTF::pageSize.

        * heap/MarkStackPosix.cpp:
        * heap/MarkStackSymbian.cpp:
        * heap/MarkStackWin.cpp: Removed now-empty files.

        * jit/ExecutableAllocator.cpp:
        (JSC::ExecutableAllocator::reprotectRegion):
        * jit/ExecutableAllocator.h:
        (JSC::ExecutableAllocator::ExecutableAllocator):
        (JSC::ExecutablePool::ExecutablePool):
        (JSC::ExecutablePool::poolAllocate):
        * jit/ExecutableAllocatorFixedVMPool.cpp: Use WTF::pageSize.

        * wscript: Removed now-empty files.

        * wtf/PageBlock.cpp:
        (WTF::systemPageSize): Integrated questionable Symbian page size rule
        from ExecutableAllocator, because that seems like what the original
        author should have done.

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

9 years ago2011-05-24 Kenneth Russell <kbr@google.com>
kbr@google.com [Tue, 24 May 2011 20:41:51 +0000 (20:41 +0000)]
2011-05-24  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Implement Float64Array
        https://bugs.webkit.org/show_bug.cgi?id=39144

        Implemented Float64Array based on the existing Float32Array sources.
        Built and tested in Chromium on Linux and Mac OS X and Safari on Mac OS X.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::float64Array):
        * bindings/js/JSFloat64ArrayCustom.cpp: Added.
        (WebCore::JSFloat64Array::indexSetter):
        (WebCore::toJS):
        (WebCore::JSFloat64Array::set):
        (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
        * bindings/v8/custom/V8Float64ArrayCustom.cpp: Added.
        (WebCore::V8Float64Array::constructorCallback):
        (WebCore::V8Float64Array::setCallback):
        (WebCore::toV8):
        * html/canvas/ArrayBufferView.h:
        (WebCore::ArrayBufferView::isDoubleArray):
        * html/canvas/Float64Array.cpp: Added.
        (WebCore::Float64Array::create):
        (WebCore::Float64Array::Float64Array):
        (WebCore::Float64Array::subarray):
        * html/canvas/Float64Array.h: Added.
        (WebCore::Float64Array::set):
        (WebCore::Float64Array::item):
        (WebCore::Float64Array::isDoubleArray):
        * html/canvas/Float64Array.idl: Added.
        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:
2011-05-24  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Implement Float64Array
        https://bugs.webkit.org/show_bug.cgi?id=39144

        Added unit tests to existing typed array tests in Khronos repository and
        synced layout test with them. Updated other affected layout tests.

        * fast/canvas/webgl/array-unit-tests-expected.txt:
        * fast/canvas/webgl/array-unit-tests.html:
        * fast/dom/Window/script-tests/window-property-descriptors.js:
        * fast/dom/Window/window-properties.html:
        * fast/dom/script-tests/constructed-objects-prototypes.js:
        (constructorPropertiesOnWindow):
        * fast/dom/script-tests/prototype-inheritance-2.js:
        (constructorNamesForWindow):
        * fast/dom/script-tests/prototype-inheritance.js:
        * fast/js/script-tests/global-constructors.js:

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

9 years ago2011-05-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 May 2011 20:23:56 +0000 (20:23 +0000)]
2011-05-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Add ability to set compositing layer bounds origin
        https://bugs.webkit.org/show_bug.cgi?id=61381

        On Core Animation layers, the origin of the bounds
        rectangle affects where layer content is rendered, as well
        as the offset of sublayers. Currently we always set the
        bounds offset to a zero point, but may need to make use
        of the bounds offset in future, so expose it via GraphicsLayer.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::boundsOrigin):
        (WebCore::GraphicsLayer::setBoundsOrigin):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setSize):
        (WebCore::GraphicsLayerCA::setBoundsOrigin):
        (WebCore::GraphicsLayerCA::setAllowTiledLayer):
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateBounds):
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:

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

9 years agoClean up after Geoff and fix the WebKit2 build.
weinig@apple.com [Tue, 24 May 2011 20:18:55 +0000 (20:18 +0000)]
Clean up after Geoff and fix the WebKit2 build.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:

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

9 years ago2011-05-24 Leandro Pereira <leandro@profusion.mobi>
leandro@webkit.org [Tue, 24 May 2011 20:07:05 +0000 (20:07 +0000)]
2011-05-24  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Build fix.

        * CMakeLists.txt: Also build platform/network/ContentTypeParser.cpp,
        added by r86289.

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

9 years ago2011-05-24 Leandro Pereira <leandro@profusion.mobi>
leandro@webkit.org [Tue, 24 May 2011 20:03:50 +0000 (20:03 +0000)]
2011-05-24  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Build fix.

        * bridge/runtime_root.cpp: Include <heap/Weak.h> instead of
        <JavaScriptCore/Weak.h>.

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

9 years ago2011-05-24 Ryosuke Niwa <rniwa@webkit.org>
rniwa@webkit.org [Tue, 24 May 2011 19:51:54 +0000 (19:51 +0000)]
2011-05-24  Ryosuke Niwa  <rniwa@webkit.org>

        Skip the tests added by r87096 and remove the failing test expectations on Qt.
        The failures are tracked by the bug 61322.

        * platform/qt/Skipped:
        * platform/qt/fast/events/selectstart-by-double-triple-clicks-expected.txt: Removed.
        * platform/qt/fast/events/selectstart-by-drag-expected.txt: Removed.
        * platform/qt/fast/events/selectstart-by-single-click-with-shift-expected.txt: Removed.

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

9 years ago2011-05-24 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Tue, 24 May 2011 19:39:47 +0000 (19:39 +0000)]
2011-05-24  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Interpreter crashes with gc validation enabled due to failure to mark initial cache structure
        https://bugs.webkit.org/show_bug.cgi?id=61385

        The interpreter uses the structure slot of get_by_id and put_by_id to hold
        the initial structure it encountered so that it can identify whether a
        given access is stable.

        When marking though we only visit the slot when we've decided to cache, and
        so this value could die.  This was "safe" as the value was only used for a
        pointer compare, but it was incorrect.  We now just mark the slot like we
        should have been doing already.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::visitStructures):

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

9 years ago2011-05-24 Jay Civelli <jcivelli@chromium.org>
jcivelli@chromium.org [Tue, 24 May 2011 19:32:03 +0000 (19:32 +0000)]
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * configure.ac:
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * mhtml/frame_0.html_original: Added.
        * mhtml/frame_1.html_original: Added.
        * mhtml/frame_2.html_original: Added.
        * mhtml/frame_4.html_original: Added.
        * mhtml/multi_frames.html_original: Added.
        * mhtml/multi_frames_ie.mht: Added.
        * mhtml/multi_frames_unmht.mht: Added.
        * mhtml/page_with_css_and_js.html_original: Added.
        * mhtml/page_with_css_and_js_ie.mht: Added.
        * mhtml/page_with_css_and_js_unmht.mht: Added.
        * mhtml/page_with_image.html_original: Added.
        * mhtml/page_with_image_ie.mht: Added.
        * mhtml/page_with_image_unmht.mht: Added.
        * mhtml/resources/red_square.png: Added.
        * mhtml/simple_page.html_original: Added.
        * mhtml/simple_page_ie.mht: Added.
        * mhtml/simple_page_unmht.mht: Added.
        * platform/chromium/mhtml/multi_frames_ie-expected.txt: Added.
        * platform/chromium/mhtml/multi_frames_unmht-expected.txt: Added.
        * platform/chromium/mhtml/page_with_css_and_js_ie-expected.txt: Added.
        * platform/chromium/mhtml/page_with_css_and_js_unmht-expected.txt: Added.
        * platform/chromium/mhtml/page_with_image_ie-expected.txt: Added.
        * platform/chromium/mhtml/page_with_image_unmht-expected.txt: Added.
        * platform/chromium/mhtml/simple_page_ie-expected.txt: Added.
        * platform/chromium/mhtml/simple_page_unmht-expected.txt: Added.
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support. That required some basic MIME header parsing.
        Modified DocumentLoader to keep a reference to the currently Archive loaded,
        so we can have different policies for loading subresources depending on the
        archive type.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitLoad):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::popArchiveForSubframe):
        (WebCore::DocumentLoader::scheduleArchiveLoad):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::loadArchive):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::finishedLoadingDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::archive):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::start):
        * loader/archive/Archive.cpp: Added.
        * loader/archive/Archive.h:
        (WebCore::Archive::mainResource):
        * loader/archive/ArchiveFactory.cpp:
        (WebCore::archiveFactoryCreate):
        (WebCore::archiveMIMETypes):
        (WebCore::ArchiveFactory::create):
        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
        * loader/archive/ArchiveFactory.h:
        * loader/archive/ArchiveResourceCollection.cpp:
        (WebCore::ArchiveResourceCollection::addAllResources):
        (WebCore::ArchiveResourceCollection::popSubframeArchive):
        * loader/archive/ArchiveResourceCollection.h:
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        (WebCore::LegacyWebArchive::type):
        * loader/archive/cf/LegacyWebArchive.h:
        * loader/archive/mhtml/MHTMLArchive.cpp: Added.
        * loader/archive/mhtml/MHTMLArchive.h: Added.
        * loader/archive/mhtml/MHTMLParser.cpp: Added.
        * loader/archive/mhtml/MHTMLParser.h: Added.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedNonImageMimeTypes):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment):
        * platform/network/MIMEHeader.cpp: Added.
        * platform/network/MIMEHeader.h: Added.
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=7168

       * features.gypi:
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * Scripts/build-webkit:
        * Scripts/old-run-webkit-tests:
        * Scripts/webkitperl/features.pm:
        * Scripts/webkitpy/layout_tests/port/test_files.py:
        * Scripts/webkitpy/layout_tests/port/webkit.py:

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

9 years agoTry to fix some builds: #include Weak.h for Weak<T>.
ggaren@apple.com [Tue, 24 May 2011 19:24:33 +0000 (19:24 +0000)]
Try to fix some builds: #include Weak.h for Weak<T>.

* bridge/runtime_root.h:

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

9 years ago2011-05-24 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 24 May 2011 19:23:17 +0000 (19:23 +0000)]
2011-05-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Can't scroll scaled page that has overflow:hidden on its root
        <rdar://problem/9029189>
        https://bugs.webkit.org/show_bug.cgi?id=61339

        Test: fast/events/scroll-in-scaled-page-with-overflow-hidden.html

        * page/FrameView.cpp:
        (WebCore::FrameView::applyOverflowToViewport):
        Scrollbars should be enabled for the viewport when scaled, even if overflow:hidden
        is specified.
2011-05-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Can't scroll scaled page that has overflow:hidden on its root
        <rdar://problem/9029189>
        https://bugs.webkit.org/show_bug.cgi?id=61339

        * fast/events/scroll-in-scaled-page-with-overflow-hidden-expected.txt: Added.
        * fast/events/scroll-in-scaled-page-with-overflow-hidden.html: Added.

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

9 years agoWindows build fix
aroben@apple.com [Tue, 24 May 2011 19:13:02 +0000 (19:13 +0000)]
Windows build fix

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Removed now-inline functions.

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

9 years agoWindows build fix: update the #if OS(WINDOWS) section to match my last patch.
ggaren@apple.com [Tue, 24 May 2011 19:07:46 +0000 (19:07 +0000)]
Windows build fix: update the #if OS(WINDOWS) section to match my last patch.

* heap/MarkStack.h:
(JSC::::shrinkAllocation):

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

9 years agoLeopard build fix
aroben@apple.com [Tue, 24 May 2011 19:03:46 +0000 (19:03 +0000)]
Leopard build fix

* bridge/runtime_root.cpp: Added a missing #include.

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

9 years agoMake start parameter of Blob.slice optional.
jianli@chromium.org [Tue, 24 May 2011 18:57:27 +0000 (18:57 +0000)]
Make start parameter of Blob.slice optional.
https://bugs.webkit.org/show_bug.cgi?id=59628

Reviewed by Kenneth Russell.

Source/WebCore:

The start parameter should be optional per the latest FILE API
spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob.

* fileapi/Blob.h:
* fileapi/Blob.idl: Make start parameter optional.

LayoutTests:

* fast/files/blob-slice-test-expected.txt:
* fast/files/blob-slice-test.html:

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

9 years agoSplit out function definitions and class definitions from class
ggaren@apple.com [Tue, 24 May 2011 18:55:10 +0000 (18:55 +0000)]
Split out function definitions and class definitions from class
declarations in MarkStack.h, for readability.

Rubber-stamped by Oliver Hunt.

* heap/MarkStack.h:
(JSC::MarkStack::MarkStack):
(JSC::MarkStack::~MarkStack):
(JSC::MarkStack::addOpaqueRoot):
(JSC::MarkStack::containsOpaqueRoot):
(JSC::MarkStack::opaqueRootCount):
(JSC::MarkSet::MarkSet):
(JSC::MarkStack::allocateStack):
(JSC::MarkStack::releaseStack):
(JSC::MarkStack::pageSize):
(JSC::::MarkStackArray):
(JSC::::~MarkStackArray):
(JSC::::expand):
(JSC::::append):
(JSC::::removeLast):
(JSC::::last):
(JSC::::isEmpty):
(JSC::::size):
(JSC::::shrinkAllocation):

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

9 years agoInvalidate JS wrappers for NPObjects when they are finalized
aroben@apple.com [Tue, 24 May 2011 18:51:49 +0000 (18:51 +0000)]
Invalidate JS wrappers for NPObjects when they are finalized

This will cause the underlying NPObject to be released at finalization time, rather than at
destruction time (which is unpredictable and could occur after the plugin has been
unloaded).

Test: plugins/npobject-js-wrapper-destroyed-after-plugin-unload.html

Fixes <http://webkit.org/b/61316> <rdar://problem/9489824> Crash in deallocateNPObject when
reloading yahoo.com webarchive in WebKit2

and

<http://webkit.org/b/61317> <rdar://problem/9489829> Crash in _NPN_DeallocateObject when
reloading yahoo.com webarchive in WebKit1

Reviewed by Oliver Hunt.

Source/WebCore:

* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::~RuntimeObject): Assert that we've already been invalidated.

* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::invalidate):
(JSC::Bindings::RootObject::addRuntimeObject):
Updated for m_runtimeObjects type change.

(JSC::Bindings::RootObject::finalize): Added. Invalidates the RuntimeObject and removes it
from the map.

* bridge/runtime_root.h: Now inherits from WeakHandleOwner.
Changed m_runtimeObjects from a WeakGCMap to a HashMap of JSC::Weak objects so that we will
be notified when the RuntimeObjects are finalized.

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::~JSNPObject): Assert that we've already been invalidated, rather than
trying to perform invalidation now (when the plugin might already be unloaded).

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
(WebKit::NPRuntimeObjectMap::invalidate):
Updated for m_jsNPObjects type change.

(WebKit::NPRuntimeObjectMap::finalize): Added. Invalidates the JSNPObject and removes it
from the map.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Now inherits from WeakHandleOwner.
Changed m_jsNPObjects from a WeakGCMap to a HashMap of JSC::Weak objects so that we will be
notified when the JSNPObjects are finalized.

LayoutTests:

Test that we don't crash when a JS wrapper for an NPObject is destroyed after its plugin is unloaded

* plugins/npobject-js-wrapper-destroyed-after-plugin-unload-expected.txt: Added.
* plugins/npobject-js-wrapper-destroyed-after-plugin-unload.html: Added.
(startTest): Gets a JS wrapper for an NPObject from the plugin, allocate a bunch of memory
so the JS wrapper will be finalized, then destroy the plugin and wait for a little bit
before calling finishTest.
(finishTest): Force a GC so the JS wrapper will be destroyed. If we didn't crash, we passed!

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

9 years ago2011-05-24 Stephen White <senorblanco@chromium.org>
senorblanco@chromium.org [Tue, 24 May 2011 18:50:48 +0000 (18:50 +0000)]
2011-05-24  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        Remove most style checks on Source/ThirdParty/glu, since it doesn't
        follow WebKit style.
        https://bugs.webkit.org/show_bug.cgi?id=61365

        * Scripts/webkitpy/style/checker.py:
2011-05-24  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        Unfork glu sources as much as possible.
        https://bugs.webkit.org/show_bug.cgi?id=61365

        Restore the glu sources closer to the original version on oss.sgi.com
        by removing the WebKit-specific include paths, restoring the include
        order, and renaming the glu* functions via #defines rather than in
        the source.

        * glu/README.webkit:
        Update the README to reflect the changes from trunk.
        * glu/glu.gyp:
        Add Source/Thirdparty/glu as an include path, so we can remove the
        hardcoded paths from the source files.
        * glu/gluos.h:
        Add #defines to rename the glu entry points to internal_*.
        * glu/internal_glu.h:
        * glu/libtess/dict.c:
        * glu/libtess/geom.c:
        * glu/libtess/geom.h:
        * glu/libtess/memalloc.c:
        * glu/libtess/mesh.c:
        * glu/libtess/mesh.h:
        * glu/libtess/normal.c:
        * glu/libtess/normal.h:
        * glu/libtess/priorityq-heap.c:
        * glu/libtess/priorityq-sort.h:
        * glu/libtess/priorityq.c:
        * glu/libtess/priorityq.h:
        * glu/libtess/render.c:
        * glu/libtess/render.h:
        * glu/libtess/sweep.c:
        * glu/libtess/sweep.h:
        * glu/libtess/tess.c:
        * glu/libtess/tess.h:
        * glu/libtess/tessmono.c:
        Remove WebKit-specific include paths, and internal_ prefixes from glu
        entry points.  Restore include order to original source order.

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

9 years ago2011-05-24 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Tue, 24 May 2011 18:49:18 +0000 (18:49 +0000)]
2011-05-24  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Avoid creating unnecessary identifiers and strings in the syntax checker
        https://bugs.webkit.org/show_bug.cgi?id=61378

        Selectively tell the lexer that there are some places it does not need to
        do the real work of creating Identifiers for IDENT and STRING tokens.

        Make parseString and parseIdentifier templatized on whether they should
        do real work, or merely validate the tokens.

        SunSpider --parse-only reports ~5-8% win depending on hardware.

        * parser/ASTBuilder.h:
        (JSC::ASTBuilder::createDotAccess):
        * parser/JSParser.cpp:
        (JSC::JSParser::next):
        (JSC::JSParser::consume):
        (JSC::JSParser::parseVarDeclarationList):
        (JSC::JSParser::parseConstDeclarationList):
        (JSC::JSParser::parseExpression):
        (JSC::JSParser::parseAssignmentExpression):
        (JSC::JSParser::parseConditionalExpression):
        (JSC::JSParser::parseBinaryExpression):
        (JSC::JSParser::parseProperty):
        (JSC::JSParser::parseObjectLiteral):
        (JSC::JSParser::parseArrayLiteral):
        (JSC::JSParser::parseArguments):
        (JSC::JSParser::parseMemberExpression):
        * parser/Lexer.cpp:
        (JSC::Lexer::parseIdentifier):
        (JSC::Lexer::parseString):
        (JSC::Lexer::lex):
        * parser/Lexer.h:
        * parser/SyntaxChecker.h:
        (JSC::SyntaxChecker::createDotAccess):
        (JSC::SyntaxChecker::createProperty):

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

9 years agoDon't allow forcing builds through the build.webkit.org web interface
aroben@apple.com [Tue, 24 May 2011 18:46:55 +0000 (18:46 +0000)]
Don't allow forcing builds through the build.webkit.org web interface

Someone has been forcing bogus builds.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:

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

9 years ago2011-05-24 Qi Zhang <qi.2.zhang@nokia.com>
qi.2.zhang@nokia.com [Tue, 24 May 2011 18:39:04 +0000 (18:39 +0000)]
2011-05-24  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Adam Roben.

        WebKitTestRunner needs layoutTestController.setJavaScriptCanAccessClipboard
        https://bugs.webkit.org/show_bug.cgi?id=42669

        Fixes a typo issue for patch 94265.

        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleSetJavaScriptCanAccessClipboard):
2011-05-24  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Adam Roben.

        WebKitTestRunner needs layoutTestController.setJavaScriptCanAccessClipboard
        https://bugs.webkit.org/show_bug.cgi?id=42669

        Fixes the regression issue caused by patch 94265. The patch didn't intialize the setting before the
        layouttest starting, it will make the test cases after editing/execCommand/clipboard-access.html failed.
        Because that case changed the setting.

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

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

9 years ago2011-05-24 Mike Reed <reed@google.com>
commit-queue@webkit.org [Tue, 24 May 2011 18:24:56 +0000 (18:24 +0000)]
2011-05-24  Mike Reed  <reed@google.com>

        Reviewed by Kenneth Russell.

        skia: fix stroking of zero-height rectangles
        https://bugs.webkit.org/show_bug.cgi?id=61284

        Tests: canvas/philip/tests/2d.line.miter.lineedge.html
               canvas/philip/tests/2d.strokeRect.zero.4.html

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::strokeRect):

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

9 years ago2011-05-24 Zan Dobersek <zandobersek@gmail.com> and Philippe Normand <pnormand...
philn@webkit.org [Tue, 24 May 2011 18:16:51 +0000 (18:16 +0000)]
2011-05-24  Zan Dobersek  <zandobersek@gmail.com> and Philippe Normand  <pnormand@igalia.com>

        Reviewed by Kenneth Russell.

        Enable FloatArray usage outside WebGL guards
        https://bugs.webkit.org/show_bug.cgi?id=61356

        * webaudio/AudioBuffer.cpp:
        * webaudio/AudioBuffer.idl:
        * webaudio/RealtimeAnalyser.cpp:
        * webaudio/RealtimeAnalyser.h:
        * webaudio/RealtimeAnalyserNode.h:
        * webaudio/RealtimeAnalyserNode.idl:

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

9 years ago2011-05-24 Adam Klein <adamk@chromium.org>
adamk@chromium.org [Tue, 24 May 2011 18:12:39 +0000 (18:12 +0000)]
2011-05-24  Adam Klein  <adamk@chromium.org>

        Unreviewed, rolling out r87145.
        http://trac.webkit.org/changeset/87145
        https://bugs.webkit.org/show_bug.cgi?id=61194

        Regression in LayoutTests/inspector/debugger/scripts-panel.html on Chromium Win & Linux.

        * inspector/console/console-eval-syntax-error-expected.txt: Removed.
        * inspector/console/console-eval-syntax-error.html: Removed.
        * platform/chromium/inspector/console/console-eval-syntax-error-expected.txt: Removed.
2011-05-24  Adam Klein  <adamk@chromium.org>

        Unreviewed, rolling out r87145.
        http://trac.webkit.org/changeset/87145
        https://bugs.webkit.org/show_bug.cgi?id=61194

        Regression in LayoutTests/inspector/debugger/scripts-panel.html on Chromium Win & Linux.

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::evaluateCallback):

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

9 years ago2011-05-24 Matthew Delaney <mdelaney@apple.com>
mdelaney@apple.com [Tue, 24 May 2011 18:04:36 +0000 (18:04 +0000)]
2011-05-24  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Clamp coordinates to integers for canvas create/getImageData routines
        https://bugs.webkit.org/show_bug.cgi?id=61135

        * fast/canvas/canvas-getImageData-largeNonintegralDimensions-expected.txt: Added.
        * fast/canvas/canvas-getImageData-largeNonintegralDimensions.html: Added.
2011-05-24  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Clamp coordinates to integers for canvas create/getImageData routines
        https://bugs.webkit.org/show_bug.cgi?id=61135

        Test: fast/canvas/canvas-getImageData-largeNonintegralDimensions.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::convertLogicalToDevice): clamp to ints
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createImageData):
        (WebCore::CanvasRenderingContext2D::getImageData):
        * platform/graphics/cg/ImageBufferDataCG.cpp:
        (WebCore::ImageBufferData::getData):

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

9 years ago2011-05-24 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 24 May 2011 17:53:49 +0000 (17:53 +0000)]
2011-05-24  Sam Weinig  <sam@webkit.org>

        Reviewed by John Sullivan.

        WebKit tells client that the page has become unresponsive while the beforeUnloadConfirm dialog is up
        https://bugs.webkit.org/show_bug.cgi?id=61372

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
        Stop the unresponsiveness timer like we do for other client functions that spin a
        runloop.

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

9 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Tue, 24 May 2011 17:45:53 +0000 (17:45 +0000)]
Reviewed by Kevin Ollivier.

[wx] Make sure x and y adjustments are applied to all operations, and fix the calculations for the height and width checks to take into account x and y offsets.

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

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

9 years ago2011-05-24 Tony Chang <tony@chromium.org>
tony@chromium.org [Tue, 24 May 2011 17:43:55 +0000 (17:43 +0000)]
2011-05-24  Tony Chang  <tony@chromium.org>

        Reviewed by James Robinson.

        fix render overflow computation for input type=range
        https://bugs.webkit.org/show_bug.cgi?id=61132

        * fast/forms/slider-hit-testing-expected.txt: Added.
        * fast/forms/slider-hit-testing.html: Added.
2011-05-24  Tony Chang  <tony@chromium.org>

        Reviewed by James Robinson.

        fix render overflow computation for input type=range
        https://bugs.webkit.org/show_bug.cgi?id=61132

        Test: fast/forms/slider-hit-testing.html

        We need to clear m_overflow otherwise we use the first
        size of the slider for hit testing (i.e., changes to the size
        cause problems).  This only shows up if the thumb isn't contained
        in the bounds of the slider.  Making the range have a smaller height
        than the thumb shows the bug.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout): Clear the overflow during layout
            so we re-compute the overflow based on the current size of the
            slider.

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

9 years ago2011-05-24 Alok Priyadarshi <alokp@chromium.org>
alokp@chromium.org [Tue, 24 May 2011 17:41:33 +0000 (17:41 +0000)]
2011-05-24  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        Enable skia gpu rendering for content layers
        https://bugs.webkit.org/show_bug.cgi?id=56749

        * src/WebViewImpl.cpp:
        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
        (WebKit::WebViewImpl::reallocateRenderer):
2011-05-24  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        Enable skia gpu rendering for content layers
        https://bugs.webkit.org/show_bug.cgi?id=56749

        This patch adds gpu accelerated rendering for content and root layers.
        Layer textures are updated in two stages:
        1. Paint: The non-accelerated path paints the layer contents into a bitmap.
                  The accelerated path paints into an SkPicture, which is essentially a display list.
        2. Upload: The non-accelerated path uploads the pixels obtained in the first stage to a texture.
                   The accelerated path renders the picture directly into the texture.

        The accelerated path can be enabled by --enable-accelerated-drawing command-line flag in chromium.
        Note that this patch does not accelerate the CG path on mac. We have two options here - use skia or accelrate CG path.
        Any bugs should be caught by layout tests.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::skiaContext):
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        (WebCore::LayerRendererChromium::createRootLayerTextureUpdater):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::acceleratedDrawing):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
        (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
        (WebCore::LayerTextureUpdaterSkPicture::deleteFrameBuffer):
        (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
        (WebCore::LayerTextureUpdaterSkPicture::clearFrameBuffer):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
        (WebCore::LayerTextureUpdaterSkPicture::orientation):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):

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

9 years ago2011-05-24 Pavel Podivilov <podivilov@chromium.org>
podivilov@chromium.org [Tue, 24 May 2011 17:36:47 +0000 (17:36 +0000)]
2011-05-24  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: display keyboard shortcuts in scripts panel sidebar buttons tooltip text.
        https://bugs.webkit.org/show_bug.cgi?id=61358

        * English.lproj/localizedStrings.js:
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.registerShortcut):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._createSidebarButtons):
        (WebInspector.ScriptsPanel.prototype._createSidebarButtonAndRegisterShortcuts):

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

9 years ago2011-05-24 Kenneth Russell <kbr@google.com>
kbr@google.com [Tue, 24 May 2011 17:15:23 +0000 (17:15 +0000)]
2011-05-24  Kenneth Russell  <kbr@google.com>

        Unreviewed. Fixed incorrect test expectations I previously checked in.

        * platform/chromium-gpu-mac/compositing/animation/busy-indicator-actual.png: Removed.
        * platform/chromium-gpu-mac/compositing/animation/busy-indicator-expected.png: Added.
        * platform/chromium-gpu-win/compositing/animation/busy-indicator-actual.png: Removed.
        * platform/chromium-gpu-win/compositing/animation/busy-indicator-expected.png: Added.

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

9 years ago2011-05-24 Adam Klein <adamk@chromium.org>
adamk@chromium.org [Tue, 24 May 2011 17:14:16 +0000 (17:14 +0000)]
2011-05-24  Adam Klein  <adamk@chromium.org>

        Unreviewed.  Updated Chromium test expectations.

        * platform/chromium/test_expectations.txt: svg failure on Linux, BUGWK61370.

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

9 years ago2011-05-24 Philippe Normand <pnormand@igalia.com>
philn@webkit.org [Tue, 24 May 2011 17:12:09 +0000 (17:12 +0000)]
2011-05-24  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Andres Kling.

        JSAudioContextCustom doesn't encode errors
        https://bugs.webkit.org/show_bug.cgi?id=61357

        Fix AudioContext return values

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):

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

9 years ago2011-05-24 Csaba Osztrogonác <ossy@webkit.org>
ossy@webkit.org [Tue, 24 May 2011 17:07:31 +0000 (17:07 +0000)]
2011-05-24  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [ORWT]Make --skipped=only option work with parameters with LayoutTests/ prefix
        https://bugs.webkit.org/show_bug.cgi?id=61052

        * Scripts/old-run-webkit-tests:

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

9 years ago2011-05-24 Rob Buis <rbuis@rim.com>
rwlbuis@webkit.org [Tue, 24 May 2011 16:43:05 +0000 (16:43 +0000)]
2011-05-24  Rob Buis  <rbuis@rim.com>

        Rubber-stamped by Dirk Schulze.

        Remove requiresLayer inlines, already provided by RenderSVGModelObject.

        * rendering/svg/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
        * rendering/svg/RenderSVGImage.h:

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

9 years ago2011-05-24 Andreas Kling <kling@webkit.org>
andreas.kling@nokia.com [Tue, 24 May 2011 16:30:53 +0000 (16:30 +0000)]
2011-05-24  Andreas Kling  <kling@webkit.org>

        Reviewed by Simon Hausmann.

        [WK2] Change TiledDrawingArea to use ShareableBitmap instead of UpdateChunk.
        https://bugs.webkit.org/show_bug.cgi?id=61296

        Pass UpdateInfo containing ShareableBitmaps instead of UpdateChunk for tile updates.
        Only the bounds rect and bitmap handle in the UpdateInfo are used since none of the
        other parameters are needed for TiledDrawingArea.

        * Shared/ShareableBitmap.h:
        * Shared/qt/ShareableBitmapQt.cpp:
        (WebKit::ShareableBitmap::createQImage):
        (WebKit::ShareableBitmap::createGraphicsContext):
        (WebKit::ShareableBitmap::paint):
        * Shared/qt/UpdateChunk.cpp: Removed.
        * Shared/qt/UpdateChunk.h: Removed.
        * UIProcess/TiledDrawingAreaProxy.cpp:
        (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
        (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
        * UIProcess/TiledDrawingAreaProxy.h:
        * UIProcess/TiledDrawingAreaTile.h:
        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
        (WebKit::TiledDrawingAreaProxy::snapshotTaken):
        * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
        (WebKit::TiledDrawingAreaTile::incorporateUpdate):
        * WebKit2.pro:
        * WebProcess/WebPage/TiledDrawingArea.cpp:
        (WebKit::TiledDrawingArea::updateTile):
        (WebKit::TiledDrawingArea::didReceiveMessage):
        * WebProcess/WebPage/TiledDrawingArea.h:
        * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
        (WebKit::TiledDrawingArea::paintIntoBitmap):

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

9 years ago2011-05-24 Adam Klein <adamk@chromium.org>
adamk@chromium.org [Tue, 24 May 2011 16:25:11 +0000 (16:25 +0000)]
2011-05-24  Adam Klein  <adamk@chromium.org>

        Unreviewed.

        Chromium test expectations update.
        https://bugs.webkit.org/show_bug.cgi?id=61169

        * platform/chromium/test_expectations.txt: Marked optimize-contrast tests as IMAGE failure, BUGWK61169.

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

9 years ago2011-05-24 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 24 May 2011 16:11:02 +0000 (16:11 +0000)]
2011-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed, build fix.

        Remove platform layering violation: TextRun stores RenderObjects for SVG Fonts support
        https://bugs.webkit.org/show_bug.cgi?id=60254

        Forgot to rename the destructor.

        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::AdditionalFontData::~AdditionalFontData):

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

9 years ago2011-05-23 Michael Saboff <msaboff@apple.com>
msaboff@apple.com [Tue, 24 May 2011 16:06:18 +0000 (16:06 +0000)]
2011-05-23  Michael Saboff  <msaboff@apple.com>

        Reviewed by Mark Rowe.

        Safari often freezes when clicking "Return free memory" in Caches dialog
        https://bugs.webkit.org/show_bug.cgi?id=61325

        There are two fixes and improvement in instrumentation code used to find
        one of the problems.
        Changed ReleaseFreeList() to set the "decommitted" bit when releasing
        pages to the system and moving Spans from the normal list to the returned
        list.
        Added a "not making forward progress" check to TCMalloc_PageHeap::scavenge
        to eliminate an infinite loop if we can't meet the pagesToRelease target.
        Added a check for the decommitted bit being set properly in
        TCMalloc_PageHeap::CheckList.

        * wtf/FastMalloc.cpp:
        (WTF::TCMalloc_PageHeap::scavenge):
        (WTF::TCMalloc_PageHeap::Check):
        (WTF::TCMalloc_PageHeap::CheckList):
        (WTF::ReleaseFreeList):

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

9 years ago2011-05-24 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 24 May 2011 15:49:28 +0000 (15:49 +0000)]
2011-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed, build fix.

        Remove platform layering violation: TextRun stores RenderObjects for SVG Fonts support
        https://bugs.webkit.org/show_bug.cgi?id=60254

        Rename SimpleFontData::FontData subclass to AdditionalFontData, to avoid clashes with the WebCore::FontData class, which breaks the win build.

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::fontData):
        * svg/SVGFontData.h:

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

9 years ago2011-05-24 Qi Zhang <qi.2.zhang@nokia.com>
qi.2.zhang@nokia.com [Tue, 24 May 2011 15:44:51 +0000 (15:44 +0000)]
2011-05-24  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] fast/workers/shared-worker-frame-lifecycle.html failed on Qt Bot
        https://bugs.webkit.org/show_bug.cgi?id=34281

        Remove the test case from skip list.

        * platform/qt/Skipped:

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

9 years agoBuild fix after r87153
beidson@apple.com [Tue, 24 May 2011 15:39:49 +0000 (15:39 +0000)]
Build fix after r87153

* WebProcess/mac/SecItemShimMethods.mm: Don't compile this code on SnowLeopard.

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

9 years agoPart of <rdar://problem/9434311> and https://bugs.webkit.org/show_bug.cgi?id=61334
beidson@apple.com [Tue, 24 May 2011 15:31:27 +0000 (15:31 +0000)]
Part of <rdar://problem/9434311> and https://bugs.webkit.org/show_bug.cgi?id=61334
Should shim a few SecKeychainItem* methods on SnowLeopard

Reviewed by Sam Weinig.

In preparation for different WebProcess shims depending on platform, move the current
shim to its own files.

* WebKit2.xcodeproj/project.pbxproj:

* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::initializeShim): For non-SnowLeopard platforms, call initializeSecItemShim().

* WebProcess/mac/SecItemShimMethods.h: Added.
* WebProcess/mac/SecItemShimMethods.mm: Added. Actual webSecItem* methods moved from WebProcessMac.mm.
(WebKit::webSecItemCopyMatchingMainThread):
(WebKit::webSecItemCopyMatching):
(WebKit::webSecItemAddOnMainThread):
(WebKit::webSecItemAdd):
(WebKit::webSecItemUpdateOnMainThread):
(WebKit::webSecItemUpdate):
(WebKit::webSecItemDeleteOnMainThread):
(WebKit::webSecItemDelete):
(WebKit::initializeSecItemShim): Initialize the callbacks via WebKitWebProcessSecItemShimInitialize

* WebProcess/mac/WebProcessShim.h:
* WebProcess/mac/WebProcessShim.mm: Wrap all the actual code here in a !BUILDING_ON_SNOW_LEOPARD block
(WebKit::shimSecItemCopyMatching):
(WebKit::shimSecItemAdd):
(WebKit::shimSecItemUpdate):
(WebKit::shimSecItemDelete):
(WebKit::WebKitWebProcessSecItemShimInitialize):

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

9 years ago2011-05-24 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 24 May 2011 15:27:36 +0000 (15:27 +0000)]
2011-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Antti Koivisto.

        Remove platform layering violation: TextRun stores RenderObjects for SVG Fonts support
        https://bugs.webkit.org/show_bug.cgi?id=60254

        First part:
        Remove a long-standing layering violation in TextRun: it stores RenderObject/RenderSVGResource pointers for SVG Fonts support.
        Replace the two Render* pointers with a single RefPtr<AbstractRenderingContext>. AbstractRenderingContext is a helper class,
        that can be derived from in order to associate additional data with a TextRun. This effectively reduces the memory consumption of TextRun.

        Introduce rendering/TextRunRenderingContext.h, which inherits from TextRun::AbstractRenderingContext and holds additional data.
        If the primary font in use is a SVG Font then allocate a TextRunRenderingContext object and store it in the RefPtr<AbstractRenderingContext>
        in TextRun. If the primary font is not a SVG Font, don't even allocate the TextRunRenderingContext structure, as we won't need the context data.
        SVG Fonts glyph matching only works within a context, so we need access to the RenderObject that's drawing the text.

        This is the main preparation patch for the SVG Fonts rewrite, that will allow us to share the simple text code path for SVG Fonts as well,
        making all CSS text properties work for HTML text using SVG Fonts, and allows proper integration within the GlyphPage concept. Soon
        we can intermix WOFF/SVG & native fonts, within segment font declarations.

        Second part:
        Remove a long-standing layering violation in SimpleFontData: it stores SVGFontData objects, that are living in svg/.
        Use the same concept as above, introduce SimpleFontData::AbstractFontData, and let SVGFontData inherit from AbstractFontData and extent it.
        If SVG Fonts are used, CSSFontFaceSource will create a SVGFontData object and pass it as PassOwnPtr<AbstractFontData> to SimpleFontData.

        All layering violations are gone now, SVG Fonts are cleanly integrated now.
        Doesn't affect any tests yet, refactoring only.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText):
        (WebCore::Font::width):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        * platform/graphics/Font.h:
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        (WebCore::SimpleFontData::~SimpleFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::FontData::~FontData):
        (WebCore::SimpleFontData::fontMetrics):
        (WebCore::SimpleFontData::setMaxCharWidth):
        (WebCore::SimpleFontData::setAvgCharWidth):
        (WebCore::SimpleFontData::setSpaceWidth):
        (WebCore::SimpleFontData::setSpaceGlyph):
        (WebCore::SimpleFontData::setZeroWidthSpaceGlyph):
        (WebCore::SimpleFontData::fontData):
        (WebCore::SimpleFontData::isSVGFont):
        (WebCore::SimpleFontData::setMissingGlyphData):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::setAllowTabs):
        (WebCore::TextRun::setXPos):
        (WebCore::TextRun::RenderingContext::~RenderingContext):
        (WebCore::TextRun::renderingContext):
        (WebCore::TextRun::setRenderingContext):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::selectionRect):
        (WebCore::EllipsisBox::paintSelection):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintCompositionBackground):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        (WebCore::InlineTextBox::constructTextRun):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::stripTrailingSpace):
        (WebCore::RenderBlock::constructTextRun):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setLogicalWidthForTextRun):
        (WebCore::textWidth):
        (WebCore::tryHyphenating):
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        * rendering/RenderCombineText.cpp:
        (WebCore::RenderCombineText::combineText):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::applyLineClamp):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::setImageSizeForAltText):
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::computePreferredLogicalWidths):
        (WebCore::RenderListMarker::getRelativeMarkerRect):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::trimmedPrefWidths):
        (WebCore::RenderText::computePreferredLogicalWidths):
        (WebCore::RenderText::width):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::getAvgCharWidth):
        * rendering/svg/RenderSVGAllInOne.cpp:
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
        (WebCore::SVGInlineTextBox::constructTextRun):
        (WebCore::SVGInlineTextBox::paintText):
        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::constructTextRun):
        (WebCore::SVGTextMetrics::measureCharacterRange):
        * rendering/svg/SVGTextRunRenderingContext.cpp: Copied from svg/SVGFont.cpp.
        (WebCore::svgFontAndFontFaceElementForFontData):
        (WebCore::firstParentRendererForNonTextNode):
        (WebCore::referencingRenderObjectFromRun):
        (WebCore::activePaintingResourceFromRun):
        (WebCore::SVGTextRunWalker::walk):
        (WebCore::floatWidthMissingGlyphCallback):
        (WebCore::floatWidthOfSubStringUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
        * rendering/svg/SVGTextRunRenderingContext.h: Added.
        (WebCore::SVGTextRunRenderingContext::create):
        (WebCore::SVGTextRunRenderingContext::context):
        (WebCore::SVGTextRunRenderingContext::activePaintingResource):
        (WebCore::SVGTextRunRenderingContext::setActivePaintingResource):
        (WebCore::SVGTextRunRenderingContext::SVGTextRunRenderingContext):
        (WebCore::textRunNeedsRenderingContext):
        * svg/SVGAllInOne.cpp:
        * svg/SVGFont.cpp: Removed.
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::initializeFontData):
        * svg/SVGFontData.h:
        (WebCore::SVGFontData::create):
        (WebCore::SVGFontData::isSVGFontData):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::SVGGlyphElement):
        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::SVGHKernElement):
        (WebCore::SVGHKernElement::buildHorizontalKerningPair):
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::SVGVKernElement):
        (WebCore::SVGVKernElement::buildVerticalKerningPair):
        * svg/SVGVKernElement.h:

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

9 years ago2011-05-24 Ryuan Choi <ryuan.choi@samsung.com>
commit-queue@webkit.org [Tue, 24 May 2011 15:13:17 +0000 (15:13 +0000)]
2011-05-24  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Andreas Kling.

        [GTK] Implement GraphicsContextCairo::imageInterpolationQuality().
        https://bugs.webkit.org/show_bug.cgi?id=60827

        Implement getter/setter of imageInterpolationQuality and logic to change
        interpolation algorithm when drawing image.
        Mac and Qt already implemented it.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::setImageInterpolationQuality):
        (WebCore::GraphicsContext::imageInterpolationQuality):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::PlatformContextCairo::drawSurfaceToContext):
        * platform/graphics/cairo/PlatformContextCairo.h:
        (WebCore::PlatformContextCairo::setImageInterpolationQuality): Added.
        (WebCore::PlatformContextCairo::imageInterpolationQuality): Added.

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

9 years ago2011-05-24 Leandro Gracia Gil <leandrogracia@chromium.org>
commit-queue@webkit.org [Tue, 24 May 2011 15:11:48 +0000 (15:11 +0000)]
2011-05-24  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Tony Gentilcore.

        Media Stream API: adding Stream and GeneratedStream classes.
        https://bugs.webkit.org/show_bug.cgi?id=56666

        Add the code for the Stream and GeneratedStream classes and integrate it
        with the existing stream generation requests.

        Tests for the Media Stream API will be provided by the bug 56587.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * dom/DOMAllInOne.cpp:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toStream):
        (WebCore::EventTarget::toGeneratedStream):
        * dom/EventTarget.h:
        * dom/GeneratedStream.cpp: Added.
        (WebCore::GeneratedStream::DispatchUpdateTask::create):
        (WebCore::GeneratedStream::DispatchUpdateTask::performTask):
        (WebCore::GeneratedStream::DispatchUpdateTask::DispatchUpdateTask):
        (WebCore::GeneratedStream::create):
        (WebCore::GeneratedStream::GeneratedStream):
        (WebCore::GeneratedStream::~GeneratedStream):
        (WebCore::GeneratedStream::toGeneratedStream):
        (WebCore::GeneratedStream::detachEmbedder):
        (WebCore::GeneratedStream::stop):
        (WebCore::GeneratedStream::onStop):
        * dom/GeneratedStream.h: Added.
        * dom/GeneratedStream.idl: Added.
        * dom/Stream.cpp: Added.
        (WebCore::Stream::create):
        (WebCore::Stream::Stream):
        (WebCore::Stream::~Stream):
        (WebCore::Stream::toStream):
        (WebCore::Stream::streamEnded):
        (WebCore::Stream::scriptExecutionContext):
        (WebCore::Stream::eventTargetData):
        (WebCore::Stream::ensureEventTargetData):
        * dom/Stream.h: Added.
        (WebCore::Stream::readyState):
        (WebCore::Stream::label):
        (WebCore::Stream::refEventTarget):
        (WebCore::Stream::derefEventTarget):
        * dom/Stream.idl: Added.
        * page/CallbackTask.h:
        (WebCore::CallbackTask1::Scheduler::~Scheduler):
        * page/MediaStreamClient.h:
        * page/MediaStreamController.cpp:
        (WebCore::MediaStreamController::stopGeneratedStream):
        (WebCore::MediaStreamController::streamFailed):
        * page/MediaStreamController.h:
        * page/MediaStreamFrameController.cpp:
        (WebCore::MediaStreamFrameController::Request::Request):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
        (WebCore::MediaStreamFrameController::unregister):
        (WebCore::MediaStreamFrameController::getStreamFromLabel):
        (WebCore::MediaStreamFrameController::generateStream):
        (WebCore::MediaStreamFrameController::stopGeneratedStream):
        (WebCore::MediaStreamFrameController::streamGenerated):
        (WebCore::MediaStreamFrameController::streamGenerationFailed):
        (WebCore::MediaStreamFrameController::streamFailed):
        * page/MediaStreamFrameController.h:
        (WebCore::MediaStreamFrameController::StreamClient::StreamClient):
        (WebCore::MediaStreamFrameController::StreamClient::isGeneratedStream):
        * page/NavigatorUserMediaError.h:
        (WebCore::NavigatorUserMediaError::create):
        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
        * page/NavigatorUserMediaSuccessCallback.h:
        * page/NavigatorUserMediaSuccessCallback.idl:

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

9 years agoPart 2 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
ddkilzer@apple.com [Tue, 24 May 2011 15:10:31 +0000 (15:10 +0000)]
Part 2 of 2: <webkit.org/b/60805> Enable -Wnewline-eof on ANGLE

Reviewed by Adam Roben.

* Configurations/Base.xcconfig:
(GCC_WARN_ABOUT_MISSING_NEWLINE): Added. Set to YES.

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

9 years agoMake TestFailures show how many tests are failing on each tester, and omit testers...
aroben@apple.com [Tue, 24 May 2011 15:09:39 +0000 (15:09 +0000)]
Make TestFailures show how many tests are failing on each tester, and omit testers with no failures

Fixes <http://webkit.org/b/61063> <rdar://problem/9460533> TestFailures page shows testers
that don't have any failing tests, which isn't useful

Reviewed by David Kilzer.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Buildbot.js:
(Buildbot.prototype.getTesters): Renamed from getTesterNames. Now returns Builder objects
instead of name strings.
(Buildbot.prototype._buildersForNames): Added. Helper function to convert an array of
builder names into an array of builders.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
(Builder.prototype.getMostRecentCompletedBuildNumber): Added. Returns the build number of
the most recently completed build, or -1 if there is no such build.
(Builder.prototype.getNumberOfFailingTests): Added. Returns the number of tests that failed
in the given build, or -1 if the number could not be determined. Some of this code came from
_getFailingTests.
(Builder.prototype._getBuildJSON): Added. Code came from _getFailingTests.
(Builder.prototype._getFailingTests): Changed to use new _getBuildJSON and
getNumberOfFailingTests functions.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
(ViewController.prototype._displayTesters): Get the current number of test failures for each
tester and show it in the list. Omit testers that have no failures at all. We keep the
testers and failure counts in an array and sort it before displaying the current data, as
the order in which data will be fetched is unpredictable.

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

9 years agoREGRESSION (r45620): Node list caches never deleted
antti@apple.com [Tue, 24 May 2011 14:48:24 +0000 (14:48 +0000)]
REGRESSION (r45620): Node list caches never deleted
https://bugs.webkit.org/show_bug.cgi?id=61268
<rdar://problem/9467379>

Reviewed by Oliver Hunt.

NodeListsNodeData::isEmpty() tests if RefCounted objects have refcount of zero which is impossible.
As a results NodeList caches are never deleted, causing bad performance in DOM mutating operations as
they repeatedly invalidate caches.

* dom/Node.cpp:
(WebCore::Node::childNodes):
    Construct m_childNodeListCaches lazily.

(WebCore::Node::unregisterDynamicNodeList):
(WebCore::Node::notifyLocalNodeListsAttributeChanged):
(WebCore::Node::notifyLocalNodeListsChildrenChanged):
(WebCore::Node::removeNodeListCacheIfPossible):
    Add a helper.

(WebCore::NodeListsNodeData::invalidateCaches):
    Invalidate m_childNodeListCaches by clearing it if there are no additional clients

(WebCore::NodeListsNodeData::isEmpty):
    Test emptiness of various NodeListCaches simply by testing hash emptiness instead of testing for non-zero ref count of items.
    m_childNodeListCaches is empty if it is null.

* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::NodeListsNodeData):
    Construct m_childNodeListCaches lazily.

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

9 years ago2011-05-24 Mikhail Naganov <mnaganov@chromium.org>
mnaganov@chromium.org [Tue, 24 May 2011 14:17:10 +0000 (14:17 +0000)]
2011-05-24  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Reorganize InspectorBackendDispatch code to eliminate duplication
        https://bugs.webkit.org/show_bug.cgi?id=61300

        * inspector/CodeGeneratorInspector.pm:

2011-05-24  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Reorganize InspectorBackendDispatch code to eliminate duplication
        https://bugs.webkit.org/show_bug.cgi?id=61300

        * src/WebDevToolsAgentImpl.cpp:
        (WebKit::WebDevToolsAgent::shouldInterruptForMessage):

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

9 years ago2011-05-23 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Tue, 24 May 2011 12:38:13 +0000 (12:38 +0000)]
2011-05-23  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        Chromium DevTools: Tab crashes with "Aw, snap!" on entering "(new Image())." in console
        https://bugs.webkit.org/show_bug.cgi?id=61194

        * inspector/console/console-eval-syntax-error-expected.txt: Added.
        * inspector/console/console-eval-syntax-error.html: Added.
        * platform/chromium/inspector/console/console-eval-syntax-error-expected.txt: Added.
2011-05-23  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        Chromium DevTools: Tab crashes with "Aw, snap!" on entering "(new Image())." in console
        https://bugs.webkit.org/show_bug.cgi?id=61194

        Test: inspector/console/console-eval-syntax-error.html

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::evaluateCallback): return immediately in case of syntax error

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

9 years ago2011-05-24 Gabor Loki <loki@webkit.org>
loki@webkit.org [Tue, 24 May 2011 11:22:44 +0000 (11:22 +0000)]
2011-05-24  Gabor Loki  <loki@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.

        [Qt] Skip failing new test introduced in r87096

        * platform/qt-arm/Skipped:

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

9 years ago2011-04-13 Steve Block <steveblock@google.com>
steveblock@google.com [Tue, 24 May 2011 10:54:06 +0000 (10:54 +0000)]
2011-04-13  Steve Block  <steveblock@google.com>

        Reviewed by Eric Seidel.

        Geolocation callbacks should make use of new callback generation mechanism
        https://bugs.webkit.org/show_bug.cgi?id=40065

        No new tests, refactoring only.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSCustomPositionCallback.cpp: Removed.
        * bindings/js/JSCustomPositionCallback.h: Removed.
        * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
        * bindings/js/JSCustomPositionErrorCallback.h: Removed.
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/v8/custom/V8CustomPositionCallback.cpp: Removed.
        * bindings/v8/custom/V8CustomPositionCallback.h: Removed.
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Removed.
        * bindings/v8/custom/V8CustomPositionErrorCallback.h: Removed.
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        (WebCore::V8Geolocation::getCurrentPositionCallback):
        (WebCore::V8Geolocation::watchPositionCallback):
        * page/PositionCallback.h:
        * page/PositionCallback.idl: Added.
        * page/PositionErrorCallback.h:
        * page/PositionErrorCallback.idl: Added.

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

9 years ago2011-05-24 Leon Scroggins <scroggo@google.com>
commit-queue@webkit.org [Tue, 24 May 2011 10:04:41 +0000 (10:04 +0000)]
2011-05-24  Leon Scroggins  <scroggo@google.com>

        Reviewed by James Robinson.

        Update expectations for shadow tests which are now passing.
        https://bugs.webkit.org/show_bug.cgi?id=61278

        Also remove some expectations for missing tests.

        * platform/chromium/test_expectations.txt:

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

9 years ago[Qt][Mac] Skip one more failing test.
ossy@webkit.org [Tue, 24 May 2011 09:27:23 +0000 (09:27 +0000)]
[Qt][Mac] Skip one more failing test.

* platform/qt-mac/Skipped:

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

9 years ago2011-05-23 Pavel Podivilov <podivilov@chromium.org>
podivilov@chromium.org [Tue, 24 May 2011 09:24:50 +0000 (09:24 +0000)]
2011-05-23  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: watched expressions buttons do not match inspector styles.
        https://bugs.webkit.org/show_bug.cgi?id=30554

        * WebCore.gypi:
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.XHRBreakpointsSidebarPane):
        * inspector/front-end/Images/deleteIcon.png: Added.
        * inspector/front-end/Images/paneRefreshButtons.png: Added.
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
        (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
        (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
        (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
        (WebInspector.WatchExpressionsSection):
        (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
        (WebInspector.WatchExpressionsSection.prototype.update):
        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
        (WebInspector.WatchExpressionsSection.prototype._mouseMove):
        (WebInspector.WatchExpressionsSection.prototype._mouseOut):
        (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
        (WebInspector.WatchExpressionsSection.CompareProperties):
        (WebInspector.WatchExpressionTreeElement.prototype.update):
        (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.properties-tree.watch-expressions):
        (.properties-tree.watch-expressions li):
        (.section .properties .delete-button):
        (.section .properties li.hovered .delete-button):
        (.pane > .title > .pane-title-button):
        (.pane > .title > .pane-title-button:hover):
        (.pane > .title > .pane-title-button:active):
        (.pane > .title > .pane-title-button.add):
        (.pane > .title > .pane-title-button.refresh):

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

9 years ago2011-05-24 Yuta Kitamura <yutak@chromium.org>
yutak@chromium.org [Tue, 24 May 2011 09:15:49 +0000 (09:15 +0000)]
2011-05-24  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Kent Tamura.

        WebSocket: Add fail() to WebSocketChannel and its family
        https://bugs.webkit.org/show_bug.cgi?id=61277

        This is the first part of refactoring effort described in bug 61115.
        Existing error reports will be modified to use fail() in a later patch.

        No change in behavior, thus no new tests.

        * websockets/ThreadableWebSocketChannel.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::fail):
        * websockets/WebSocketChannel.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::fail):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::fail):
        (WebCore::WorkerThreadableWebSocketChannel::mainThreadFail):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
        * websockets/WorkerThreadableWebSocketChannel.h:

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

9 years ago2011-05-24 Andras Becsi <abecsi@webkit.org>
abecsi@webkit.org [Tue, 24 May 2011 09:05:20 +0000 (09:05 +0000)]
2011-05-24  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][V8] REGRESSION (r87063): Fix the build.
        https://bugs.webkit.org/show_bug.cgi?id=61290

        No new tests needed.

        * bindings/scripts/CodeGeneratorV8.pm: disable the unsupported call
        tracked in: https://bugs.webkit.org/show_bug.cgi?id=61291

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

9 years ago2011-05-24 Naoki Takano <takano.naoki@gmail.com>
commit-queue@webkit.org [Tue, 24 May 2011 09:02:49 +0000 (09:02 +0000)]
2011-05-24  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kent Tamura.

        [Chromium]Add clipping for listBox in popup window to fix wrong location display when the autofill item is really long.
        https://bugs.webkit.org/show_bug.cgi?id=61252
        http://code.google.com/p/chromium/issues/detail?id=83539

        Manual test: manual-tests/autofill-popup-location.html.

        * manual-tests/autofill-popup-location.html: With long long text, test the shown location is correct.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::setBaseWidth): Clip width with m_maxWindowWidth.
        (WebCore::PopupListBox::PopupListBox): Add m_maxWindowWidth initialization.
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Call setMaxWidthAndLayout() when the width is clipped with screen size.
        (WebCore::PopupListBox::setMaxWidthAndLayout): Set m_maxWindowWidth and call layout().
        (WebCore::PopupListBox::layout): Compare renewed windowWidth and m_maxWindowWidth, and clip the it.

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

9 years ago2011-05-24 James Robinson <jamesr@chromium.org>
commit-queue@webkit.org [Tue, 24 May 2011 08:42:44 +0000 (08:42 +0000)]
2011-05-24  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Properly handle huge initial dimensions for 2d canvas when accelerated 2d canvas is enabled
        https://bugs.webkit.org/show_bug.cgi?id=60077

        Update expectation to reflect that the canvas layer isn't composited.

        * platform/chromium-gpu/compositing/tiling/huge-layer-img-expected.txt:
2011-05-24  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Properly handle huge initial dimensions for 2d canvas when accelerated 2d canvas is enabled
        https://bugs.webkit.org/show_bug.cgi?id=60077

        Return NULL from DrawingBuffer::create() if the initial dimensions are larger than we can support in hardware so
        that we properly use the software canvas path and not enable the compositor for the canvas.

        compositing/tiling/huge-layer-img.html triggers this case by trying to create a 20000 pixel high canvas.  The
        failure was previously masked by other bugs fixed by r85661.

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
            Return NULL from DrawingBuffer::create() if resize() fails.

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

9 years ago2011-05-24 Fumitoshi Ukai <ukai@chromium.org>
ukai@chromium.org [Tue, 24 May 2011 08:10:46 +0000 (08:10 +0000)]
2011-05-24  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Adam Barth.

        close before open WebSocket doesn't fire close event.
        https://bugs.webkit.org/show_bug.cgi?id=57301

        * http/tests/websocket/tests/close-before-open-expected.txt: Added.
        * http/tests/websocket/tests/close-before-open.html: Added.
2011-05-24  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Adam Barth.

        close before open WebSocket doesn't fire close event.
        https://bugs.webkit.org/show_bug.cgi?id=57301

        In platformClose(), m_readStream may be 0 until proxy is resolved.
        It should callback didClose() in such case.

        Test: http/tests/websocket/tests/close-before-open.html

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::platformClose):

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

9 years ago[Qt][WK2] Paint the bot green for ultimate satisfaction of Ossy.
zoltan@webkit.org [Tue, 24 May 2011 07:42:25 +0000 (07:42 +0000)]
[Qt][WK2] Paint the bot green for ultimate satisfaction of Ossy.

* platform/qt-wk2/Skipped:

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

9 years ago[Qt][Mac] Skip failing tests.
ossy@webkit.org [Tue, 24 May 2011 07:22:00 +0000 (07:22 +0000)]
[Qt][Mac] Skip failing tests.

* platform/qt-mac/Skipped:

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

9 years ago2011-05-24 Annie Sullivan <sullivan@chromium.org>
commit-queue@webkit.org [Tue, 24 May 2011 07:16:10 +0000 (07:16 +0000)]
2011-05-24  Annie Sullivan  <sullivan@chromium.org>

        Reviewed by Ryosuke Niwa.

        editing/deleting/5026848-2 and editing/deleting/5026848-3 should be dump-as-markup tests
        https://bugs.webkit.org/show_bug.cgi?id=61323

        Convert editing/deleting/5026848-2 and editing/deleting/5026848-3 to dump-as-markup.

        * editing/deleting/5026848-2-expected.txt: Added.
        * editing/deleting/5026848-2.html: Convert to dump-as-markup.
        * editing/deleting/5026848-3-expected.txt: Added.
        * editing/deleting/5026848-3.html: Convert to dump-as-markup.
        * platform/chromium-linux/editing/deleting/5026848-2-expected.png: Removed.
        * platform/chromium-linux/editing/deleting/5026848-3-expected.png: Removed.
        * platform/chromium-win/editing/deleting/5026848-2-expected.png: Removed.
        * platform/chromium-win/editing/deleting/5026848-2-expected.txt: Removed.
        * platform/chromium-win/editing/deleting/5026848-3-expected.png: Removed.
        * platform/chromium-win/editing/deleting/5026848-3-expected.txt: Removed.
        * platform/gtk/editing/deleting/5026848-2-expected.txt: Removed.
        * platform/gtk/editing/deleting/5026848-3-expected.txt: Removed.
        * platform/mac-leopard/editing/deleting/5026848-2-expected.png: Removed.
        * platform/mac-leopard/editing/deleting/5026848-3-expected.png: Removed.
        * platform/mac/editing/deleting/5026848-2-expected.png: Removed.
        * platform/mac/editing/deleting/5026848-2-expected.txt: Removed.
        * platform/mac/editing/deleting/5026848-3-expected.png: Removed.
        * platform/mac/editing/deleting/5026848-3-expected.txt: Removed.
        * platform/qt/editing/deleting/5026848-2-expected.png: Removed.
        * platform/qt/editing/deleting/5026848-2-expected.txt: Removed.
        * platform/qt/editing/deleting/5026848-3-expected.png: Removed.
        * platform/qt/editing/deleting/5026848-3-expected.txt: Removed.

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

9 years ago2011-05-23 Gabor Loki <loki@webkit.org>
loki@webkit.org [Tue, 24 May 2011 07:04:01 +0000 (07:04 +0000)]
2011-05-23  Gabor Loki  <loki@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.

        [Qt] Skip failing test because of missing anti-aliased fonts on ARM

        * platform/qt-arm/Skipped:

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

9 years ago2011-05-23 Sheriff Bot <webkit.review.bot@gmail.com>
ukai@chromium.org [Tue, 24 May 2011 06:39:27 +0000 (06:39 +0000)]
2011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r87118.
        http://trac.webkit.org/changeset/87118
        https://bugs.webkit.org/show_bug.cgi?id=61347

        patch breaks layout tests
        (https://bugs.webkit.org/show_bug.cgi?id=61342), and chromium
        tests (browser_test MacTestCmdUp and ui_test Scrollbar)
        (Requested by ukai_ on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/ScrollAnimator.cpp:
        * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
        * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
        * platform/graphics/IntPoint.h:

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

9 years ago2011-05-23 Julien Chaffraix <jchaffraix@codeaurora.org>
commit-queue@webkit.org [Tue, 24 May 2011 06:07:28 +0000 (06:07 +0000)]
2011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Adam Barth.

        Remove Node::deprecatedParserAddChild
        https://bugs.webkit.org/show_bug.cgi?id=60818

        No new tests as this is just a removal.

        * dom/ContainerNode.cpp:
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        * dom/Node.h:
        Removed the method now that the last instance got removed as part of the <input>
        shadow DOM refactoring.

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

9 years ago2011-05-23 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Tue, 24 May 2011 05:28:00 +0000 (05:28 +0000)]
2011-05-23  Dirk Schulze  <krit@webkit.org>

        Reviewed by Darin Adler.

        SVGTextPositioning attributes are marked as NumberList instead of LengthList
        https://bugs.webkit.org/show_bug.cgi?id=61301

        SVGTextPositioningElement attributes x, y, dx and dy were marked as AnimatedNumberList
        instead of AnimatedLengthList.
        See specification http://www.w3.org/TR/SVG/text.html#InterfaceSVGTextPositioningElement

        This does not affect the behavior, since we do not respect SVG units in SMIL animation yet.
        No new tests added.

        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):

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

9 years agoUnreviewed.
ukai@chromium.org [Tue, 24 May 2011 04:53:11 +0000 (04:53 +0000)]
Unreviewed.

Chromium expectations update.
https://bugs.webkit.org/show_bug.cgi?id=61342

* platform/chromium/test_expectations.txt:

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

9 years ago2011-05-19 MORITA Hajime <morrita@google.com>
morrita@google.com [Tue, 24 May 2011 04:11:35 +0000 (04:11 +0000)]
2011-05-19  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [Refactoring] Pass NodeRenderingContext to Node::rendererIsNeeded()
        https://bugs.webkit.org/show_bug.cgi?id=61114

        - Extracted NodeRenderingContext from NodeRendererFactory, giving separate files to it.
        - Changed signature rendererIsNeeded(RenderStyle*)
          to rendererIsNeeded(const NodeRenderingContext&).
          The style object is retrieved from NodeRendererFactory::style()
          This will allow rendererIsNeeded() to access contextual
          information like attaching phase and rendering-parent.

        No new tests. No behaviour change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::updateRenderer): Pass unresolved NodeRenderingContext& to rendererIsNeeded()
        (WebCore::CharacterData::rendererIsNeeded):
        * dom/CharacterData.h:
        * dom/DOMAllInOne.cpp:
        * dom/EditingText.cpp:
        (WebCore::EditingText::rendererIsNeeded):
        * dom/EditingText.h:
        * dom/Node.cpp:
        (WebCore::Node::parentNodeForRenderingAndStyle):
        (WebCore::Node::rendererIsNeeded):
        * dom/Node.h:
        * dom/NodeRenderingContext.cpp: Added.
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::~NodeRenderingContext):
        (WebCore::NodeRenderingContext::setStyle):
        (WebCore::NodeRenderingContext::releaseStyle):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::parentRenderer):
        (WebCore::NodeRenderingContext::hostChildrenChanged):
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        (WebCore::NodeRendererFactory::NodeRendererFactory):
        (WebCore::NodeRendererFactory::createRendererAndStyle):
        (WebCore::wrapWithRenderFullScreen):
        (WebCore::NodeRendererFactory::createRendererIfNeeded):
        * dom/NodeRenderingContext.h: Added.
        (WebCore::NodeRenderingContext::node):
        (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
        (WebCore::NodeRenderingContext::style):
        (WebCore::NodeRendererFactory::context):
        * dom/ShadowContentElement.h:
        * dom/Text.cpp:
        * dom/Text.h:
        * html/HTMLAppletElement.cpp:
        * html/HTMLAppletElement.h:
        * html/HTMLElement.cpp:
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        * html/HTMLEmbedElement.h:
        * html/HTMLFormElement.cpp:
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.cpp:
        * html/HTMLFrameElement.h:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLFrameSetElement.h:
        * html/HTMLIFrameElement.cpp:
        * html/HTMLIFrameElement.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:
        * html/HTMLNoScriptElement.h:
        * html/HTMLObjectElement.cpp:
        * html/HTMLObjectElement.h:
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.h:
        * html/HTMLVideoElement.cpp:
        * html/HTMLVideoElement.h:
        * html/shadow/DetailsMarkerControl.cpp:
        * html/shadow/DetailsMarkerControl.h:
        * html/shadow/MeterShadowElement.cpp:
        * html/shadow/MeterShadowElement.h:
        * html/shadow/ProgressShadowElement.cpp:
        * html/shadow/ProgressShadowElement.h:
        * svg/SVGDescElement.h:
        * svg/SVGElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFontElement.h:
        * svg/SVGGElement.cpp:
        * svg/SVGGElement.h:
        * svg/SVGGlyphElement.h:
        * svg/SVGHKernElement.h:
        * svg/SVGMarkerElement.h:
        * svg/SVGMissingGlyphElement.h:
        * svg/SVGSVGElement.h:
        * svg/SVGStyledElement.cpp:
        * svg/SVGStyledElement.h:
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.cpp:
        * svg/SVGTSpanElement.h:
        * svg/SVGTextPathElement.cpp:
        * svg/SVGTextPathElement.h:
        * svg/SVGTitleElement.h:
        * svg/SVGVKernElement.h:
        * svg/SVGViewElement.h:

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

9 years ago2011-05-23 Tony Chang <tony@chromium.org>
tony@chromium.org [Tue, 24 May 2011 03:41:06 +0000 (03:41 +0000)]
2011-05-23  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        [nrwt] don't use NetworkTranslation when uploading results
        https://bugs.webkit.org/show_bug.cgi?id=61315

        This avoids autoinstalling mechanize.  It didn't matter anyway
        because test_results_uploader.py wasn't using mechanize to make the
        request so NetworkTransaction::run wasn't doing anything extra
        (it only matters if it catches mechanize.HTTPError).

        * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py:

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

9 years ago2011-05-20 MORITA Hajime <morrita@google.com>
morrita@google.com [Tue, 24 May 2011 03:31:34 +0000 (03:31 +0000)]
2011-05-20  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [Refactoring] attach() following detach() should be replaced with Node::reattach()
        https://bugs.webkit.org/show_bug.cgi?id=61011

        - Renamed forceReattach() to reattach()
        - Introduced reattachIfAttached() as a variant.

        No new tests. No behavior change.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::updateRenderer):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * dom/Node.h:
        (WebCore::Node::reattach):
        (WebCore::Node::reattachIfAttached):
        * dom/Text.cpp:
        (WebCore::Text::recalcStyle):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::refreshMainSummary):
        (WebCore::HTMLDetailsElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderFallbackContent):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::recalcStyle):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseMappedAttribute):

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

9 years agoBuild fix after r87117.
mrowe@apple.com [Tue, 24 May 2011 03:26:30 +0000 (03:26 +0000)]
Build fix after r87117.

When moving #defines out in to separate files I find that code is more likely to compile
when the new header file is actually #included.

* editing/SpellingCorrectionController.h:

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

9 years ago2011-05-23 Mike Lawther <mikelawther@chromium.org>
commit-queue@webkit.org [Tue, 24 May 2011 02:25:43 +0000 (02:25 +0000)]
2011-05-23  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by James Robinson.

        implement image-rendering: optimize-contrast (with a vendor prefix) as defined in CSS3 image values
        https://bugs.webkit.org/show_bug.cgi?id=56627

        * css3/images/optimize-contrast-canvas-expected.checksum: Added.
        * css3/images/optimize-contrast-canvas-expected.png: Added.
        * css3/images/optimize-contrast-canvas-expected.txt: Added.
        * css3/images/optimize-contrast-canvas.html: Added.
        * css3/images/optimize-contrast-image-expected.checksum: Added.
        * css3/images/optimize-contrast-image-expected.png: Added.
        * css3/images/optimize-contrast-image-expected.txt: Added.
        * css3/images/optimize-contrast-image.html: Added.
2011-05-23  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by James Robinson.

        implement image-rendering: optimize-contrast (with a vendor prefix) as defined in CSS3 image values
        https://bugs.webkit.org/show_bug.cgi?id=56627

        Tests: css3/images/optimize-contrast-canvas.html
               css3/images/optimize-contrast-image.html

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EImageRendering):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        * html/HTMLCanvasElement.h:
        * platform/graphics/ImageRenderingMode.h: Added.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paintReplaced):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::imageRendering):
        (WebCore::InheritedFlags::setImageRendering):
        (WebCore::InheritedFlags::initialImageRendering):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):

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

9 years ago2011-05-23 Justin Schuh <jschuh@chromium.org>
jschuh@chromium.org [Tue, 24 May 2011 02:15:58 +0000 (02:15 +0000)]
2011-05-23  Justin Schuh  <jschuh@chromium.org>

        Unreviewed.

        Chromium multiple expectations update.

        * platform/chromium/test_expectations.txt:

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

9 years ago2011-05-23 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Tue, 24 May 2011 02:08:46 +0000 (02:08 +0000)]
2011-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Cap painting to 30fps on Windows
        https://bugs.webkit.org/show_bug.cgi?id=61337
        <rdar://problem/9213388>

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::displayTimerFired):

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

9 years ago2011-05-23 Sailesh Agrawal <sail@chromium.org>
commit-queue@webkit.org [Tue, 24 May 2011 02:04:01 +0000 (02:04 +0000)]
2011-05-23  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by James Robinson.

        Chromium Mac: Use ScrollAnimatorMac.mm for overlay scrollbar support
        https://bugs.webkit.org/show_bug.cgi?id=59753

        No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/ScrollAnimator.cpp:
        * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
        (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
        (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
        (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
        * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file.
        (abs):
        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
        (-[ScrollAnimationHelperDelegate bounds]):
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
        (-[ScrollAnimationHelperDelegate superview]):
        (-[ScrollAnimationHelperDelegate documentView]):
        (-[ScrollAnimationHelperDelegate window]):
        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPartAnimation setCurrentProgress:]):
        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterDelegate cancelAnimations]):
        (-[ScrollbarPainterDelegate convertRectToBacking:]):
        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
        (-[ScrollbarPainterDelegate layer]):
        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::scroll):
        (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
        (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentsResized):
        (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
        (WebCore::elasticDeltaForTimeDelta):
        (WebCore::reboundDeltaForElasticDelta):
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::scrollWheelMultiplier):
        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
        (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
        (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
        (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
        (WebCore::roundTowardZero):
        (WebCore::roundToDevicePixelTowardZero):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
        (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
        (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
        (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
        * platform/graphics/IntPoint.h:

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

9 years ago2011-05-22 MORITA Hajime <morrita@google.com>
morrita@google.com [Tue, 24 May 2011 01:58:41 +0000 (01:58 +0000)]
2011-05-22  MORITA Hajime  <morrita@google.com>

        Reviewed by Ryosuke Niwa.

        SUPPORT_AUTOCORRECTION_PANEL should be USE(AUTOCORRECTION_PANEL)
        https://bugs.webkit.org/show_bug.cgi?id=61181

        - Removed SUPPORT_AUTOCORRECTION_PANEL and REMOVE_MARKERS_UPON_EDITING from SpellingCorrectionController.h
        - Define WTF_USE_UNIFIED_TEXT_CHECKING and WTF_USE_AUTOMATIC_TEXT_REPLACEMENT at TextChecking.h

        No new tests. Just renaming a compilation conditional.

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/SpellingCorrectionCommand.cpp:
        (WebCore::SpellingCorrectionCommand::doApply):
        * editing/SpellingCorrectionController.cpp:
        * editing/SpellingCorrectionController.h:
        (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):
        * loader/EmptyClients.h:
        * page/EditorClient.h:
        * platform/text/TextChecking.h:

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

9 years ago2011-05-23 Tony Chang <tony@chromium.org>
tony@chromium.org [Tue, 24 May 2011 01:56:11 +0000 (01:56 +0000)]
2011-05-23  Tony Chang  <tony@chromium.org>

        Reviewed by Dirk Pranke.

        [chromium] fix the rebaseline tool to work with Linux GPU failures
        https://bugs.webkit.org/show_bug.cgi?id=61312

        * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:

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

9 years ago2011-05-23 Sheriff Bot <webkit.review.bot@gmail.com>
commit-queue@webkit.org [Tue, 24 May 2011 01:52:11 +0000 (01:52 +0000)]
2011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r87007.
        http://trac.webkit.org/changeset/87007
        https://bugs.webkit.org/show_bug.cgi?id=61329

        patch unnecessarily breaks HTML5 compatibility (Requested by
        estes on #webkit).

        * fast/replaced/object-with-non-empty-classid-triggers-fallback-expected.txt:
        * fast/replaced/object-with-non-empty-classid-triggers-fallback.html:
2011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r87007.
        http://trac.webkit.org/changeset/87007
        https://bugs.webkit.org/show_bug.cgi?id=61329

        patch unnecessarily breaks HTML5 compatibility (Requested by
        estes on #webkit).

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::hasValidClassId):

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

9 years ago2011-05-23 Julien Chaffraix <jchaffraix@codeaurora.org>
jchaffraix@webkit.org [Tue, 24 May 2011 01:17:11 +0000 (01:17 +0000)]
2011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Darin Adler.

        Test for: Crash from null pointer dereference below WebCore::StorageAreaImpl::setItem()
        https://bugs.webkit.org/show_bug.cgi?id=57140
        <rdar://problem/9191214>

        * fast/storage/storage-detached-iframe-expected.txt: Added.
        * fast/storage/storage-detached-iframe.html: Added.

        * platform/chromium/test_expectations.txt: Marked the test as CRASH
        on Chromium - Linux.
2011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Darin Adler.

        Crash from null pointer dereference below WebCore::StorageAreaImpl::setItem()
        https://bugs.webkit.org/show_bug.cgi?id=57140

        Test: fast/storage/storage-detached-iframe.html

        Access of localStorage on a detached iframe was causing a crash because a detached
        iframe has a null m_page, and WebCore::privateBrowsingEnabled() wasn't testing for such.

        * storage/StorageAreaImpl.cpp:
        (WebCore::privateBrowsingEnabled): check that child->page() is non-null before
        accessing it.

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

9 years ago2011-05-23 Jeremy Noble <jer.noble@apple.com>
jer.noble@apple.com [Tue, 24 May 2011 01:02:37 +0000 (01:02 +0000)]
2011-05-23  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r86990:86992): World leak when all windows closed
        https://bugs.webkit.org/show_bug.cgi?id=61311

        Three interlocking problems:

        1) Calling [WKView fullScreenController] will create the controller if it doesn't all ready
        exist, so move the closing code into WKView, where we can bail early if there isn't a
        controller.

        2) A retain-cycle exists between WKView and WKFullScreenWindowController.  Make sure to break
        the cycle explicitly by clearing the _fullScreenWindowController ivar when closing the
        controller.

        3) [NSWindowController close] was overridden without calling [super close].  Do that.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView closeFullScreenWindowController]): Moved here from WebFullScreenManagerProxyMac.mm.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController close]): Call [super close].
        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
        (WebKit::WebFullScreenManagerProxy::invalidate):

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

9 years agoIgnore generated .pyc files in a directory full of python code.
darin@apple.com [Tue, 24 May 2011 00:54:07 +0000 (00:54 +0000)]
Ignore generated .pyc files in a directory full of python code.

* Scripts/webkitpy/common/checkout/scm: Added property svn:ignore.

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

9 years agoVO doesn't work with HTML5 range (slider) input @step attribute
cfleizach@apple.com [Tue, 24 May 2011 00:31:14 +0000 (00:31 +0000)]
VO doesn't work with HTML5 range (slider) input @step attribute
https://bugs.webkit.org/show_bug.cgi?id=61298

Reviewed by David Kilzer.

Source/WebCore:

Test: platform/mac/accessibility/range-alter-by-step.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::stepValueForRange):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::alterSliderValue):
(WebCore::AccessibilityRenderObject::increment):
(WebCore::AccessibilityRenderObject::decrement):
(WebCore::AccessibilityRenderObject::stepValueForRange):
(WebCore::AccessibilityRenderObject::changeValueByStep):
* accessibility/AccessibilityRenderObject.h:

LayoutTests:

* platform/mac/accessibility/range-alter-by-step-expected.txt: Added.
* platform/mac/accessibility/range-alter-by-step.html: Added.

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

9 years ago2011-05-23 Ryosuke Niwa <rniwa@webkit.org>
rniwa@webkit.org [Tue, 24 May 2011 00:29:10 +0000 (00:29 +0000)]
2011-05-23  Ryosuke Niwa  <rniwa@webkit.org>

        Rebaselines work better if we had the new lines at the end of each file.

        * platform/gtk/fast/events/selectstart-by-double-triple-clicks-expected.txt:
        * platform/gtk/fast/events/selectstart-by-drag-expected.txt:
        * platform/qt/fast/events/selectstart-by-double-triple-clicks-expected.txt:
        * platform/qt/fast/events/selectstart-by-drag-expected.txt:
        * platform/qt/fast/events/selectstart-by-single-click-with-shift-expected.txt:
        * platform/win/fast/events/selectstart-by-drag-expected.txt:

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=61306
barraclough@apple.com [Tue, 24 May 2011 00:09:19 +0000 (00:09 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=61306

Reviewed by Geoff Garen.

The begin characters optimization currently has issues (#61129),
and does not appear to still be a performance win. The prudent
next step seems to be to disable while we ascertain whether this
is still a useful performance optimization.

* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::matchDisjunction):
(JSC::Yarr::Interpreter::interpret):
* yarr/YarrInterpreter.h:
(JSC::Yarr::BytecodePattern::BytecodePattern):
* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::YarrPatternConstructor):
(JSC::Yarr::YarrPattern::compile):
(JSC::Yarr::YarrPattern::YarrPattern):
* yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::reset):

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

9 years agoPart 1 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
ddkilzer@apple.com [Mon, 23 May 2011 23:53:05 +0000 (23:53 +0000)]
Part 1 of 2: <webkit.org/b/60805> Enable -Wnewline-eof on ANGLE

Merge ANGLE upstream commit r653 for Issue 154.

* src/compiler/PoolAlloc.h: Added newline to end of file.
* src/compiler/ShHandle.h: Ditto.
* src/libEGL/Display.cpp: Ditto.

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

9 years ago2011-05-23 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Mon, 23 May 2011 23:52:03 +0000 (23:52 +0000)]
2011-05-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        sheriffbot should give more details about the failures in IRC
        https://bugs.webkit.org/show_bug.cgi?id=61233

        With this patch, sheriffbot will annonce the set of failing tests,
        which might help folks triage the problem.

        * Scripts/webkitpy/tool/commands/sheriffbot.py:
        * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:

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

9 years ago2011-05-23 Gavin Peters <gavinp@chromium.org>
commit-queue@webkit.org [Mon, 23 May 2011 23:50:21 +0000 (23:50 +0000)]
2011-05-23  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        fix rel=prerender target types
        https://bugs.webkit.org/show_bug.cgi?id=61297

        The original fix in https://bugs.webkit.org/show_bug.cgi?id=61079
        didn't properly map the target type, and didn't carry the target
        types through to chromium properly.  Fixed.

        No new tests; it's very hard to catch these with a layout test, however
        all of the chromium Prerender browser tests will test this functionality
        when I land an upcoming chromium CL.

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::cachedResourceTypeToTargetType):
2011-05-23  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        fix rel=prerender target types
        https://bugs.webkit.org/show_bug.cgi?id=61297

        The original fix in https://bugs.webkit.org/show_bug.cgi?id=61079
        didn't properly map the target type, and didn't carry the target
        types through to chromium properly.  Fixed.

        No new tests; it's very hard to catch these with a layout test, however
        all of the chromium Prerender browser tests will test this functionality
        when I land an upcoming chromium CL.

        * public/WebURLRequest.h:

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

9 years ago2011-05-23 Ryosuke Niwa <rniwa@webkit.org>
rniwa@webkit.org [Mon, 23 May 2011 23:43:17 +0000 (23:43 +0000)]
2011-05-23  Ryosuke Niwa  <rniwa@webkit.org>

        Check in failing test expectations after r87096.
        They are tracked by the bugs 61319, 61320, and 61322.

        * platform/gtk/fast/events/selectstart-by-double-triple-clicks-expected.txt: Added.
        * platform/gtk/fast/events/selectstart-by-drag-expected.txt: Added.
        * platform/qt/fast/events/selectstart-by-double-triple-clicks-expected.txt: Added.
        * platform/qt/fast/events/selectstart-by-drag-expected.txt: Added.
        * platform/qt/fast/events/selectstart-by-single-click-with-shift-expected.txt: Added.
        * platform/win/fast/events/selectstart-by-drag-expected.txt: Added.

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

9 years ago2011-05-23 Ryosuke Niwa <rniwa@webkit.org>
rniwa@webkit.org [Mon, 23 May 2011 23:14:33 +0000 (23:14 +0000)]
2011-05-23  Ryosuke Niwa  <rniwa@webkit.org>

        Chromium test fix. On Chromium Windows, a space after a word is selected when you double click on the word.

        * fast/events/selectstart-by-double-triple-clicks.html:

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

9 years ago2011-05-23 Matthew Delaney <mdelaney@apple.com>
mdelaney@apple.com [Mon, 23 May 2011 22:33:39 +0000 (22:33 +0000)]
2011-05-23  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Remove safeFloatToInt() in FloatRect.cpp and replace with working version of clampToInteger()
        https://bugs.webkit.org/show_bug.cgi?id=58216

        * wtf/MathExtras.h:
        (clampToInteger):
        (clampToPositiveInteger):
2011-05-23  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Remove safeFloatToInt() in FloatRect.cpp and replace with working version of clampToInteger()
        https://bugs.webkit.org/show_bug.cgi?id=58216

        No new tests. The SVG tests mask-excessive-malloc.svg and pattern-excessive-malloc.svg exercise this code path.

        * platform/graphics/FloatRect.cpp:
        (WebCore::enclosingIntRect):

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

9 years ago2011-05-20 Jeremy Noble <jer.noble@apple.com>
jer.noble@apple.com [Mon, 23 May 2011 22:22:27 +0000 (22:22 +0000)]
2011-05-20  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Video looks squished when animating to full screen.
        https://bugs.webkit.org/show_bug.cgi?id=61220

        No new tests, because DumpRenderTree does not currently "animate" the full-screen transition.

        There are three issues animating video content to full screen which this patch is meant to
        address:
        1) The animation scales between the client sizes of the element before and after full-screen.
        Because these sizes have different aspect ratios, the video appears "squished" for part of
        the animation. Instead, we will animate between the content box sizes before and after full
        screen which, in the case of video now and object-fit content in the future, will have the
        same aspect ratio before and after full screen.
        2) Now that we are animating the full-screen video element's content box, the black letterbox
        bars appear above and below the video (depending on the video's aspect ratio) as soon as the
        animation begins. This is extremely jarring, so set the background color to clear. The
        full-screen renderer's background color will serve the same purpose (providing the letterbox
        background) once the animation completes.
        3) Now that the letterbox color is gone, the full screen controls can appear to float in thin
        air beneath the video (again, depending on aspect ratio) during the animation, so to avoid
        that effect and to make the animation consistent with the old webkitenterfullscreen()
        animation, we will hide the controls during the animation by adding a new CSS pseudo class
        -webkit-animating-full-screen-transition.

        Added a new css pseudo-class: -webkit-animating-full-screen.  During the transition animation, this
        pseudo-class will be applied to the current full-screen element.  Styles have been added to
        fullscreenQuickTime.css to hide the video element's built-in controller during the full-screen
        animation.

        To accomplish this, the ivar tracking whether the full-screen animation is taking place has been moved
        from the RenderFullScreen renderer, to the current full-screen Document.  Because changing
        isAnimatingFullScreen causes style changes, make sure to call recalcStyle on the full-screen element
        after changing.

        This extra transition caused assertions in HTMLFormControlElement::updateFromElementCallback. A
        full-screen media control's renderer is disabled during the style recalculation when exiting full
        screen. This assertion was exposed by the extra recalcStyle() issued during the exit transition, and
        has been removed.

        * WebCore.exp.in:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Add support for new pseudo class -webkit-animate-full-screen-transition.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
        * css/fullscreen.css:
        (video:-webkit-full-screen): Set full screen video background color to clear.
        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-panel): Set a default opacity transition.
        (video:-webkit-animating-full-screen::-webkit-media-controls-panel): Set the opacity to 0 and
            disable the transition.
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::webkitWillEnterFullScreenForElement): Call our new setAnimatingFullScreen function.
        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
        (WebCore::Document::isAnimatingFullScreen): Moved here from RenderFullScreen.
        (WebCore::Document::setAnimatingFullScreen): Ditto.
        * dom/Document.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::updateFromElementCallback): Use the Document's isAnimatingFullScreen function.
        * page/FrameView.cpp:
        (WebCore::isDocumentRunningFullScreenAnimation): Ditto.
        * rendering/RenderFullScreen.cpp:
        * rendering/RenderFullScreen.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto.
        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
        * rendering/style/RenderStyleConstants.h:
2011-05-20  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Video looks squished when animating to full screen.
        https://bugs.webkit.org/show_bug.cgi?id=61220

        Instead of scaling between the client sizes of the full-screen element before and after
        entering full-screen, scale between their content boxes.  The difference is that the client
        sizes can have different aspect ratios, and thus the animation can end up "squishing" the
        content at one end of the animation.  When animating between the two content box sizes, their
        aspect ratios (for the case of video) are equal, so the animation will appear to scale
        smoothly between the two states without "squishing" the content.

        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
        (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Set the destination frame
            to be the content box of the current full screen element.
        (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.

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

9 years ago2011-05-23 Emil A Eklund <eae@chromium.org>
eae@chromium.org [Mon, 23 May 2011 22:15:19 +0000 (22:15 +0000)]
2011-05-23  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Change RenderBlock hit testing to use IntPoint instead x,y pair
        https://bugs.webkit.org/show_bug.cgi?id=61146

        Covered by existing tests.

        * platform/graphics/IntPoint.h:
        (WebCore::toSize):
        Add toSize function for converting from point to size.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInOverflowControl):
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestColumns):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderBlock.h:
        Change hit testing code in RenderBlock to use IntPoint.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl):
        * rendering/RenderListBox.h:
        Change overridden method to use IntPoint.

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

9 years ago2011-05-23 Mike Reed <reed@google.com>
commit-queue@webkit.org [Mon, 23 May 2011 21:50:03 +0000 (21:50 +0000)]
2011-05-23  Mike Reed  <reed@google.com>

        Reviewed by James Robinson.

        Skia: Need to implement GraphicsContext::clipConvexPolygon()
        https://bugs.webkit.org/show_bug.cgi?id=41311

        No new tests.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::setPathFromConvexPoints):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):

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

9 years ago2011-05-23 James Simonsen <simonjam@chromium.org>
simonjam@chromium.org [Mon, 23 May 2011 21:29:18 +0000 (21:29 +0000)]
2011-05-23  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        Convert raw pointer to RefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=61196

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::endElementNs):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseEndElement):

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

9 years ago2011-05-23 Tony Chang <tony@chromium.org>
tony@chromium.org [Mon, 23 May 2011 21:06:45 +0000 (21:06 +0000)]
2011-05-23  Tony Chang  <tony@chromium.org>

        Reviewed by James Robinson.

        [chromium] Link tcmalloc to DRT so we can use the heap checker
        https://bugs.webkit.org/show_bug.cgi?id=61292

        * WebKit.gyp:

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

9 years ago2011-05-23 Ryosuke Niwa <rniwa@webkit.org>
rniwa@webkit.org [Mon, 23 May 2011 20:49:37 +0000 (20:49 +0000)]
2011-05-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Alexey Proskuryakov.

        selectstart is fired for every mouse move
        https://bugs.webkit.org/show_bug.cgi?id=19489

        Added tests to ensure selectstart is dispatches exactly once when selecting text by a mouse drag,
        a mouse click, a double click, or a triple click. Also rebaselined a test that previously logged
        extra selectstart dispatches.

        * fast/events/selectstart-by-double-triple-clicks-expected.txt: Added.
        * fast/events/selectstart-by-double-triple-clicks.html: Added.
        * fast/events/selectstart-by-drag.html:
        * fast/events/selectstart-by-single-click-with-shift-expected.txt: Added.
        * fast/events/selectstart-by-single-click-with-shift.html: Added.
2011-05-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Alexey Proskuryakov.

        selectstart is fired for every mouse move
        https://bugs.webkit.org/show_bug.cgi?id=19489

        Fixed the bug by dispatching selectstart event immediately before modifying selection in
        handleMousePressEventSingleClick and updateSelectionForMouseDrag.

        Also replaced a boolean EventHandler::m_beganSelectingText by an enum-valued m_selectionInitiationState
        to retain 3 states:
        1. HaveNotStartedSelection - Selection has not been set by a mouse drag or a mouse click
        2. PlacedCaret - A caret was placed by a mouse click, double click, or triple click, and is about
        to replace selection if a mouse drag never occurs.
        3. ExtendedSelection - A range selection was set by a mouse click, a double click, a triple click,
        or a mouse drag; otherwise a caret selection was set by a mouse drag.

        State 1 corresponds to m_beganSelectingText being false and state 3 corresponds to m_beganSelectingText
        being true. State 2 is used in updateSelectionForMouseDrag to avoid dispatching selectstart twice.

        States 1 and 2 are set by updateSelectionForMouseDownDispatchingSelectStart and state 3 is set by
        updateSelectionForMouseDrag.

        Test: fast/events/selectstart-by-double-triple-clicks.html
              fast/events/selectstart-by-drag.html
              fast/events/selectstart-by-single-click-with-shift.html

        * page/EventHandler.cpp: Removed canMouseDragExtendSelect.
        (WebCore::EventHandler::EventHandler): Initializes m_selectionInitiationState.
        (WebCore::dispatchSelectStart): Returns true only if selectstart was successfully fired
        and default action was not prevented.
        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart): Updates m_selectionInitiationState
        and modifies the selection if dispatchSelectStart returns true.
        (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls updateSelectionForMouseDownDispatchingSelectStart.
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
        (WebCore::EventHandler::handleMousePressEventDoubleClick):
        (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
        (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
        (WebCore::canMouseDownStartSelect): No longer dispatches startselect; also renamed from
        EventHandler::canMouseDownStartSelect.
        (WebCore::EventHandler::handleMousePressEvent): No longer calls canMouseDragExtendSelect.
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::updateSelectionForMouseDrag): Exit early if m_selectionInitiationState is
        HaveNotStartedSelection and dispatchSelectStart returns false. Since setSelectionIfPossible dispatches
        selectstart event before assigning PlacedCaret or ExtendedSelection to m_selectionInitiationState,
        there is no need to dispatch event for those two cases.
        (WebCore::EventHandler::handleMouseReleaseEvent):
        * page/EventHandler.h: Removed canMouseDownStartSelect and canMouseDragExtendSelect from EventHandler
        and added setSelectionIfPossible.

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