WebKit-https.git
9 years agowatchlist: Add watchlist for EFL, CMake and libsoup code and put myself on it.
kubo@profusion.mobi [Tue, 13 Dec 2011 21:50:52 +0000 (21:50 +0000)]
watchlist: Add watchlist for EFL, CMake and libsoup code and put myself on it.
https://bugs.webkit.org/show_bug.cgi?id=74430

Reviewed by David Levin.

* Scripts/webkitpy/common/config/watchlist:

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

9 years agoUnreviewed, rolling out r102693.
kbr@google.com [Tue, 13 Dec 2011 21:42:54 +0000 (21:42 +0000)]
Unreviewed, rolling out r102693.
http://trac.webkit.org/changeset/102693
https://bugs.webkit.org/show_bug.cgi?id=74334

Broke Chromium Windows DRT build

* features.gypi:

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

9 years agoImplement a function of vector multiply with SSE2 optimization in VectorMath.cpp.
commit-queue@webkit.org [Tue, 13 Dec 2011 21:42:37 +0000 (21:42 +0000)]
Implement a function of vector multiply with SSE2 optimization in VectorMath.cpp.
https://bugs.webkit.org/show_bug.cgi?id=74048

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2011-12-13
Reviewed by Benjamin Poulain.

The vmul is a function for an element-by-element multiply of two float vectors and we
get about 3.4x performance improvement with SSE2 optimization compared with the common
multiply.

Use vmul in AudioBus::copyWithSampleAccurateGainValuesFrom().

* platform/audio/AudioBus.cpp:
(WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vmul):
* platform/audio/VectorMath.h:

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

9 years agoWeb Inspector: [Regression] ResourceHeadersView sections should be expanded by default.
vsevik@chromium.org [Tue, 13 Dec 2011 21:27:15 +0000 (21:27 +0000)]
Web Inspector: [Regression] ResourceHeadersView sections should be expanded by default.
https://bugs.webkit.org/show_bug.cgi?id=74434

Reviewed by Pavel Feldman.

* inspector/front-end/treeoutline.js:

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

9 years ago[Chromium] Pull in FreeType and decrease check-out complexity for Android
peter@chromium.org [Tue, 13 Dec 2011 21:23:02 +0000 (21:23 +0000)]
[Chromium] Pull in FreeType and decrease check-out complexity for Android
https://bugs.webkit.org/show_bug.cgi?id=74401

Source/WebKit/chromium:

Pull in FreeType in the third_party/ directory from a separate git
repository at Chromium. This introduces a new prerequisite for checking
out the Chromium WebKit port for Android, namely that git needs to be
available on the system. gclient can handle this just fine.

Reviewed by Adam Barth.

* DEPS:

Tools:

Decrease the check-out complexity by removing the need to first run
"update-webkit-chromium --chromium" prior to running it with
"--chromium-android", which was caused by an unversioned third_party/
directory being created. This moves the Android NDK to Source/WebKit/
chromium/, coming from third_party/ in that directory.

Reviewed by Adam Barth.

* Scripts/update-webkit-chromium:
* Scripts/webkitdirs.pm:
(buildChromiumMakefile):

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

9 years agoWeb Inspector: Network item view does not correctly decode "+" in request parameters.
vsevik@chromium.org [Tue, 13 Dec 2011 21:19:52 +0000 (21:19 +0000)]
Web Inspector: Network item view does not correctly decode "+" in request parameters.
https://bugs.webkit.org/show_bug.cgi?id=74422

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/network/request-parameters-decoding.html

* inspector/front-end/ResourceHeadersView.js:
(WebInspector.ResourceHeadersView.prototype._formatParameter):
(WebInspector.ResourceHeadersView.prototype._refreshParms):

LayoutTests:

* http/tests/inspector/network/request-parameters-decoding-expected.txt: Added.
* http/tests/inspector/network/request-parameters-decoding.html: Added.

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

9 years ago[chromium] compositing/masks layout tests fail with accelerated drawing
alokp@chromium.org [Tue, 13 Dec 2011 21:12:40 +0000 (21:12 +0000)]
[chromium] compositing/masks layout tests fail with accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=72760

Reviewed by Stephen White.

Source/WebCore:

Accelerated drawing path used to render bottom-up upright textures, which was opposite of what the software path rendered.
The textures produced by the accelerated path was flipped along Y in the shader to make it upside down as expected by the compositor.
This strategy does not work in case of masks which do not go through a shader and hence do not get flipped,
which results in a case where texture in the render surface is top-down, while that in the mask is bottom-up.
This patch makes accelerated drawing path render textures in the same orientation as the software path.
LayerTextureUpdater::Orientation was added to support the difference in texture orientation between software and accelerated paths.
Now that both paths produce textures in the same orientation, there is no need for it.

No new tests needed. Covered by existing compositing tests.

* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
* platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::setLayerTreeHost):
(WebCore::TiledLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::drawTiles):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(WebCore::CCTiledLayerImpl::setSkipsDraw):

Source/WebKit/chromium:

* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeLayerTextureUpdater::createTexture):

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

9 years agoImplement GLES2 CheckFramebufferStatus() behavior
zmo@google.com [Tue, 13 Dec 2011 20:53:17 +0000 (20:53 +0000)]
Implement GLES2 CheckFramebufferStatus() behavior
https://bugs.webkit.org/show_bug.cgi?id=74228

Reviewed by Kenneth Russell.

Source/WebCore:

* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::getColorBufferWidth): Add ColorBuffer to the function name - this is more accurate.
(WebCore::WebGLFramebuffer::getColorBufferHeight): Ditto.
(WebCore::WebGLFramebuffer::checkStatus): Implement full semantics of GLES2 glCheckFramebufferStatus().
(WebCore::WebGLFramebuffer::onAccess): Call checkStatus().
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::checkFramebufferStatus): Call checkStatus().
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): No longer check framebuffer status.
(WebCore::WebGLRenderingContext::getBoundFramebufferWidth): Call getColorBufferWidth.
(WebCore::WebGLRenderingContext::getBoundFramebufferHeight): Call getColorBufferHeight.

LayoutTests:

* fast/canvas/webgl/framebuffer-object-attachment-expected.txt:
* fast/canvas/webgl/framebuffer-object-attachment.html: sync with khronos side, the whole file
* fast/canvas/webgl/resources/webgl-test.js: synced with khronos side, two listed functions
(shouldGenerateGLError):
(glErrorShouldBe):
* platform/chromium/test_expectations.txt: Mark framebuffer-object-*.html as failing due to mesa lib bug.

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

9 years ago[Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
simonjam@chromium.org [Tue, 13 Dec 2011 20:48:08 +0000 (20:48 +0000)]
[Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
https://bugs.webkit.org/show_bug.cgi?id=58354

Reviewed by Pavel Feldman.

No new tests. Relies on existing webtiming-* tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp: Use monotonic times.
(WebCore::Document::setReadyState):
(WebCore::Document::finishedParsing):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
(WebCore::buildObjectForResourceResponse): Plumbing for above.
(WebCore::buildObjectForCachedResource): Ditto.
(WebCore::InspectorResourceAgent::willSendRequest): Ditto.
(WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
* loader/DocumentLoadTiming.cpp: Added.
(WebCore::DocumentLoadTiming::DocumentLoadTiming):
(WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
(WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
(WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
* loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
(WebCore::DocumentLoadTiming::setUnloadEventStart):
(WebCore::DocumentLoadTiming::setUnloadEventEnd):
(WebCore::DocumentLoadTiming::setRedirectStart):
(WebCore::DocumentLoadTiming::setRedirectEnd):
(WebCore::DocumentLoadTiming::setFetchStart):
(WebCore::DocumentLoadTiming::setResponseEnd):
(WebCore::DocumentLoadTiming::setLoadEventStart):
(WebCore::DocumentLoadTiming::setLoadEventEnd):
(WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
(WebCore::DocumentLoadTiming::navigationStart):
(WebCore::DocumentLoadTiming::unloadEventStart):
(WebCore::DocumentLoadTiming::unloadEventEnd):
(WebCore::DocumentLoadTiming::redirectStart):
(WebCore::DocumentLoadTiming::redirectEnd):
(WebCore::DocumentLoadTiming::redirectCount):
(WebCore::DocumentLoadTiming::fetchStart):
(WebCore::DocumentLoadTiming::responseEnd):
(WebCore::DocumentLoadTiming::loadEventStart):
(WebCore::DocumentLoadTiming::loadEventEnd):
(WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
(WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
(WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
(WebCore::MainResourceLoader::didFinishLoading): Ditto.
(WebCore::MainResourceLoader::load):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
* page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::redirectCount):
* page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::domLoading):
(WebCore::PerformanceTiming::domInteractive):
(WebCore::PerformanceTiming::domContentLoadedEventStart):
(WebCore::PerformanceTiming::domContentLoadedEventEnd):
(WebCore::PerformanceTiming::domComplete):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
* page/PerformanceTiming.h:
* platform/network/ResourceLoadTiming.cpp:
(WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
* platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.

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

9 years agoReduce code duplication in Element::setAttribute methods
adamk@chromium.org [Tue, 13 Dec 2011 20:40:51 +0000 (20:40 +0000)]
Reduce code duplication in Element::setAttribute methods
https://bugs.webkit.org/show_bug.cgi?id=74425

Reviewed by Ryosuke Niwa.

Two overloads of Element::setAttribute share almost all their code,
including tricky logic around updating the appropriate Attribute and
Attr objects and notifying the Inspector and MutationObservers.

This patch puts the common logic in a new setAttributeInternal method
which is called by the other two.

No new tests, refactoring only.

* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::setAttributeInternal):
* dom/Element.h:

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

9 years agoDFG should know exactly why recompilation was triggered
fpizlo@apple.com [Tue, 13 Dec 2011 19:49:49 +0000 (19:49 +0000)]
DFG should know exactly why recompilation was triggered
https://bugs.webkit.org/show_bug.cgi?id=74362

Reviewed by Oliver Hunt.

Each OSR exit is now individually counted, as well as counting the total number
of OSR exits that occurred in a code block. If recompilation is triggered, we
check to see if there are OSR exit sites that make up a sufficiently large
portion of the total OSR exits that occurred. For any such OSR exit sites, we
add a description of the site (bytecode index, kind) to a data structure in the
corresponding baseline CodeBlock. Then, when we recompile the code, we immediately
know which speculations would be unwise based on the fact that previous such
speculations proved to be fruitless.

This means 2% win on two of the SunSpider string tests, a 4% win on V8's deltablue,
and 5% on Kraken's imaging-darkroom. It is only a minor win in the averages, less
than 0.5%.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::tallyFrequentExitSites):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addFrequentExitSite):
(JSC::CodeBlock::exitProfile):
(JSC::CodeBlock::reoptimize):
(JSC::CodeBlock::tallyFrequentExitSites):
* bytecode/DFGExitProfile.cpp: Added.
(JSC::DFG::ExitProfile::ExitProfile):
(JSC::DFG::ExitProfile::~ExitProfile):
(JSC::DFG::ExitProfile::add):
(JSC::DFG::QueryableExitProfile::QueryableExitProfile):
(JSC::DFG::QueryableExitProfile::~QueryableExitProfile):
* bytecode/DFGExitProfile.h: Added.
(JSC::DFG::exitKindToString):
(JSC::DFG::exitKindIsCountable):
(JSC::DFG::FrequentExitSite::FrequentExitSite):
(JSC::DFG::FrequentExitSite::operator!):
(JSC::DFG::FrequentExitSite::operator==):
(JSC::DFG::FrequentExitSite::hash):
(JSC::DFG::FrequentExitSite::bytecodeOffset):
(JSC::DFG::FrequentExitSite::kind):
(JSC::DFG::FrequentExitSite::isHashTableDeletedValue):
(JSC::DFG::FrequentExitSiteHash::hash):
(JSC::DFG::FrequentExitSiteHash::equal):
(JSC::DFG::QueryableExitProfile::hasExitSite):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::baselineCodeBlockForOriginAndBaselineCodeBlock):
(JSC::DFG::AssemblyHelpers::baselineCodeBlockFor):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGOSRExit.h:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnByteArray):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLength):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileSoftModulo):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* runtime/Heuristics.cpp:
(JSC::Heuristics::initializeHeuristics):
* runtime/Heuristics.h:

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

9 years agoEnable CSS_FILTERS in Chromium.
senorblanco@chromium.org [Tue, 13 Dec 2011 19:43:52 +0000 (19:43 +0000)]
Enable CSS_FILTERS in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74334

Reviewed by Kenneth Russell.

* features.gypi:

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

9 years agoCleanup of StringImpl::equal in r102631 post commit
msaboff@apple.com [Tue, 13 Dec 2011 19:39:12 +0000 (19:39 +0000)]
Cleanup of StringImpl::equal in r102631 post commit
https://bugs.webkit.org/show_bug.cgi?id=74421

Reviewed by Darin Adler.

* wtf/text/AtomicString.h:
(WTF::operator==): Removed cast no longer needed.
* wtf/text/StringImpl.h:
(WTF::equal): Changed template to several overloaded methods.

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

9 years ago<http://webkit.org/b/74420> Disable deprecation warnings around more code where we
beidson@apple.com [Tue, 13 Dec 2011 18:48:21 +0000 (18:48 +0000)]
<webkit.org/b/74420> Disable deprecation warnings around more code where we
cannot easily switch away from the deprecated APIs.

Reviewed by Mark Rowe.

* bindings/objc/DOMInternal.mm:
* bridge/objc/objc_instance.mm:

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

9 years agoCSS 2.1 failure: eof-002.htm fails
robert@webkit.org [Tue, 13 Dec 2011 18:34:11 +0000 (18:34 +0000)]
CSS 2.1 failure: eof-002.htm fails
https://bugs.webkit.org/show_bug.cgi?id=74309

Reviewed by Dean Jackson.

Source/WebCore:

Test: css2.1/20110323/eof-002-expected.html

* css/CSSGrammar.y: Treat EOF during a function expression with an open parenthesis as a close parenthesis.

LayoutTests:

* css2.1/20110323/eof-002-expected.html: Added.
* css2.1/20110323/eof-002.htm: Added.

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

9 years agoV8Proxy cleanup: replace custom logging methods with standard WebCore calls
adamk@chromium.org [Tue, 13 Dec 2011 18:20:21 +0000 (18:20 +0000)]
V8Proxy cleanup: replace custom logging methods with standard WebCore calls
https://bugs.webkit.org/show_bug.cgi?id=74220

Reviewed by Adam Barth.

* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::reportUnsafeAccessTo):
* bindings/v8/V8Proxy.h:
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

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

9 years agoFix the 'Reviewed by' field in my last ChangeLog entry.
mrobinson@webkit.org [Tue, 13 Dec 2011 18:12:45 +0000 (18:12 +0000)]
Fix the 'Reviewed by' field in my last ChangeLog entry.

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

9 years agobuild-jsc passing incorrect args to buildGtkProject
mrobinson@webkit.org [Tue, 13 Dec 2011 18:10:34 +0000 (18:10 +0000)]
build-jsc passing incorrect args to buildGtkProject
https://bugs.webkit.org/show_bug.cgi?id=74308

Reviewed by NOBODY.

* Scripts/build-webkit: Instead of invoking buildGtkProject with
another argument about webkit2, unshift a --disable-webkit2
argument onto the buildArgs.
* Scripts/webkitdirs.pm: Remove $enableWebKit2 arg. Only save autogen.sh
arguments for WebKit to prevent unnecessary reconfiguration when build-webkit
and build-jsc are run one after the other.

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

9 years ago[Qt] REGRESSION(102679): It broke Qt5-WK1 build
ossy@webkit.org [Tue, 13 Dec 2011 17:20:56 +0000 (17:20 +0000)]
[Qt] REGRESSION(102679): It broke Qt5-WK1 build
https://bugs.webkit.org/show_bug.cgi?id=74413

Unreviewed buildfix.

* qmake/mkspecs/features/webcore.prf: Temporarily revert a part of r102679 until a proper fix.

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

9 years ago[skia] need new baselines when SKIA_TEXT is enabled
reed@google.com [Tue, 13 Dec 2011 16:31:17 +0000 (16:31 +0000)]
[skia] need new baselines when SKIA_TEXT is enabled
https://bugs.webkit.org/show_bug.cgi?id=74408

Reviewed by NOBODY. unreviewed, update expectations

* platform/chromium/test_expectations.txt:

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

9 years ago[Qt] Unreviewed speculativ debug buildfix after r102679.
ossy@webkit.org [Tue, 13 Dec 2011 16:26:48 +0000 (16:26 +0000)]
[Qt] Unreviewed speculativ debug buildfix after r102679.

* QtTestBrowser/QtTestBrowser.pro:
* QtTestBrowser/main.cpp:

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

9 years ago[Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
caio.oliveira@openbossa.org [Tue, 13 Dec 2011 15:47:27 +0000 (15:47 +0000)]
[Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
https://bugs.webkit.org/show_bug.cgi?id=74407

Reviewed by Simon Hausmann.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::~QQuickWebViewPrivate):
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::pageDidRequestScroll):
(QQuickWebViewPrivate::processDidCrash):
(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewPrivate::viewSize):
(QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
(QQuickWebViewExperimental::QQuickWebViewExperimental):
(QQuickWebView::QQuickWebView):
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::QtPageClient):
(QtPageClient::setViewNeedsDisplay):
(QtPageClient::pageDidRequestScroll):
(QtPageClient::processDidCrash):
(QtPageClient::didRelaunchProcess):
(QtPageClient::didChangeContentsSize):
(QtPageClient::didChangeViewportProperties):
(QtPageClient::createPopupMenuProxy):
(QtPageClient::didReceiveMessageFromNavigatorQtObject):
(QtPageClient::viewSize):
(QtPageClient::isViewFocused):
(QtPageClient::isViewVisible):
* UIProcess/qt/QtPageClient.h:
(QtPageClient::initialize):
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::QtWebPageProxy):
* UIProcess/qt/QtWebPageProxy.h:

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

9 years ago[Qt] Get rid of layering violations in includes
vestbo@webkit.org [Tue, 13 Dec 2011 15:19:50 +0000 (15:19 +0000)]
[Qt] Get rid of layering violations in includes

WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included
in the webcore.prf, but rather in each target that specificly needs
headers in these location. We used to include them directly in webcore
since we had layering violations between WebCore and WebKit, but now
that they are gone there's no reason to do that.

Reviewed by Simon Hausmann.

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

9 years agoUnreviewed, skip 4 new failing tests on GTK.
philn@webkit.org [Tue, 13 Dec 2011 15:13:40 +0000 (15:13 +0000)]
Unreviewed, skip 4 new failing tests on GTK.

* platform/gtk/Skipped:

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

9 years ago[NRWT] It crashes intermittently when there are WebProcess crashes
commit-queue@webkit.org [Tue, 13 Dec 2011 13:41:30 +0000 (13:41 +0000)]
[NRWT] It crashes intermittently when there are WebProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=73451

Use self.poll() instead of self._proc.poll() because it checks if self._proc is None or not.

Patch by J├ínos Badics <dicska@gmail.com> on 2011-12-13
Reviewed by Kenneth Rohde Christiansen.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._check_for_crash):

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

9 years agoUnreviewed. Fix GTK+ API docs build.
carlosgc@webkit.org [Tue, 13 Dec 2011 13:39:49 +0000 (13:39 +0000)]
Unreviewed. Fix GTK+ API docs build.

* gtk/generate-gtkdoc:
(get_webkit2_options): Ignore WebKitUIClient since it's private
API.

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

9 years ago[GTK] Add support for javascript dialogs in WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 13 Dec 2011 13:31:55 +0000 (13:31 +0000)]
[GTK] Add support for javascript dialogs in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=71362

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitUIClient.cpp:
(runJavaScriptAlert): Call webkitWebViewRunJavaScriptAlert().
(runJavaScriptConfirm): Call webkitWebViewRunJavaScriptConfirm().
(runJavaScriptPrompt): Call webkitWebViewRunJavaScriptPrompt().
(webkitUIClientAttachUIClientToPage): Add implementation for
runJavaScriptAlert, runJavaScriptConfirm and runJavaScriptPrompt
callbacks.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateJavaScriptDialog):  Helper function to create
javascript dialogs.
(webkitWebViewScriptAlert): Default implementation of signal
WebKitWebView::script-alert that shows a message dialog.
(webkitWebViewScriptConfirm): Default implementation of signal
WebKitWebView::script-confirm that shows a question dialog.
(webkitWebViewScriptPrompt): Default implementation of signal
WebKitWebView::script-prompt that shows a question dialog with a
text entry.
(webkit_web_view_class_init):
(webkitWebViewRunJavaScriptAlert): Emit WebKitWebView::script-alert.
(webkitWebViewRunJavaScriptConfirm): Emit WebKitWebView::script-confirm.
(webkitWebViewRunJavaScriptPrompt): Emit WebKitWebView::script-prompt.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewJavaScriptDialogs):
(beforeAll):
* UIProcess/API/gtk/webkit2marshal.list:

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

9 years ago[Qt] Make sure that touch events result in the page view gaining focus
kenneth@webkit.org [Tue, 13 Dec 2011 13:28:32 +0000 (13:28 +0000)]
[Qt] Make sure that touch events result in the page view gaining focus

Reviewed by Simon Hausmann.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::touchEvent): Force active focus.
* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p.h: Remove ::touchEvent override.

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

9 years ago[GTK] Initial UI client implementation for WebKit2 GTK +API
carlosgc@webkit.org [Tue, 13 Dec 2011 13:23:54 +0000 (13:23 +0000)]
[GTK] Initial UI client implementation for WebKit2 GTK +API
https://bugs.webkit.org/show_bug.cgi?id=69753

Reviewed by Martin Robinson.

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitUIClient.cpp: Added.
(createNewPage): Call webkitWebViewCreateNewPage.
(showPage): Call webkitWebViewReadyToShowPage.
(closePage): Call webkitWebViewClosePage.
(webkitUIClientAttachUIClientToPage): Initialize UI client and
attach it to the given page.
(webkit_ui_client_init):
(webkit_ui_client_class_init):
* UIProcess/API/gtk/WebKitUIClient.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreate): Default implementation of signal
WebKitWebView::create that simply returns NULL.
(webkitWebViewConstructed): Create the default UI client.
(webkitWebViewAccumulatorObjectHandled):
(webkit_web_view_class_init):
(webkitWebViewCreateNewPage): Emit create signal.
(webkitWebViewReadyToShowPage): Emit ready-to-show signal.
(webkitWebViewClosePage): Emit close signal.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewCreateReadyClose):
(beforeAll):
* UIProcess/API/gtk/webkit2marshal.list:

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

9 years ago[Qt] Add Qt platform specific expected result after r102602.
ossy@webkit.org [Tue, 13 Dec 2011 13:13:08 +0000 (13:13 +0000)]
[Qt] Add Qt platform specific expected result after r102602.

Unreviewed gardening.

Patch by Oliver Varga <voliver@inf.u-szeged.hu> on 2011-12-13

* platform/qt/http/tests/cache/cancel-during-revalidation-succeeded-expected.png: Added.
* platform/qt/http/tests/cache/cancel-during-revalidation-succeeded-expected.txt: Added.

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

9 years agoWeb Inspector: Add scripts navigator sidebar to scripts panel.
vsevik@chromium.org [Tue, 13 Dec 2011 12:45:51 +0000 (12:45 +0000)]
Web Inspector: Add scripts navigator sidebar to scripts panel.
https://bugs.webkit.org/show_bug.cgi?id=73086

Reviewed by Pavel Feldman.

Source/WebCore:

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/Images/domain.png: Added.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
* inspector/front-end/ScriptsNavigator.js: Added.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
(WebInspector.ScriptsPanel.prototype._reset):
(WebInspector.ScriptsPanel.prototype._removeSourceFrame):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
(WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
(WebInspector.ScriptsPanel.prototype._updateExecutionLine):
(WebInspector.ScriptsPanel.prototype._scriptSelectedInNavigator):
(WebInspector.ScriptsPanel.prototype._createDebugToolbar):
* inspector/front-end/Settings.js:
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype.selectTab):
(WebInspector.TabbedPane.prototype.highlightLine):
(WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.get domain):
(WebInspector.UISourceCode.prototype.get folderName):
(WebInspector.UISourceCode.prototype.get displayName):
(WebInspector.UISourceCode.prototype._parseURL):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.tabbed-pane):
(.tabbed-pane-content):
* inspector/front-end/inspector.html:
* inspector/front-end/networkPanel.css:
* inspector/front-end/scriptsPanel.css:
(#scripts-navigator-resizer-widget):
(.scripts-navigator-domain-tree-item .icon):
(.scripts-navigator-folder-tree-item .icon):
(.scripts-navigator-script-tree-item .icon):
(.scripts.panel .navigator):
(#scripts-navigator-tabbed-pane .tabbed-pane-header):
(#scripts-navigator-tabbed-pane .tabbed-pane-content):
(.scripts.panel .navigator li):
(.scripts.panel .navigator :focus li.selected):
(.scripts.panel .navigator li.selected .selection):
(.scripts.panel .navigator :focus li.selected .selection):
(.scripts.panel .navigator .icon):
(.scripts.panel .base-navigator-tree-element-title):
* inspector/front-end/treeoutline.js:
(TreeOutline):
(TreeOutline.prototype.appendChild):

LayoutTests:

* inspector/debugger/scripts-panel.html:
* inspector/debugger/scripts-sorting.html:

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

9 years ago[Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
caio.oliveira@openbossa.org [Tue, 13 Dec 2011 12:35:20 +0000 (12:35 +0000)]
[Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=74395

Reviewed by Simon Hausmann.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::_q_onVisibleChanged):
(QQuickWebViewPrivate::updateViewportSize):
(QQuickWebViewPrivate::computeViewportConstraints):
(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebViewPrivate::webPageProxy):
(QQuickWebView::load):
(QQuickWebView::goBack):
(QQuickWebView::goForward):
(QQuickWebView::stop):
(QQuickWebView::reload):
(QQuickWebView::url):
(QQuickWebView::canGoBack):
(QQuickWebView::canGoForward):
(QQuickWebView::loading):
(QQuickWebView::canReload):
(QQuickWebView::title):
(QQuickWebView::loadHtml):
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
* UIProcess/qt/QtWebPageProxy.h:

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

9 years agoCollectionCache: Remove unused copy constructor and make it noncopyable.
kling@webkit.org [Tue, 13 Dec 2011 12:03:37 +0000 (12:03 +0000)]
CollectionCache: Remove unused copy constructor and make it noncopyable.
<http://webkit.org/b/74378>

Reviewed by Simon Hausmann.

* html/CollectionCache.cpp:
* html/CollectionCache.h:

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

9 years agoUnreviewed Chromium test expectations update. Changed expectation of
bashi@chromium.org [Tue, 13 Dec 2011 10:37:40 +0000 (10:37 +0000)]
Unreviewed Chromium test expectations update. Changed expectation of
editing/spelling/grammer-paste.html.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-13

* platform/chromium/test_expectations.txt:

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

9 years agoUnreviewed. Fix GTK+ build after r102640.
carlosgc@webkit.org [Tue, 13 Dec 2011 10:29:57 +0000 (10:29 +0000)]
Unreviewed. Fix GTK+ build after r102640.

* GNUmakefile.am: Add DownloadProxy sources again.

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

9 years ago[Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
caio.oliveira@openbossa.org [Tue, 13 Dec 2011 10:24:44 +0000 (10:24 +0000)]
[Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
https://bugs.webkit.org/show_bug.cgi?id=74364

Reviewed by Simon Hausmann.

The four callbacks in PageClient related to Undo depend only on the QUndoStack. So we
move their handling to a QtWebUndoController (owned by QQuickWebViewPrivate). This also
make QtWebUndoCommand an implementation detail.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::registerEditCommand):
(QtPageClient::clearAllEditCommands):
(QtPageClient::canUndoRedo):
(QtPageClient::executeUndoRedo):
* UIProcess/qt/QtPageClient.h:
(QtPageClient::initialize):
* UIProcess/qt/QtWebPageProxy.cpp:
* UIProcess/qt/QtWebPageProxy.h:
* UIProcess/qt/QtWebUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.cpp.
(QtWebUndoCommand::inUndoRedo):
(QtWebUndoCommand::QtWebUndoCommand):
(QtWebUndoCommand::~QtWebUndoCommand):
(QtWebUndoCommand::redo):
(QtWebUndoCommand::undo):
(QtWebUndoController::QtWebUndoController):
(QtWebUndoController::registerEditCommand):
(QtWebUndoController::clearAllEditCommands):
(QtWebUndoController::canUndoRedo):
(QtWebUndoController::executeUndoRedo):
* UIProcess/qt/QtWebUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.h.

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

9 years agoXHR should use m_responseTypeCode internally to be consistent with WebKit coding...
jarred@sencha.com [Tue, 13 Dec 2011 10:14:46 +0000 (10:14 +0000)]
XHR should use m_responseTypeCode internally to be consistent with WebKit coding style
https://bugs.webkit.org/show_bug.cgi?id=74330

Reviewed by Alexey Proskuryakov.

No new tests needed, no behavioral changes.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseText):
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::responseBlob):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/XMLHttpRequest.h:
(WebCore::XMLHttpRequest::asBlob):

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

9 years agoUnreviewed Chromium test expectations update.
bashi@chromium.org [Tue, 13 Dec 2011 10:05:09 +0000 (10:05 +0000)]
Unreviewed Chromium test expectations update.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-13

* platform/chromium/test_expectations.txt:

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

9 years agoUse the [Supplemental] IDL for webaudio attributes in Chromium
haraken@chromium.org [Tue, 13 Dec 2011 10:04:08 +0000 (10:04 +0000)]
Use the [Supplemental] IDL for webaudio attributes in Chromium
https://bugs.webkit.org/show_bug.cgi?id=73394

Reviewed by Adam Barth.

- Overview: Using the [Supplemental] IDL, this patch moves the attribute
declarations of webaudio from DOMWindow.idl into a new IDL file
webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
feature (aka a module).

- This patch changes the build flow of WebCore.gyp as follows:

    Previous build flow:
        foreach $idl (all IDL files) {
            generate-bindings.pl depends on $idl;
            generate-bindings.pl reads $idl;
            generate-bindings.pl generates .h and .cpp files for $idl;
        }

    New build flow (See the discussions in bug 72138 for more details):
        resolve-supplemental.pl depends on all IDL files;
        resolve-supplemental.pl reads all IDL files;
        resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
        resolve-supplemental.pl outputs supplemental_dependency.tmp;
        foreach $idl (all IDL files) {
            generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
            generate-bindings.pl reads $idl;
            generate-bindings.pl reads supplemental_dependency.tmp;
            generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
        }

- This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
will be removed after build scripts for all platforms support the [Supplemental] IDL.
The motivation for the [Supplemented] IDL is as follows:

In order to support the [Supplemental] IDL, we need to
(1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
(2) and run generate-bindings.pl with the supplemental_dependency.tmp.

This build flow requires a change on the following build scripts,
but changing all the build scripts all at once without any regression is too difficult:

    - DerivedSources.make
    - DerivedSources.pri
    - GNUmakefile.am
    - PlatformBlackBerry.cmake
    - UseJSC.cmake
    - UseV8.cmake
    - WebCore.vcproj/MigrateScripts
    - WebCore.vcproj/WebCore.vcproj
    - bindings/gobject/GNUmakefile.am
    - WebCore.gyp/WebCore.gyp

Thus, we are planning to change the build scripts one by one, which implies that
we need to allow the temporary state in which some build scripts support [Supplemental] IDL
but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
in another IDL file somewhere, like this:

    DOMWindowWebAudio.idl:
        interface [
            Supplemental=DOMWindow
        ] DOMWindowWebAudio {
            attribute attr1;
            attribute attr2;
        };

    DOMWindow.idl:
        interface [
        ] DOMWindow {
            attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
            attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
            attribute attr3;
            attribute attr4;
        };

Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

    - If a given build script supports the [Supplemental] IDL,
    generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
    - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
    as normal attributes and instead ignores all attributes with the [Supplemental] IDL
    (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

Tests: webaudio/*

* WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
* WebCore.gyp/scripts/action_derivedsourcesallinone.py:
(main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp),
which are described at the first column of each line in the input file.
If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style
path by the cygpath command.
* WebCore.gypi: Added DOMWindowWebAudio.idl.
* bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not
support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead
uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and
instead uses the [Supplemental] IDL.
Added the --additionalIdlFilesList option to specify the IDL files that are not listed in
supplemental-dependency.tmp but should generate .h and .cpp files.
* page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes.
As I described above, the [Supplemented] IDL will be removed after all platforms support
the [Supplemental] IDL.
* webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL.
The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

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

9 years agoAsynchronous text checking should check the grammar.
commit-queue@webkit.org [Tue, 13 Dec 2011 09:33:57 +0000 (09:33 +0000)]
Asynchronous text checking should check the grammar.
https://bugs.webkit.org/show_bug.cgi?id=56368

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-13
Reviewed by Hajime Morita.

From r102553, we had capability of grammar checking for asynchronous text checking.
This patch adds a test for it.

* editing/spelling/grammar-paste-expected.txt: Added.
* editing/spelling/grammar-paste.html: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/qt/Skipped:

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

9 years agoReviewed, removed one of my email addresses to use the apprpriate one.
bashi@chromium.org [Tue, 13 Dec 2011 08:17:53 +0000 (08:17 +0000)]
Reviewed, removed one of my email addresses to use the apprpriate one.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-13

* Scripts/webkitpy/common/config/committers.py:

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

9 years agoRenderTheme should have a function for disabled text color adjustment
commit-queue@webkit.org [Tue, 13 Dec 2011 08:17:31 +0000 (08:17 +0000)]
RenderTheme should have a function for disabled text color adjustment
https://bugs.webkit.org/show_bug.cgi?id=74143

Change disabledTextColor to private method.

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-13
Reviewed by Kent Tamura.

No new tests / existing tests cover this change.

* rendering/RenderThemeChromiumMac.h: Change disabledTextColor to private.
* rendering/RenderThemeChromiumSkia.h: Change disabledTextColor to private.

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

9 years agoUnreviewed Chromium test expectations update.
bashi@chromium.org [Tue, 13 Dec 2011 08:02:10 +0000 (08:02 +0000)]
Unreviewed Chromium test expectations update.
Clean out passing tests from test_expectations.txt.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-12

* platform/chromium/test_expectations.txt:

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

9 years agoUnreviewed, rolling out r102656.
dbates@webkit.org [Tue, 13 Dec 2011 05:11:47 +0000 (05:11 +0000)]
Unreviewed, rolling out r102656.
http://trac.webkit.org/changeset/102656
https://bugs.webkit.org/show_bug.cgi?id=74313

Broke the Mac, Windows and WinCairo builds. We need to look
into this patch some more.

* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerLocation):

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

9 years agoImplement the JavaScriptCore bindings for eventListenerHandlerLocation
commit-queue@webkit.org [Tue, 13 Dec 2011 04:07:48 +0000 (04:07 +0000)]
Implement the JavaScriptCore bindings for eventListenerHandlerLocation
https://bugs.webkit.org/show_bug.cgi?id=74313

Patch by Konrad Piascik <kpiascik@rim.com> on 2011-12-12
Reviewed by Geoffrey Garen.

Open any page in Web Inspector and look at the event listeners. They should now
link to the script which created them.

* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerLocation):

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

9 years agoRenderTheme should have a function for disabled text color adjustment
commit-queue@webkit.org [Tue, 13 Dec 2011 03:48:54 +0000 (03:48 +0000)]
RenderTheme should have a function for disabled text color adjustment
https://bugs.webkit.org/show_bug.cgi?id=74143

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-12
Reviewed by Kent Tamura.

No new tests / existing tests cover this change.

* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::adjustInnerTextStyle): Use RenderTheme::disabledTextColor instead of PLATFORM wraped static function.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::disabledTextColor): Moved from RenderTextControl.cpp. This method implements for non-Chromium color.
* rendering/RenderTheme.h: Add new virtual method disabledTextColor.
* rendering/RenderThemeChromiumMac.h: Implementation of RenderTheme::disabledTextColor for Chrimium Mac.
* rendering/RenderThemeChromiumSkia.h: Implementation of RenderTheme::disabledTextColor for Chrimium.

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

9 years agoUnreviewed Chromium test expectations update. Actually skip
kbr@google.com [Tue, 13 Dec 2011 03:28:19 +0000 (03:28 +0000)]
Unreviewed Chromium test expectations update. Actually skip
plugins/netscape-plugin-page-cache-works.html as it looks like its
timeout is causing other tests to fail.

* platform/chromium/test_expectations.txt:

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

9 years agoUnreviewed, rolling out r102648.
kbr@google.com [Tue, 13 Dec 2011 03:13:40 +0000 (03:13 +0000)]
Unreviewed, rolling out r102648.
http://trac.webkit.org/changeset/102648
https://bugs.webkit.org/show_bug.cgi?id=74313

Broke the Snow Leopard and Windows builds

* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerLocation):

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

9 years agoResizing Cappuccino is very laggy on WebKit since Safari 5.1
kling@webkit.org [Tue, 13 Dec 2011 03:08:19 +0000 (03:08 +0000)]
Resizing Cappuccino is very laggy on WebKit since Safari 5.1
<http://webkit.org/b/71354> and <rdar://problem/10565998>

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.exp.in: Export FloatPoint(const NSPoint&)

Source/WebKit2:

On Mac, we already cache the window rect through the WindowAndViewFramesChanged
message, so simply return that in WebChromeClient::windowRect() instead of
sending a synchronous query to the UIProcess.

Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
IntRect/IntPoint to match the ChromeClient::windowRect() return type.

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateWindowAndViewFrames]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setWindowFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::windowRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowAndViewFramesChanged):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
(WebKit::WebPage::accessibilityPosition):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

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

9 years ago[Qt] QTKIT-based video support must target OS X 10.5 or higher
jarred@sencha.com [Tue, 13 Dec 2011 02:56:57 +0000 (02:56 +0000)]
[Qt] QTKIT-based video support must target OS X 10.5 or higher
https://bugs.webkit.org/show_bug.cgi?id=74294

WebCore on OS X Lion fails to build when QTKIT video support is enabled, unless a
deployment target of 10.5+ is specified explicitly.

Reviewed by Noam Rosenthal.

No new tests as this is a build issue.

* Target.pri:

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

9 years agoImplement CSS text-decoration property in CSSStyleApplyProperty.
macpherson@chromium.org [Tue, 13 Dec 2011 02:36:47 +0000 (02:36 +0000)]
Implement CSS text-decoration property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74258

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyTextDecoration::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

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

9 years agoiframe fails to scroll in composited page
enne@google.com [Tue, 13 Dec 2011 02:32:20 +0000 (02:32 +0000)]
iframe fails to scroll in composited page
https://bugs.webkit.org/show_bug.cgi?id=72682

Reviewed by Simon Fraser.

Source/WebCore:

FrameView::scrollContentsSlowPath only was catching the case where a
child iframe had a composited parent. Now detect if the child iframe
has any composited ancestor.

Test: compositing/iframes/scroll-grandchild-iframe.html

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

LayoutTests:

* compositing/iframes/resources/scrollgrandchild-grandparent.html: Added.
* compositing/iframes/resources/scrollgrandchild-inner.html: Added.
* compositing/iframes/resources/scrollgrandchild-parent.html: Added.
* compositing/iframes/scroll-grandchild-iframe-expected.png: Added.
* compositing/iframes/scroll-grandchild-iframe-expected.txt: Added.
* compositing/iframes/scroll-grandchild-iframe.html: Added.

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

9 years agoImplement the JavaScriptCore bindings for eventListenerHandlerLocation
commit-queue@webkit.org [Tue, 13 Dec 2011 02:23:18 +0000 (02:23 +0000)]
Implement the JavaScriptCore bindings for eventListenerHandlerLocation
https://bugs.webkit.org/show_bug.cgi?id=74313

Patch by Konrad Piascik <kpiascik@rim.com> on 2011-12-12
Reviewed by Geoffrey Garen.

Open any page in Web Inspector and look at the event listeners. They should now
link to the script which created them.

* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerLocation):

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

9 years agoUnreviewed. Chromium test expectations update to get the bots green.
kbr@google.com [Tue, 13 Dec 2011 01:45:36 +0000 (01:45 +0000)]
Unreviewed. Chromium test expectations update to get the bots green.

* platform/chromium/test_expectations.txt:

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

9 years ago[V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
arv@chromium.org [Tue, 13 Dec 2011 01:34:13 +0000 (01:34 +0000)]
[V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
https://bugs.webkit.org/show_bug.cgi?id=74027

Reviewed by Adam Barth.

Instead of having to write a custom indexer when the interface has an inherited indexer
we get the signature from the super interface.

Tested by existing tests.

* Target.pri: Remove V8DOMSettableTokenListCustom.cpp and V8WebKitCSSFilterValueCustom.cpp.
* UseV8.cmake: Ditto.
* WebCore.gypi: Ditto.
* bindings/scripts/CodeGenerator.pm:
(FindSuperMethod): Returns the first matching function in one of the ancestor interfaces.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementationIndexer): If the current interface has no indexer try to find an
                                 indexer in one of the super interfaces.
(GenerateImplementationNamedPropertyGetter): Ditto for named property getter.
* bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Removed.
* bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Removed.

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

9 years agoMac rebaselines after r102612 and r102538.
rniwa@webkit.org [Tue, 13 Dec 2011 01:14:33 +0000 (01:14 +0000)]
Mac rebaselines after r102612 and r102538.

* platform/mac-snowleopard/fast/text/hyphenate-limit-lines-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:

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

9 years agoMake it possible to substitute a different CALayer implementation for the main root...
simon.fraser@apple.com [Tue, 13 Dec 2011 01:05:32 +0000 (01:05 +0000)]
Make it possible to substitute a different CALayer implementation for the main root layer
https://bugs.webkit.org/show_bug.cgi?id=74369

Reviewed by Anders Carlsson.

Some platforms may wish to have the main root layer (which corresponds with
the main frame's RenderView's layer) implemented by a custom platform layer,
for example to contain a cache of tiles.

Make this possible on Mac by adding a new method to GraphicsLayerClient(),
and implementing it in RenderLayerBacking. This new behavior is not yet enabled.

Also clean up some WebLayer/WebTiledLayer code.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::shouldUseTileCache): New client method that indicates that the GraphicsLayer
should host a tile cache layer instead of a normal layer.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the client, if any, whether to create a tile cache layer.
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm: NSClassFromString(@"CATransformLayer") was for Leopard;
we can just use the classname now. Handle LayerTypeTileCacheLayer.
(PlatformCALayer::PlatformCALayer):
* platform/graphics/ca/mac/WebTileCacheLayer.h: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
* platform/graphics/ca/mac/WebTileCacheLayer.mm: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
* platform/graphics/mac/WebLayer.h: Remove the setLayerNeedsDisplayInRect() hackery.
* platform/graphics/mac/WebLayer.mm: setLayerNeedsDisplayInRect() tried to share code between WebLayer and WebTiledLayer
by using Obj-C runtime methods to find the superclass. This causes infinite recursion if Web[Tiled]Layer is subclassed,
so remove it.
(-[WebLayer setNeedsDisplayInRect:]): Code moved here from setLayerNeedsDisplayInRect.
* platform/graphics/mac/WebTiledLayer.mm:
(-[WebTiledLayer setNeedsDisplayInRect:]): Code copied here from setLayerNeedsDisplayInRect.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Find out, and cache if we're the main frame's layer.
(WebCore::RenderLayerBacking::shouldUseTileCache): Return m_usingTiledCacheLayer, which is always false for now.
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Use m_isMainFrameRenderViewLayer.
(WebCore::RenderLayerBacking::paintingGoesToWindow): The tile cache layer needs to paint itself.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.h: m_compositeForFixedPosition was unused.

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

9 years agoREGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
rniwa@webkit.org [Tue, 13 Dec 2011 00:59:36 +0000 (00:59 +0000)]
REGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
https://bugs.webkit.org/show_bug.cgi?id=74356

Reviewed by Enrica Casucci.

The problem was that isCreateLinkCommand was called on EditCommandComposition by respondToUnappliedEditing.
Fixed the bug by propagating the value of isCreteLinkCommand from CompositeEditCommand to
EditCommandComposition via wasCreateLinkCommand.

Also move isCreateLinkCommand from EditCommand to CompositeEditCommand to prevent this mistake in the future.

* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::create):
(WebCore::EditCommandComposition::EditCommandComposition):
(WebCore::CompositeEditCommand::ensureComposition):
(WebCore::CompositeEditCommand::isCreateLinkCommand):
* editing/CompositeEditCommand.h:
(WebCore::EditCommandComposition::wasCreateLinkCommand):
* editing/SpellingCorrectionController.cpp:
(WebCore::SpellingCorrectionController::respondToUnappliedEditing):
* editing/SpellingCorrectionController.h:

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

9 years ago[CSSRegions]Revert RenderObject::style() to its state before region styling
tony@chromium.org [Tue, 13 Dec 2011 00:56:27 +0000 (00:56 +0000)]
[CSSRegions]Revert RenderObject::style() to its state before region styling
https://bugs.webkit.org/show_bug.cgi?id=74315

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-12-12
Reviewed by Tony Chang.

Source/WebCore:

* rendering/RenderObject.h:
(WebCore::RenderObject::style):

LayoutTests:

* platform/mac-snowleopard/Skipped:

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

9 years agoAdd EventDispatcher class to WebKit2
jberlin@webkit.org [Tue, 13 Dec 2011 00:52:46 +0000 (00:52 +0000)]
Add EventDispatcher class to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=74344

Patch by Anders Carlsson <andersca@apple.com> on 2011-12-12
Reviewed by Sam Weinig.

The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.

* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
Add new files.

* Platform/CoreIPC/MessageID.h:
Add EventDispatcher.

* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
(WebKit::WebConnectionToUIProcess::invalidate):
* WebProcess/WebConnectionToUIProcess.h:
WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since
we don't want to add queue clients after the connection has been opened.

* WebProcess/WebPage/EventDispatcher.cpp: Added.
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::~EventDispatcher):
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in: Added.
Add new stub files.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initialize):
Add the event dispatcher as a queue client.

* WebProcess/WebProcess.h:
Add an EventDispatcher member variable to the web process.

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

9 years agoDon't crash in StyleAttributeMutationScope if the style declaration's element has...
adamk@chromium.org [Tue, 13 Dec 2011 00:48:36 +0000 (00:48 +0000)]
Don't crash in StyleAttributeMutationScope if the style declaration's element has been GCed
https://bugs.webkit.org/show_bug.cgi?id=74321

Reviewed by Ryosuke Niwa.

Source/WebCore:

In r101101, Rafael Weinstein added code to CSSMutableStyleDeclaration.cpp
which depended on isInlineStyleDeclaration returning true iff the
element it pointed to was non-null (it will be nulled-out if the
element is garbage collected).

Then, in r101172, Andreas Kling changed the semantics so that
isInlineStyleDeclaration only described the type of the declaration,
not the state of the related element.

This change updates Rafael's code with an explicit check that the
element is still alive.

Test: fast/dom/css-inline-style-declaration-crash.html

* css/CSSMutableStyleDeclaration.cpp:

LayoutTests:

* fast/dom/css-inline-style-declaration-crash-expected.txt: Added.
* fast/dom/css-inline-style-declaration-crash.html: Added.

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

9 years agoVersioning.
lforschler@apple.com [Tue, 13 Dec 2011 00:14:17 +0000 (00:14 +0000)]
Versioning.

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

9 years ago[WinCairo] Unreviewed update to Skipped list to get bot green.
bfulgham@webkit.org [Tue, 13 Dec 2011 00:09:46 +0000 (00:09 +0000)]
[WinCairo] Unreviewed update to Skipped list to get bot green.

* platform/wincairo/Skipped: Exclude current failures (and turn
  on a few new successes).

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

9 years agoAX: aria-hidden inheritance broken when applying to some descendants
cfleizach@apple.com [Mon, 12 Dec 2011 23:54:37 +0000 (23:54 +0000)]
AX: aria-hidden inheritance broken when applying to some descendants
https://bugs.webkit.org/show_bug.cgi?id=73940

Reviewed by Darin Adler.

Source/WebCore:

When adding children, we were not updating the children cache for direct AX descendants.
This meant that toggling aria-hidden could result in a stale cache where elements would not be reachable.

Making this fix also exposed a problem in AccessibilityTable where the AccessibilityHeaderObject was not
being managed correctly as a mock element.

Test: platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::addChildren):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::clearChildren):
(WebCore::AccessibilityTable::headerContainer):
* accessibility/AccessibilityTable.h:

LayoutTests:

* platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements-expected.txt: Added.
* platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html: Added.

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

9 years agoPrefix internal methods in Objective-C API files with an underscore
weinig@apple.com [Mon, 12 Dec 2011 23:51:08 +0000 (23:51 +0000)]
Prefix internal methods in Objective-C API files with an underscore
https://bugs.webkit.org/show_bug.cgi?id=74363

Reviewed by Dan Bernstein.

* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController _pageRef]):
(-[WKBrowsingContextController loadRequest:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
(-[WKBrowsingContextController stopLoading]):
(-[WKBrowsingContextController reload]):
(-[WKBrowsingContextController reloadFromOrigin]):
(-[WKBrowsingContextController goForward]):
(-[WKBrowsingContextController canGoForward]):
(-[WKBrowsingContextController goBack]):
(-[WKBrowsingContextController canGoBack]):
(-[WKBrowsingContextController activeURL]):
(-[WKBrowsingContextController provisionalURL]):
(-[WKBrowsingContextController committedURL]):
(-[WKBrowsingContextController title]):
(-[WKBrowsingContextController textZoom]):
(-[WKBrowsingContextController setTextZoom:]):
(-[WKBrowsingContextController pageZoom]):
(-[WKBrowsingContextController setPageZoom:]):
(-[WKBrowsingContextController setPaginationMode:]):
(-[WKBrowsingContextController paginationMode]):
(-[WKBrowsingContextController setPageLength:]):
(-[WKBrowsingContextController pageLength]):
(-[WKBrowsingContextController setGapBetweenPages:]):
(-[WKBrowsingContextController gapBetweenPages]):
(-[WKBrowsingContextController pageCount]):
(-[WKBrowsingContextController _initWithPageRef:]):
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
(-[WKBrowsingContextGroup allowsJavaScript]):
(-[WKBrowsingContextGroup setAllowsJavaScript:]):
(-[WKBrowsingContextGroup allowsPlugIns]):
(-[WKBrowsingContextGroup setAllowsPlugIns:]):
(-[WKBrowsingContextGroup _pageGroupRef]):
* UIProcess/API/mac/WKBrowsingContextGroupInternal.h:
* UIProcess/API/mac/WKConnection.mm:
(-[WKConnection _initWithConnectionRef:]):
* UIProcess/API/mac/WKConnectionInternal.h:
* UIProcess/API/mac/WKProcessGroup.mm:
(didCreateConnection):
(-[WKProcessGroup _contextRef]):
* UIProcess/API/mac/WKProcessGroupInternal.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:processGroup:browsingContextGroup:]):
(-[WKView browsingContextController]):

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

9 years agoWhen the mouse is dragged out of an :active element, it should lose :hover.
commit-queue@webkit.org [Mon, 12 Dec 2011 23:51:03 +0000 (23:51 +0000)]
When the mouse is dragged out of an :active element, it should lose :hover.
https://bugs.webkit.org/show_bug.cgi?id=57206

Patch by Jeremy Apthorp <jeremya@chromium.org> on 2011-12-12
Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/css/hover-active-drag.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
(WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
RenderLayer has a chance to update the hover/active status.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.

LayoutTests:

* fast/css/hover-active-drag-expected.txt: Added.
* fast/css/hover-active-drag.html: Added.
* platform/mac/fast/css/hover-active-drag-expected.txt: Removed.
* platform/chromium/fast/css/hover-active-drag-expected.txt: Removed.

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

9 years agoEliminate Duplicate word at a time equal code in StringImpl.cpp and StringHash.h
msaboff@apple.com [Mon, 12 Dec 2011 23:21:51 +0000 (23:21 +0000)]
Eliminate Duplicate word at a time equal code in StringImpl.cpp and StringHash.h
https://bugs.webkit.org/show_bug.cgi?id=73622

Reviewed by Oliver Hunt.

Moved equal(charType1 *, charType2, unsigned) template methods
from static StringImpl.cpp to StringImpl.h and then replaced the
processor specific character comparison code in StringHash::equal
with calls to these methods.

This change is worth 3% on SunSpider string-unpack-code as reported
by the SunSpider command line harness.  No other tests appear to
have measurable performance changes.

* wtf/text/AtomicString.h:
(WTF::operator==):
* wtf/text/StringHash.h:
(WTF::StringHash::equal):
* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
(WTF::LChar):
(WTF::UChar):
(WTF::equal):

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

9 years agoUnreviewed Chromium expectations update; skip
kbr@google.com [Mon, 12 Dec 2011 23:17:52 +0000 (23:17 +0000)]
Unreviewed Chromium expectations update; skip
plugins/netscape-plugin-page-cache-works.html.

* platform/chromium/test_expectations.txt:

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

9 years agoARMv7 version of DFG soft modulo does register allocation inside of control flow
fpizlo@apple.com [Mon, 12 Dec 2011 23:08:35 +0000 (23:08 +0000)]
ARMv7 version of DFG soft modulo does register allocation inside of control flow
https://bugs.webkit.org/show_bug.cgi?id=74354

Reviewed by Gavin Barraclough.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileSoftModulo):

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

9 years agoUnreviewed Windows build fix after http://trac.webkit.org/changeset/102619 .
kbr@google.com [Mon, 12 Dec 2011 23:05:34 +0000 (23:05 +0000)]
Unreviewed Windows build fix after trac.webkit.org/changeset/102619 .
Remove OVERRIDE specifier from virtual destructor.

* html/HTMLPlugInImageElement.h:

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

9 years agoWebKit code shouldn't be calling applyCommand directly
rniwa@webkit.org [Mon, 12 Dec 2011 22:53:34 +0000 (22:53 +0000)]
WebKit code shouldn't be calling applyCommand directly
https://bugs.webkit.org/show_bug.cgi?id=74337

Reviewed by Darin Adler.

Source/WebCore:

Make WebKit-layer code call Editor::replaceSelectionWithFragment and Editor::replaceSelectionWithText
instead of manually creating and applying ReplaceSelectionCommand.

The only behavioral difference is that new code will end up checking for spell checks. However, this
difference appears to be unintentional since the code predates http://trac.webkit.org/changeset/73886,
which introduced an invocation of spellcheck code.

Unfortunately no tests since there doesn't seem to be anyway to test this change.

* WebCore.exp.in:
* editing/EditCommand.cpp:
(WebCore::applyCommand):
* editing/EditCommand.h:
* editing/Editor.h:

Source/WebKit/chromium:

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

Source/WebKit/gtk:

* webkit/webkitwebframe.cpp:
(webkit_web_frame_replace_selection):

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::replaceSelectionWithText):

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

9 years agoUpdate html5lib test data to latest version
abarth@webkit.org [Mon, 12 Dec 2011 22:49:58 +0000 (22:49 +0000)]
Update html5lib test data to latest version
https://bugs.webkit.org/show_bug.cgi?id=74343

Reviewed by Eric Seidel.

This patch imports the latest version of the "dat" files from
http://code.google.com/p/html5lib/

* html5lib/resources/pending-spec-changes.dat:
* html5lib/resources/plain-text-unsafe.dat:
* html5lib/resources/tables01.dat:
* html5lib/resources/tests16.dat:
* html5lib/resources/tests19.dat:
* html5lib/resources/tests26.dat:
* html5lib/resources/tests_innerHTML_1.dat:
* html5lib/resources/webkit01.dat:
* html5lib/runner-expected.txt:
* html5lib/webkit-resumer-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

9 years agoRemove unused getter on WKConnection.
weinig@apple.com [Mon, 12 Dec 2011 22:41:31 +0000 (22:41 +0000)]
Remove unused getter on WKConnection.

Reviewed by Dan Bernstein.

* UIProcess/API/mac/WKConnection.mm:

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

9 years agoSimplify autotools configure.ac
commit-queue@webkit.org [Mon, 12 Dec 2011 22:33:45 +0000 (22:33 +0000)]
Simplify autotools configure.ac
https://bugs.webkit.org/show_bug.cgi?id=74312

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-12
Reviewed by Martin Robinson.

.:

* configure.ac: Don't AC_DEFINE so many things.  Many of the
defines were stale (ENABLE_YARR, ENABLE_JIT_OPTIMIZE_CALL, etc),
and with Platform.h we don't need to make an explicit decision
here.  If the user does pass --enable-jit or --disable-jit, effect
that choice via setting JSC_CPPFLAGS.

Source/JavaScriptCore:

* GNUmakefile.am: Add JSC_CPPFLAGS to javascriptcore_cppflags.

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

9 years agoDFG GetByVal CSE incorrectly assumes that a non-matching PutByVal cannot clobber
fpizlo@apple.com [Mon, 12 Dec 2011 22:13:35 +0000 (22:13 +0000)]
DFG GetByVal CSE incorrectly assumes that a non-matching PutByVal cannot clobber
https://bugs.webkit.org/show_bug.cgi?id=74329

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::getByValLoadElimination):

LayoutTests:

* fast/js/dfg-get-by-val-clobber-expected.txt: Added.
* fast/js/dfg-get-by-val-clobber.html: Added.
* fast/js/script-tests/dfg-get-by-val-clobber.js: Added.
(doAccesses):

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

9 years agoRemove platform/audio/fftw
abarth@webkit.org [Mon, 12 Dec 2011 22:13:32 +0000 (22:13 +0000)]
Remove platform/audio/fftw
https://bugs.webkit.org/show_bug.cgi?id=73163

Reviewed by Eric Seidel.

The FFTW library is GPL, not LGPL, like WebKit.  This patch removes the
integration with the library so folks who use WebAudio don't
accidentially violate the GPL by linking in FFTW.

* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/audio/FFTFrame.h:
* platform/audio/FFTFrameStub.cpp:
* platform/audio/fftw: Removed.
* platform/audio/fftw/FFTFrameFFTW.cpp: Removed.

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

9 years agoCOMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
kbr@google.com [Mon, 12 Dec 2011 22:09:26 +0000 (22:09 +0000)]
COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
https://bugs.webkit.org/show_bug.cgi?id=74327

Unreviewed build fix. True fix should follow under above bug.

* css/CSSStyleSelector.cpp:

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

9 years agoFix compilation error when !ENABLE(WORKERS)
dgrogan@chromium.org [Mon, 12 Dec 2011 22:04:06 +0000 (22:04 +0000)]
Fix compilation error when !ENABLE(WORKERS)
https://bugs.webkit.org/show_bug.cgi?id=74029

Reviewed by Yury Semikhatsky.

Source/WebCore:

* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open): add #if ENABLE(WORKERS) guard

Source/WebKit/chromium:

* features.gypi:
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::openFromWorker):
* src/PlatformSupport.cpp:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgent::disconnectEventAsText):
* src/WebWorkerRunLoop.cpp:

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

9 years agoPage cache should support pages with plugins.
beidson@apple.com [Mon, 12 Dec 2011 22:00:31 +0000 (22:00 +0000)]
Page cache should support pages with plugins.
<rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634

Source/WebCore:

Reviewed by Anders Carlsson.

By making plugin elements renderers go display:none when entering the page cache,
we destroy the plug-in in a cross platform way as well as handle invalidating script
objects created by that plugin.

By restoring the original style when leaving the page cache and forcing a style recalc
on the plugin element, the plugin is gracefully reinstantiated when the user goes back.

Test: plugins/netscape-plugin-page-cache-works.html

* dom/Document.cpp:
(WebCore::Document::documentDidBecomeActive): Copy this collection before iterating over
  it, as the callbacks might result in mutating the set.

* dom/Node.h:
(WebCore::Node::setHasCustomStyleForRenderer):
(WebCore::Node::clearHasCustomStyleForRenderer): Expose the ability to stop using a
  custom renderer and go back to the default renderer.

* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame): Move the document inactivation call to the same place
  we suspend active DOM objects. It is important this call be *after* the beforeunload event
  is dispatched, and was coincidental non of the elements that using Document activation
  had run in to this problem yet.

* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame): If the page contains plugins but
  the PageCacheSupportsPlugins setting is true, allow this page.

Kill and recreate the plugin by listening for Document activation callbacks and setting a custom
display:none render style:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Unregister for document activation
  callbacks.
(WebCore::HTMLPlugInImageElement::createRenderer): Once a renderer (ie. plugin instance) is
  created, this element needs Document (in)activation callbacks.
(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Manage Document activation
  callback registration.
(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument): Ditto.
(WebCore::HTMLPlugInImageElement::documentWillBecomeInactive): Clone the element's current style
  and set the clone's display value to None. Start using this custom style and force a style
  recall. This destroys the renderer and therefore the plugin instance.
(WebCore::HTMLPlugInImageElement::documentDidBecomeActive): Stop using the custom style and
  force a style recall to reinstantiate the plugin.
(WebCore::HTMLPlugInImageElement::customStyleForRenderer): Return the stand-in style that has
  display:none set.
* html/HTMLPlugInImageElement.h:

Add a setting that allows runtime configuration of whether or not the page cache supports plugins:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setPageCacheSupportsPlugins):
(WebCore::Settings::pageCacheSupportsPlugins):

Source/WebKit/mac:

Expose a WebKit preference for the page cache supporting plugins (on by default).

Reviewed by Anders Carlsson.

* WebView/WebPreferenceKeysPrivate.h:

* WebView/WebPreferences.mm:
(-[WebPreferences pageCacheSupportsPlugins]):
(-[WebPreferences setPageCacheSupportsPlugins:]):
* WebView/WebPreferencesPrivate.h:

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Expose a WebKit2 preference for the page cache supporting plugins (on by default).

Reviewed by Anders Carlsson.

* Shared/WebPreferencesStore.h:

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetPageCacheSupportsPlugins):
(WKPreferencesGetPageCacheSupportsPlugins):
* UIProcess/API/C/WKPreferencesPrivate.h:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:

Reviewed by Anders Carlsson.

* plugins/netscape-plugin-page-cache-works-expected.txt: Added.
* plugins/netscape-plugin-page-cache-works.html: Added.
* plugins/resources/go-back.html: Added.

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

9 years agoAdd WKConnection objective-c wrapper around WKConnectionRef
weinig@apple.com [Mon, 12 Dec 2011 21:41:34 +0000 (21:41 +0000)]
Add WKConnection objective-c wrapper around WKConnectionRef
<rdar://problem/10446092>
https://bugs.webkit.org/show_bug.cgi?id=74324

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKConnection.h: Added.
* UIProcess/API/mac/WKConnection.mm: Added.
(-[WKConnection dealloc]):
(-[WKConnection connectionRef]):
(-[WKConnection delegate]):
(-[WKConnection setDelegate:]):
(didReceiveMessage):
(didClose):
(setUpClient):
(-[WKConnection initWithConnectionRef:]):
* UIProcess/API/mac/WKConnectionInternal.h: Added.
Added new class.

* UIProcess/API/mac/WKProcessGroup.h:
* UIProcess/API/mac/WKProcessGroup.mm:
(didCreateConnection):
(setUpConnectionClient):
(-[WKProcessGroup initWithInjectedBundleURL:]):
(-[WKProcessGroup delegate]):
(-[WKProcessGroup setDelegate:]):
Add WKProcessGroupDelegate to inform the user of when connections are established.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

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

9 years agoRename QueueClient::willProcessMessageOnClientRunLoop
andersca@apple.com [Mon, 12 Dec 2011 21:41:04 +0000 (21:41 +0000)]
Rename QueueClient::willProcessMessageOnClientRunLoop
https://bugs.webkit.org/show_bug.cgi?id=74325

Reviewed by Sam Weinig.

Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue
and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that
the function is expected to handle the message.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::processIncomingMessage):
* Platform/CoreIPC/Connection.h:
* Scripts/webkit2/messages.py:
(async_case_statement):
* Scripts/webkit2/messages_unittest.py:
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebConnectionToUIProcess.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:

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

9 years agor102234 caused RuleData to use 33 bits in its bitmask
ojan@chromium.org [Mon, 12 Dec 2011 21:25:04 +0000 (21:25 +0000)]
r102234 caused RuleData to use 33 bits in its bitmask
https://bugs.webkit.org/show_bug.cgi?id=74314

Reviewed by Antti Koivisto.

Lower m_position to something more reasonable. A million
should be plenty. Current large sites (e.g. gmail) seem to use
tens of thousands.

Added a COMPILE_ASSERT to ensure this doesn't regress.

No new tests.

* css/CSSStyleSelector.cpp:

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

9 years agoRename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec...
commit-queue@webkit.org [Mon, 12 Dec 2011 20:58:15 +0000 (20:58 +0000)]
Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
https://bugs.webkit.org/show_bug.cgi?id=74231

Patch by James Robinson <jamesr@chromium.org> on 2011-12-12
Reviewed by Simon Fraser.

Source/WebCore:

The RequestAnimationFrame spec has renamed cancelRequestAnimationFrame to cancelAnimationFrame in response to
feedback from Mozilla and Microsoft that the old name was too long and didn't parallel setTimeout/clearTimeout
and setInterval/clearInterval very well. This updates our IDL to match, while preserving the old name as an
alias to be compatible with current content.

* dom/Document.cpp:
(WebCore::Document::webkitCancelAnimationFrame):
* dom/Document.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitCancelAnimationFrame):
* page/DOMWindow.h:
(WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
* page/DOMWindow.idl:

LayoutTests:

Update requestAnimationFrame tests to refer to the new function name.

* fast/animation/request-animation-frame-missing-arguments.html:
* fast/animation/script-tests/request-animation-frame-cancel.js:
(window):
* fast/animation/script-tests/request-animation-frame-cancel2.js:

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

9 years ago[chromium] Remove assumption that empty surface is always at end of list
commit-queue@webkit.org [Mon, 12 Dec 2011 20:53:30 +0000 (20:53 +0000)]
[chromium] Remove assumption that empty surface is always at end of list
https://bugs.webkit.org/show_bug.cgi?id=74037

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-12-12
Reviewed by James Robinson.

Source/WebCore:

Test case added to CCLayerTreeHostCommonTest.cpp, which reproduces
a crash reported in http://code.google.com/p/chromium/issues/detail?id=106734

This patch fixes the crash in a less risky way to be merged into
m17, but the root of the issue needs to be addressed in a
follow-up patch.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

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

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

9 years ago[chromium] Remove BufferDrag from WebClipboard::Buffer enum.
dcheng@chromium.org [Mon, 12 Dec 2011 20:47:48 +0000 (20:47 +0000)]
[chromium] Remove BufferDrag from WebClipboard::Buffer enum.
https://bugs.webkit.org/show_bug.cgi?id=74227

Reviewed by Tony Chang.

This enum value was intended for asynchronous data retrieval during drop operations; since
that was never implemented, I'm removing this enum value.

* public/platform/WebClipboard.h:
* src/AssertMatchingEnums.cpp:

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

9 years agoUnreviewed Chromium gardening. Mark flaky crashing transitions/
kbr@google.com [Mon, 12 Dec 2011 20:29:31 +0000 (20:29 +0000)]
Unreviewed Chromium gardening. Mark flaky crashing transitions/
test and update previously added flaky compositing test expectations.

* platform/chromium/test_expectations.txt:

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

9 years agoShare code that checks for matching sets of transform operations
simon.fraser@apple.com [Mon, 12 Dec 2011 19:16:20 +0000 (19:16 +0000)]
Share code that checks for matching sets of transform operations
https://bugs.webkit.org/show_bug.cgi?id=74265

Reviewed by Dan Bernstein.

Add TransformOperations::operationsMatch() and call it from the
three places that used this same code.

Tested by existing tests.

* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::validateTransformFunctionList):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::validateTransformFunctionList):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::fetchTransformOperationList):
* platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::operationsMatch):
* platform/graphics/transforms/TransformOperations.h:

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

9 years agoUnreviewed, remove X86_64 modifier from GTK test_expectations list.
philn@webkit.org [Mon, 12 Dec 2011 19:11:28 +0000 (19:11 +0000)]
Unreviewed, remove X86_64 modifier from GTK test_expectations list.

* platform/gtk/test_expectations.txt:

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

9 years agoCache visited link hash
antti@apple.com [Mon, 12 Dec 2011 18:56:20 +0000 (18:56 +0000)]
Cache visited link hash
https://bugs.webkit.org/show_bug.cgi?id=74095

Reviewed by Darin Adler.

Visited link hash is relatively expensive to compute. We can cache it for anchor elements
with minimal relative memory cost for faster style resolve.

On my machine this speeds up style matching on full HTML spec by ~100ms or ~1% of the total
CPU usage. It makes link elements 8 bytes larger, a relatively minor increase to their overall size.

Invalidate the hashes on base URL for completeness sake (lack of style invalidation means
that this scenario is not properly supported currently).

Covered by existing tests. No specific test for visited hash invalidation on dynamic base URL
change as the effect is not testable due to lack of style invalidation.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::determineLinkStateSlowCase):
(WebCore::SelectorChecker::visitedStateChanged):
* html/Document.cpp:
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::HTMLAnchorElement):
(WebCore::HTMLAnchorElement::parseMappedAttribute):
* html/HTMLAnchorElement.h:
(WebCore::HTMLAnchorElement::visitedLinkHash):

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

9 years ago<rdar://problem/10328474> Text highlight changes to gray selection color when menu...
mitz@apple.com [Mon, 12 Dec 2011 18:48:43 +0000 (18:48 +0000)]
<rdar://problem/10328474> Text highlight changes to gray selection color when menu extra is shown

Reviewed by John Sullivan.

* WebView/WebView.mm:
(-[WebView _updateActiveState]): Changed to use -[NSWindow _hasKeyAppearance] instead
of -isKeyWindow. The former also returns YES when a menu extra is open.
(-[WebView addWindowObserversForWindow:]): Removed code to observe
NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification.
(-[WebView removeWindowObservers]): Removed code to stop observing the above.
(-[WebView _windowChangedKeyState]): Overridden this to call _updateActiveState.
This is called when the result of -_hasKeyAppearance changes.
(-[WebView _windowWillOrderOnScreen:]): Removed call to _updateActiveState,
previously needed for popovers, because _windowChangedKeyState is invoked
at the right time for them.
(-[WebView _windowWillOrderOffScreen:]): Ditto.

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

9 years ago[GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size...
commit-queue@webkit.org [Mon, 12 Dec 2011 18:44:10 +0000 (18:44 +0000)]
[GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
https://bugs.webkit.org/show_bug.cgi?id=72805

Patch by Martin Robinson <mrobinson@igalia.com> on 2011-12-12
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

No new tests. This is only a performance tweak.

Instead of immediately calling gtk_widget_size during painting, defer
this until the size-allocate method of the WebView.

* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::updateWidgetAllocationAndClip): Instead of immediately changing
the widget allocation, just record it in a GObject data attachment.

Source/WebKit/gtk:

Instead of immediately calling gtk_widget_size during painting, defer
this until the size-allocate method of the WebView.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::paint): If any child widgets have a pending allocation
call gtk_widget_size_allocate.
* webkit/webkitwebview.cpp:
(updateChildAllocationFromPendingAllocation): Added this helper.
(webkit_web_view_size_allocate): Call the helper on all child widgets.

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

9 years ago[chromium] MediaStream API: Moving WebMediaStreamSource.h
tommyw@google.com [Mon, 12 Dec 2011 18:40:03 +0000 (18:40 +0000)]
[chromium] MediaStream API: Moving WebMediaStreamSource.h
https://bugs.webkit.org/show_bug.cgi?id=74081

Moving WebMediaStreamSource.h to public/platform.
Keeping a stub in public as to not affect chromium right now.

Reviewed by Darin Fisher.

* WebKit.gyp:
* public/WebMediaStreamSource.h:
* public/platform/WebMediaStreamSource.h: Copied from Source/WebKit/chromium/public/WebMediaStreamSource.h.
(WebKit::WebMediaStreamSource::WebMediaStreamSource):
(WebKit::WebMediaStreamSource::~WebMediaStreamSource):
(WebKit::WebMediaStreamSource::isNull):
* src/AssertMatchingEnums.cpp:
* src/UserMediaClientImpl.cpp:
* src/WebMediaStreamDescriptor.cpp:
* src/WebMediaStreamRegistry.cpp:
* src/WebMediaStreamSource.cpp:
* src/WebUserMediaRequest.cpp:

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

9 years agoSource/WebCore: A SubresourceLoader in the middle of revalidating
japhet@chromium.org [Mon, 12 Dec 2011 18:27:31 +0000 (18:27 +0000)]
Source/WebCore: A SubresourceLoader in the middle of revalidating
a resource should be treated as finishing (similar to
didFinishLoading and didFail) to ensure that willCancel()
doesn't declare the revalidation as having failed reentrantly.
https://bugs.webkit.org/show_bug.cgi?id=72762

Reviewed by Adam Barth.

Test: http/tests/cache/cancel-during-revalidation-succeeded.html

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=72762

Reviewed by Adam Barth.

* http/tests/cache/cancel-during-revalidation-succeeded-expected.txt: Added.
* http/tests/cache/cancel-during-revalidation-succeeded.html: Added.
* http/tests/cache/resources/stylesheet304.php: Added.

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

9 years ago[EFL] Add API to query the validity of a frame's SSL certificate.
kubo@profusion.mobi [Mon, 12 Dec 2011 18:18:57 +0000 (18:18 +0000)]
[EFL] Add API to query the validity of a frame's SSL certificate.
https://bugs.webkit.org/show_bug.cgi?id=74302

Reviewed by Gustavo Noronha Silva.

* ewk/ewk_frame.cpp:
(ewk_frame_certificate_status_get):
* ewk/ewk_frame.h:

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

9 years ago[EFL] Add API to notify that mixed content has been loaded.
kubo@profusion.mobi [Mon, 12 Dec 2011 18:18:34 +0000 (18:18 +0000)]
[EFL] Add API to notify that mixed content has been loaded.
https://bugs.webkit.org/show_bug.cgi?id=74301

Reviewed by Gustavo Noronha Silva.

When mixed content is displayed/run, both frames and views
emit the proper signals to notify API users.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::didDisplayInsecureContent):
(WebCore::FrameLoaderClientEfl::didRunInsecureContent):
* ewk/ewk_frame.cpp:
(ewk_frame_view_create_for_view):
(ewk_frame_mixed_content_displayed_get):
(ewk_frame_mixed_content_run_get):
(ewk_frame_mixed_content_displayed_set):
(ewk_frame_mixed_content_run_set):
* ewk/ewk_frame.h:
* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
(ewk_view_frame_main_cleared):
(ewk_view_mixed_content_displayed_get):
(ewk_view_mixed_content_run_get):
(ewk_view_mixed_content_displayed_set):
(ewk_view_mixed_content_run_set):
* ewk/ewk_view.h:

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

9 years ago[EFL] Add API to manage root X.509 CA certificates.
kubo@profusion.mobi [Mon, 12 Dec 2011 18:18:07 +0000 (18:18 +0000)]
[EFL] Add API to manage root X.509 CA certificates.
https://bugs.webkit.org/show_bug.cgi?id=74300

Reviewed by Martin Robinson.

* ewk/ewk_network.cpp:
(ewk_network_tls_ca_certificates_path_get):
(ewk_network_tls_ca_certificates_path_set):
* ewk/ewk_network.h:

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

9 years ago[EFL] Add API to control whether SSL certificates should be checked.
kubo@profusion.mobi [Mon, 12 Dec 2011 18:17:40 +0000 (18:17 +0000)]
[EFL] Add API to control whether SSL certificates should be checked.
https://bugs.webkit.org/show_bug.cgi?id=74299

Reviewed by Martin Robinson.

* ewk/ewk_main.cpp:
(_ewk_init_body): Explicitly disable certificate checks by default.
* ewk/ewk_network.cpp:
(ewk_network_tls_certificate_check_get):
(ewk_network_tls_certificate_check_set):
* ewk/ewk_network.h:

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

9 years agoUnreviewed cleanup fix.
alexis.menard@openbossa.org [Mon, 12 Dec 2011 18:10:22 +0000 (18:10 +0000)]
Unreviewed cleanup fix.

Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016

Also remove the files that should be removed.

* UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
* UIProcess/qt/qwkhistory.cpp: Removed.
* UIProcess/qt/qwkhistory.h: Removed.
* UIProcess/qt/qwkhistory_p.h: Removed.

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

9 years ago[Qt] Unreviewed gardening. Add Qt5 specific expected results after r102388.
ossy@webkit.org [Mon, 12 Dec 2011 18:03:46 +0000 (18:03 +0000)]
[Qt] Unreviewed gardening. Add Qt5 specific expected results after r102388.

* platform/qt-5.0/animations/cross-fade-background-image-expected.png: Added.
* platform/qt-5.0/animations/cross-fade-background-image-expected.txt: Added.
* platform/qt-5.0/animations/cross-fade-border-image-source-expected.png: Added.
* platform/qt-5.0/animations/cross-fade-border-image-source-expected.txt: Added.
* platform/qt-5.0/animations/cross-fade-list-style-image-expected.png: Added.
* platform/qt-5.0/animations/cross-fade-list-style-image-expected.txt: Added.
* platform/qt-5.0/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
* platform/qt-5.0/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
* platform/qt-5.0/animations/cross-fade-webkit-mask-image-expected.png: Added.
* platform/qt-5.0/animations/cross-fade-webkit-mask-image-expected.txt: Added.
* platform/qt-5.0/transitions/cross-fade-background-image-expected.png: Added.
* platform/qt-5.0/transitions/cross-fade-background-image-expected.txt: Added.
* platform/qt-5.0/transitions/cross-fade-border-image-expected.png: Added.
* platform/qt-5.0/transitions/cross-fade-border-image-expected.txt: Added.

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

9 years agoUnreviewed. Mark a couple of flaky compositing tests as failing.
kbr@google.com [Mon, 12 Dec 2011 17:49:54 +0000 (17:49 +0000)]
Unreviewed. Mark a couple of flaky compositing tests as failing.

* platform/chromium/test_expectations.txt:

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