WebKit-https.git
8 years agoRemove HEADER_SEARCH_PATHS from Production configurations for gtest
ddkilzer@apple.com [Thu, 5 Jan 2012 07:12:38 +0000 (07:12 +0000)]
Remove HEADER_SEARCH_PATHS from Production configurations for gtest

Reviewed by Mark Rowe.

* gtest/xcode/gtest.xcodeproj/project.pbxproj: Remove
HEADER_SEARCH_PATHS from Production configurations to match
changes made for Debug and Release configurations in r104091.

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

8 years agoRoll Chromium DEPS from 116031 to 116459.
rniwa@webkit.org [Thu, 5 Jan 2012 06:49:51 +0000 (06:49 +0000)]
Roll Chromium DEPS from 116031 to 116459.

* DEPS:

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

8 years agoUnreviewed, rolling out r104084.
commit-queue@webkit.org [Thu, 5 Jan 2012 04:59:10 +0000 (04:59 +0000)]
Unreviewed, rolling out r104084.
http://trac.webkit.org/changeset/104084
https://bugs.webkit.org/show_bug.cgi?id=75600

Likely kills dom-perf benchmark in chromium
http://build.chromium.org/f/chromium/perf/linux-
release/dom_perf/report.html?history=150&rev=116444 (Requested
by dslomov on #webkit).

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

* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):
(WebCore::DynamicSubtreeNodeList::invalidateCache):
(WebCore::DynamicSubtreeNodeList::Caches::create):
(WebCore::DynamicSubtreeNodeList::Caches::reset):
* dom/DynamicNodeList.h:
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* dom/Node.cpp:
(WebCore::Node::setTreeScopeRecursively):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore::Node::notifyLocalNodeListsLabelChanged):
(WebCore::Node::itemTypeAttributeChanged):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
* dom/Node.h:
* dom/NodeRareData.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::parseMappedAttribute):
* html/HTMLLabelElement.h:

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

8 years agoSource/WebKit2: Allow WebProcess to launch a client process and become its first...
mitz@apple.com [Thu, 5 Jan 2012 04:19:28 +0000 (04:19 +0000)]
Source/WebKit2: Allow WebProcess to launch a client process and become its first WebProcess.

This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach

Reviewed by Anders Carlsson.

* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain): Added a newline to stderr output.
* UIProcess/Launcher/mac/EnvironmentVariables.cpp:
(WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name
of the environment variable that optionally tells a UI processs to look for a preexisting
web process instead of launching a new one.
(WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the
environment variable that tells a UI process the type of the preexisting web process
indicated by the other variable.
* UIProcess/Launcher/mac/EnvironmentVariables.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if
the aforementioned environment variables are set and the preexisting process has not been
used yet.
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain): Changed to look for the -client-executable command-line option,
and if present, launch the specified executable, setting variables in its environment that
tell it to use this preexisting web process, then wait for it to send a send right to its
listening port.

Tools: Add a --target-web-process option to the debug-* scripts. When specified, the scripts will
start WebProcess under gdb and WebProcess will then run the client executable.

This is the Tools part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach

Reviewed by Anders Carlsson.

* Scripts/webkitdirs.pm:
(shouldTargetWebProcess): Added.
(determineShouldTargetWebProcess): Added. Checks for --target-web-process.
(execMacWebKitAppForDebugging): Changed to target gdb at WebProcess and pass the path to the
app using the -client-executable option if targeting the web process.

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

8 years agoAttempt Chromium build fix.
levin@chromium.org [Thu, 5 Jan 2012 03:20:26 +0000 (03:20 +0000)]
Attempt Chromium build fix.

* src/WorkerFileSystemCallbacksBridge.h:

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

8 years ago[chromium] FileSystem bridge needs threadsafe fixes and other clean-up.
levin@chromium.org [Thu, 5 Jan 2012 03:08:38 +0000 (03:08 +0000)]
[chromium] FileSystem bridge needs threadsafe fixes and other clean-up.
https://bugs.webkit.org/show_bug.cgi?id=74666

Reviewed by Dmitry Titov.

Tests for all of the fixes done in bugs related to 74666.

* http/tests/workers/resources/open-database-sync.js: Removed.
* http/tests/workers/resources/sync-operations.js: Added.
(removeAllInDirectorySync):
(onmessage):
* http/tests/workers/terminate-during-sync-operation-expected.txt: Added.
* http/tests/workers/terminate-during-sync-operation.html: Renamed from LayoutTests/http/tests/workers/interrupt-database-sync-open-crash.html-skipped.
* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Remove AllowCrossThreadAccess in WorkerFileSystemCallbacksBridge.
levin@chromium.org [Thu, 5 Jan 2012 03:08:24 +0000 (03:08 +0000)]
[chromium] Remove AllowCrossThreadAccess in WorkerFileSystemCallbacksBridge.
https://bugs.webkit.org/show_bug.cgi?id=75579

Reviewed by Dmitry Titov.

This code doesn't have lifetime issues, but this change is
about getting rid of AllowCrossThreadAccess and getting rid of a leakRef.
This allows the code to follow a more common pattern and be more easily
verified as being correct.

* src/WorkerFileSystemCallbacksBridge.cpp:
(WebKit::MainThreadFileSystemCallbacks::createLeakedPtr):
(WebKit::MainThreadFileSystemCallbacks::MainThreadFileSystemCallbacks):
(WebKit::WorkerFileSystemCallbacksBridge::postOpenFileSystemToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postMoveToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postCopyToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postRemoveToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postRemoveRecursivelyToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postReadMetadataToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postCreateFileToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postCreateDirectoryToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postFileExistsToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postDirectoryExistsToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::postReadDirectoryToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::openFileSystemOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::moveOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::copyOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::removeOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::removeRecursivelyOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::readMetadataOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::createFileOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::createDirectoryOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::fileExistsOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::directoryExistsOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::readDirectoryOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::didFailOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::didOpenFileSystemOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::didSucceedOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::didReadMetadataOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::didReadDirectoryOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::didFailOnWorkerThread):
(WebKit::WorkerFileSystemCallbacksBridge::didOpenFileSystemOnWorkerThread):
(WebKit::WorkerFileSystemCallbacksBridge::didSucceedOnWorkerThread):
(WebKit::WorkerFileSystemCallbacksBridge::didReadMetadataOnWorkerThread):
(WebKit::WorkerFileSystemCallbacksBridge::didReadDirectoryOnWorkerThread):
(WebKit::WorkerFileSystemCallbacksBridge::runTaskOnMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::mayPostTaskToWorker):
* src/WorkerFileSystemCallbacksBridge.h:

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

8 years ago[chromium] Make it safe to delete WorkerFileSystemContextObserver on any thread.
levin@chromium.org [Thu, 5 Jan 2012 03:08:14 +0000 (03:08 +0000)]
[chromium] Make it safe to delete WorkerFileSystemContextObserver on any thread.
https://bugs.webkit.org/show_bug.cgi?id=75573

Reviewed by Dmitry Titov.

* src/WorkerFileSystemCallbacksBridge.cpp:
(WebKit::WorkerFileSystemContextObserver): Move the WorkerContextObserver
out of the WorkerFileSystemCallbacksBridge since an observer should be
destroyed on the WorkerContext thread. (Actually, it could be destroyed on either
thread if you are careful to make a certain method call on it while on the WorkerContext
thread but trying that is a more fragile pattern.)
(WebKit::WorkerFileSystemCallbacksBridge::WorkerFileSystemCallbacksBridge):
(WebKit::WorkerFileSystemCallbacksBridge::stop): Factor out the clean up and make it
clear what the mutex is guarding.
(WebKit::WorkerFileSystemCallbacksBridge::cleanUpAfterCallback): Delete
the observer. Due to where this is called from, it is always called on the WorkerContext thread.
(WebKit::WorkerFileSystemCallbacksBridge::runTaskOnWorkerThread): Replace some code with
the cleanUpAfterCallback call.
(WebKit::WorkerFileSystemCallbacksBridge::mayPostTaskToWorker):
* src/WorkerFileSystemCallbacksBridge.h: In addition to some comment clean ups and code factoring,
I made the desctructor private since no one should call it directly.

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

8 years agoUnreviewed, accidentally turned off the JIT in previous commit. Turning
fpizlo@apple.com [Thu, 5 Jan 2012 01:22:48 +0000 (01:22 +0000)]
Unreviewed, accidentally turned off the JIT in previous commit. Turning
it back on.

* wtf/Platform.h:

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

8 years ago[chromium] Remove chromium compositor support for unused zoomAnimatorTransform
jamesr@google.com [Thu, 5 Jan 2012 01:19:16 +0000 (01:19 +0000)]
[chromium] Remove chromium compositor support for unused zoomAnimatorTransform
https://bugs.webkit.org/show_bug.cgi?id=75585

Reviewed by Kenneth Russell.

Source/WebCore:

Removes compositor support for zoomAnimatorTransform property. This code is unused and never was used.
Zoom animations are handled by adjusting the page scale factor and scroll offsets.

* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
* platform/graphics/chromium/cc/CCLayerImpl.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setZoomLevel):
(WebKit::WebViewImpl::setRootLayerNeedsDisplay):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):

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

8 years agoChanged "return" to "break" in some macrology I introduced in
fpizlo@apple.com [Thu, 5 Jan 2012 01:18:26 +0000 (01:18 +0000)]
Changed "return" to "break" in some macrology I introduced in
http://trac.webkit.org/changeset/104086. This is a benign change, as
"return" was technically correct for all uses of the macro.

Reviewed by Oliver Hunt.

* dfg/DFGGraph.cpp:
* wtf/Platform.h:

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

8 years agoFix semantics of WEBKIT_WEBGL_lose_context
kbr@google.com [Thu, 5 Jan 2012 01:12:52 +0000 (01:12 +0000)]
Fix semantics of WEBKIT_WEBGL_lose_context
https://bugs.webkit.org/show_bug.cgi?id=75053

Reviewed by James Robinson.

Source/WebCore:

Updated WEBGL_lose_context extension to match WebGL spec's
behavior:

  - loseContext() causes the context to be lost immediately, but
    the webglcontextlost event isn't dispatched until JavaScript
    returns.
  - restoreContext() may only be called once dispatch of the
    webglcontextlost event has completed, *and* if that event handler
    prevented the default behavior of the event.
  - restoreContext() performs its work asynchronously. The context
    is not restored until just before the webglcontextrestored event
    is dispatched.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::forceLostContext):
(WebCore::WebGLRenderingContext::forceRestoreContext):
(WebCore::WebGLRenderingContext::dispatchContextLostEvent):
(WebCore::WebGLRenderingContext::maybeRestoreContext):
* html/canvas/WebGLRenderingContext.h:

LayoutTests:

Updated context-lost and context-lost-restored tests to latest
versions in Khronos repository. Updated WebGLContextEvent.html to
match new semantics.

* fast/canvas/webgl/WebGLContextEvent-expected.txt:
* fast/canvas/webgl/WebGLContextEvent.html:
* fast/canvas/webgl/context-lost-expected.txt:
* fast/canvas/webgl/context-lost-restored-expected.txt:
* fast/canvas/webgl/context-lost-restored.html:
* fast/canvas/webgl/context-lost.html:

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

8 years agoStructureStubInfo not reset when corresponding MethodCallLinkInfo is reset
msaboff@apple.com [Thu, 5 Jan 2012 00:31:10 +0000 (00:31 +0000)]
StructureStubInfo not reset when corresponding MethodCallLinkInfo is reset
https://bugs.webkit.org/show_bug.cgi?id=75583

Reviewed by Filip Pizlo.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally): Find the corresponding
StructureStubInfo and reset the appropriate JIT and
the StructureStubInfo itself when reseting a MethodCallLinkInfo.

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

8 years agoTestWebKitAPI has issues due to FastMalloc incompatibility
ddkilzer@apple.com [Thu, 5 Jan 2012 00:15:09 +0000 (00:15 +0000)]
TestWebKitAPI has issues due to FastMalloc incompatibility
<http://webkit.org/b/66521>
<rdar://problem/10607911>

Reviewed by David Levin.

Original patch by Dmitry Lomov <dslomov@google.com>.

This patch ensures that gtest uses the FastMalloc new and delete
operators that are defined in JavaScriptCore.

* gtest/README.WebKit: Update with project changes.
* gtest/include/gtest/internal/gtest-port.h: Import necessary
headers to use FastMalloc in gtest.
* gtest/msvc/gtest-md.vcproj: Add include directories to find
WTF headers.
* gtest/xcode/Config/DebugProject.xcconfig: Define
WEBCORE_PRIVATE_HEADERS_DIR for Debug builds.
* gtest/xcode/Config/General.xcconfig: Define
HEADER_SEARCH_PATHS in terms of WEBCORE_PRIVATE_HEADERS_DIR.
* gtest/xcode/Config/ProductionProject.xcconfig: Define
WEBCORE_PRIVATE_HEADERS_DIR for Production builds.  This
overrides the value in ReleaseProject.xcconfig.
* gtest/xcode/Config/ReleaseProject.xcconfig: Define
WEBCORE_PRIVATE_HEADERS_DIR for Release builds.
* gtest/xcode/gtest.xcodeproj/project.pbxproj:
- Remove local HEADER_SEARCH_PATHS definitions.
- Link to JavaScriptCore.framework when building
  gtest.framework.

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

8 years agoInvalid ASSERT() in DFGRepatch.cpp near line 385
msaboff@apple.com [Thu, 5 Jan 2012 00:10:18 +0000 (00:10 +0000)]
Invalid ASSERT() in DFGRepatch.cpp near line 385
https://bugs.webkit.org/show_bug.cgi?id=75584

Reviewed by Filip Pizlo.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDProtoList): Fixed ASSERT to use ==.

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

8 years agoRemove a line for a test that no longer fails on the bots.
ojan@chromium.org [Wed, 4 Jan 2012 23:55:27 +0000 (23:55 +0000)]
Remove a line for a test that no longer fails on the bots.
* platform/chromium/test_expectations.txt:

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

8 years agoIncorrect use of DFG node reference counts when mutating the graph
fpizlo@apple.com [Wed, 4 Jan 2012 23:13:30 +0000 (23:13 +0000)]
Incorrect use of DFG node reference counts when mutating the graph
https://bugs.webkit.org/show_bug.cgi?id=75580
<rdar://problem/10644607>

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Made deref(node) follow the pattern of ref(node), which it should have
to begin with.

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::refChildren):
(JSC::DFG::Graph::derefChildren):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::clearAndDerefChild1):
(JSC::DFG::Graph::clearAndDerefChild2):
(JSC::DFG::Graph::clearAndDerefChild3):
* dfg/DFGNode.h:
(JSC::DFG::Node::deref):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::fixupNode):

LayoutTests:

Reviewed by Oliver Hunt.

* fast/js/dfg-array-length-dead-expected.txt: Added.
* fast/js/dfg-array-length-dead.html: Added.
* fast/js/script-tests/dfg-array-length-dead.js: Added.
(foo):

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

8 years agoInserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
rniwa@webkit.org [Wed, 4 Jan 2012 23:08:50 +0000 (23:08 +0000)]
Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
https://bugs.webkit.org/show_bug.cgi?id=73853

Reviewed by Antti Koivisto.

Lazily invalidate the node list caches instead of invaliding them at the time of modification. We use
the DOM tree version to detect whether caches need to be invalidated or not. We now invalidate caches more
frequently after this patch (in particular, invalidates caches that are stored on nodes not present in
the ancestry of the modified nodes); however, our study on major Web sites such as Gmail, Facebook, Twitter,
etc... indicate that about 1% of real-world usage benefits from keeping the caches alive across different
DOM tree versions.

In order to invalidate caches lazily, this patch adds replaces the type of m_caches in DynamicSubtreeNodeList
by DynamicSubtreeNodeList::SubtreeCaches which encapsulates member variables in DynamicNodeList::Caches and
invalidates values as needed. Also this change allows m_caches to be allocated as a part of
DynamicSubtreeNodeList instead of a separate ref-counted object.

* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):
(WebCore::DynamicSubtreeNodeList::invalidateCache):
(WebCore::DynamicNodeList::Caches::create):
(WebCore::DynamicNodeList::Caches::reset):
* dom/DynamicNodeList.h:
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::SubtreeCaches): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedLength): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItemOffset): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::reset): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent): Added.
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* dom/Node.cpp:
(WebCore::Node::setTreeScopeRecursively): Clear caches when a node moves from one document to another.
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Only clears child node list of Attr.
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Only clears child node list.
(WebCore::NodeListsNodeData::invalidateCaches): Merged with invalidateCachesThatDependOnAttributes.
* dom/Node.h:
* dom/NodeRareData.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLLabelElement.cpp:
* html/HTMLLabelElement.h:

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

8 years agoRevert unintentional changes to Element.cpp in r104068.
rniwa@webkit.org [Wed, 4 Jan 2012 22:56:13 +0000 (22:56 +0000)]
Revert unintentional changes to Element.cpp in r104068.

* dom/Element.cpp:
(WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):

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

8 years ago[chromium] Compile fix, rename libplatform.a to libwebkit_platform.a to avoid collisi...
jamesr@google.com [Wed, 4 Jan 2012 22:26:33 +0000 (22:26 +0000)]
[chromium] Compile fix, rename libplatform.a to libwebkit_platform.a to avoid collision with nacl

Source/Platform:

* Platform.gyp/Platform.gyp:

Source/WebKit/chromium:

* WebKit.gyp:

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

8 years agoUnreviewed, rolling out r104052.
enne@google.com [Wed, 4 Jan 2012 22:24:40 +0000 (22:24 +0000)]
Unreviewed, rolling out r104052.
http://trac.webkit.org/changeset/104052
https://bugs.webkit.org/show_bug.cgi?id=75574

Breaks win builder (Requested by enne on #webkit).

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

* WebKit.gypi:
* tests/CCTiledLayerImplTest.cpp: Removed.

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

8 years agoREGRESSION (r92823): Background color not preserved when copying and pasting a table row
rniwa@webkit.org [Wed, 4 Jan 2012 22:05:18 +0000 (22:05 +0000)]
REGRESSION (r92823): Background color not preserved when copying and pasting a table row
https://bugs.webkit.org/show_bug.cgi?id=75330

Reviewed by Tony Chang.

Source/WebCore:

The bug was caused by the background color of the wrapping style overriding the background color
in a matched rule of a highest element to be serialized. Fixed the bug by removing the conflicting
background color prior to the merge.

Tests: editing/pasteboard/copy-element-with-conflicting-background-color-from-rule-expected.html
       editing/pasteboard/copy-element-with-conflicting-background-color-from-rule.html

* editing/EditingStyle.cpp:
(WebCore::editingStyleFromComputedStyle):
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):

LayoutTests:

Add a regression test.

* editing/pasteboard/copy-element-with-conflicting-background-color-from-rule-expected.html: Added.
* editing/pasteboard/copy-element-with-conflicting-background-color-from-rule.html: Added.

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

8 years agoAdding myself to committers list.
ostapenko.viatcheslav@nokia.com [Wed, 4 Jan 2012 22:05:07 +0000 (22:05 +0000)]
Adding myself to committers list.

Unreviewed.

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

8 years agoAmbiguous if-then-else in Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
andersca@apple.com [Wed, 4 Jan 2012 22:02:53 +0000 (22:02 +0000)]
Ambiguous if-then-else in Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
https://bugs.webkit.org/show_bug.cgi?id=75447

Reviewed by Brian Weinstein.

Resolve the ambiguity.

* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):

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

8 years agoUnreviewed:[Chromium]Disable WebPageNewSerializeTest.CSSResources and WebPageNewSeria...
dslomov@google.com [Wed, 4 Jan 2012 21:40:38 +0000 (21:40 +0000)]
Unreviewed:[Chromium]Disable WebPageNewSerializeTest.CSSResources and WebPageNewSerializeTest.TestMHTMLEncoding.
https://bugs.webkit.org/show_bug.cgi?id=75567

* tests/WebPageNewSerializerTest.cpp:
(WebKit::TEST_F):

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

8 years agoAnalyze stylesheet scope to minimize style recalcs
antti@apple.com [Wed, 4 Jan 2012 20:03:35 +0000 (20:03 +0000)]
Analyze stylesheet scope to minimize style recalcs
https://bugs.webkit.org/show_bug.cgi?id=75508

Reviewed by Dave Hyatt.

It is a relatively common pattern to use inline stylesheets in document body where all rules are scoped using descendant selector

<style>
#foo {...}
#foo div {...}
#foo .bar {...}
</style>

When this pattern is used it is also common that the rules only apply to elements that come after the style element.

When the set of active stylesheets changes we invalidate and recompute the entire document style. This is very expensive. We can
detect the case above and avoid the style recalc.

On engadget.com, this patch cuts the time spent in style recalcs to roughly half. There are further savings from reduced
relayouts. In total the engine CPU time used over the page load is reduced by ~10%.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::collectFeatures):

    Refactor feature collection from constructor to a separate function.

(WebCore::CSSStyleSelector::appendAuthorStylesheets):

    New function for non-destructively updating the style selector.

(WebCore::CSSStyleSelector::Features::clear):

    Clear the features for another collection.

(WebCore::CSSStyleSelector::determineStylesheetSelectorScopes):

    Find if all rules on a stylesheetare scoped to some set of ids and classes.

(WebCore::CSSStyleSelector::styleForDocument):

    Add optional font selector argument. We updated the correct base style font on style selector construction but that is no longer sufficient
    as font selector may be updated without reconstructing the style selector.

(WebCore::RuleSet::addRulesFromSheet):

    Invalidate the matched declaration cache in case of new font-face rules.

* css/CSSStyleSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::determineSelectorScopes):

    Find if all rules on a selector list are scoped to some set of ids and classes.

* css/SelectorChecker.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyle):

    Pass the font selector, if exists, to styleForDocument so we always have the base font up to date.

(WebCore::Document::combineCSSFeatureFlags):
(WebCore::Document::resetCSSFeatureFlags):
(WebCore::Document::createStyleSelector):

    Refactor css feature flag resetting to functions.

(WebCore::Document::removePendingSheet):

    Use new PendingStylesheetCompleted flag when new stylesheets arrive.

(WebCore::Document::styleSelectorChanged):

    Skip style recalc if it is not needed.

(WebCore::Document::collectActiveStylesheets):

    Refactor collecting stylesheets to a separate function.

(WebCore::Document::testAddedStylesheetRequiresStyleRecalc):

    Determine the scopes and use hasElementWithId/getElementsByClassName to figure out if any scoped elements currently exist in the tree.

(WebCore::Document::analyzeStylesheetChange):

    Figure out if we can update the style selector incrementally and if we can skip the style recalc.

(WebCore::Document::updateActiveStylesheets):

    Renamed from recalcStyleSelector.
    Invoke the new analysis functions.

* dom/Document.h:

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

8 years ago[chromium] Create unit tests for CCTiledLayerImpl
enne@google.com [Wed, 4 Jan 2012 19:36:11 +0000 (19:36 +0000)]
[chromium] Create unit tests for CCTiledLayerImpl
https://bugs.webkit.org/show_bug.cgi?id=75557

Reviewed by James Robinson.

Add some quad generation tests for tiled layers.

* WebKit.gypi:
* tests/CCTiledLayerImplTest.cpp: Added.
(WebCore::createLayer):
(WebCore::TEST):
(WebCore::completelyContains):
(WebCore::getQuads):
(WebCore::verifyQuadsExactlyCoverRect):
(WebCore::coverageVisibleRectOnTileBoundaries):
(WebCore::coverageVisibleRectIntersectsTiles):
(WebCore::coverageVisibleRectIntersectsBounds):

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

8 years agoRevert fix for Bug 75064: TestWebKitAPI: initialize the main thread before running...
ddkilzer@apple.com [Wed, 4 Jan 2012 19:25:19 +0000 (19:25 +0000)]
Revert fix for Bug 75064: TestWebKitAPI: initialize the main thread before running tests

This reverts commit r103546.

* TestWebKitAPI/TestsController.cpp:
(TestWebKitAPI::TestsController::TestsController):

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

8 years ago First sentence is missing or clipped when printing a inline PDF
ap@apple.com [Wed, 4 Jan 2012 19:24:38 +0000 (19:24 +0000)]
    First sentence is missing or clipped when printing a inline PDF
        https://bugs.webkit.org/show_bug.cgi?id=75514
        <rdar://problem/10640680>

        Reviewed by Dan Bernstein.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::headerHeight):
        (WebKit::WebPageProxy::footerHeight):
        (WebKit::WebPageProxy::drawHeader):
        (WebKit::WebPageProxy::drawFooter):
        Do not ask the client about headers and footers when printing a PDF.

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

8 years ago[chromium] Move WebMimeRegistry and dependencies to Source/Platform
jamesr@google.com [Wed, 4 Jan 2012 19:08:02 +0000 (19:08 +0000)]
[chromium] Move WebMimeRegistry and dependencies to Source/Platform
https://bugs.webkit.org/show_bug.cgi?id=74583

Reviewed by Darin Fisher.

.:

Update .gitignore for Source/Platform/Platform.gyp/ generated project files.

* .gitignore:

Source/Platform:

This creates a skeleton directory structure for the chromium WebKit platform API and moves WebMimeRegistry.h
along with its dependencies (WebString and WebCString) to their final location.

* Platform.gyp/Platform.gyp: Added.
* Platform.gypi: Added.
* chromium/platform/WebCString.h: Copied from Source/WebKit/chromium/public/platform/WebCString.h.
(WebKit::WebCString::~WebCString):
(WebKit::WebCString::WebCString):
(WebKit::WebCString::operator=):
(WebKit::WebCString::isEmpty):
(WebKit::WebCString::isNull):
(WebKit::WebCString::operator std::string):
(WebKit::WebCString::fromUTF16):
(WebKit::operator<):
* chromium/platform/WebCommon.h: Copied from Source/WebKit/chromium/public/platform/WebCommon.h.
* chromium/platform/WebMimeRegistry.h: Copied from Source/WebKit/chromium/public/platform/WebMimeRegistry.h.
(WebKit::WebMimeRegistry::~WebMimeRegistry):
* chromium/platform/WebString.h: Copied from Source/WebKit/chromium/public/platform/WebString.h.
(WebKit::WebString::~WebString):
(WebKit::WebString::WebString):
(WebKit::WebString::operator=):
(WebKit::WebString::isEmpty):
(WebKit::WebString::isNull):
(WebKit::WebString::operator string16):
(WebKit::WebString::operator NullableString16):
(WebKit::WebString::fromUTF8):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/src/WebCString.cpp: Renamed from Source/WebKit/chromium/src/WebCString.cpp.
(WebKit::WebCString::compare):
(WebKit::WebCString::reset):
(WebKit::WebCString::assign):
(WebKit::WebCString::length):
(WebKit::WebCString::data):
(WebKit::WebCString::utf16):
(WebKit::WebCString::fromUTF16):
(WebKit::WebCString::WebCString):
(WebKit::WebCString::operator=):
(WebKit::WebCString::operator WTF::CString):
* chromium/src/WebString.cpp: Renamed from Source/WebKit/chromium/src/WebString.cpp.
(WebKit::WebString::reset):
(WebKit::WebString::assign):
(WebKit::WebString::length):
(WebKit::WebString::data):
(WebKit::WebString::utf8):
(WebKit::WebString::fromUTF8):
(WebKit::WebString::equals):
(WebKit::WebString::WebString):
(WebKit::WebString::operator=):
(WebKit::WebString::operator WTF::String):
(WebKit::WebString::operator WTF::AtomicString):

Source/WebKit/chromium:

public/platform/WebMimeRegistry.h is a temporary forwarding header to ease the transition. Once downstream
callers are updated to the new location this header can be removed.

WebString, WebCString, and WebCommon.h will remain in place as forwarding headers for users of the WebKit client
API.

* WebKit.gyp:
* public/platform/WebCString.h:
* public/platform/WebCommon.h:
* public/platform/WebMimeRegistry.h:
* public/platform/WebString.h:

Tools:

Teaches the WEBKIT_EXPORT check about the chromium WebKit platform API header location.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_function_definition):

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

8 years agoShare fractional time code between AnimationBase and KeyframeAnimation
igor.oliveira@openbossa.org [Wed, 4 Jan 2012 18:21:02 +0000 (18:21 +0000)]
Share fractional time code between AnimationBase and KeyframeAnimation
https://bugs.webkit.org/show_bug.cgi?id=75549

Remove left over from changeset 104045.

Unreviewed trivial fix.

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::fractionalTime):

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

8 years agoNot reviewed. Update Chromium port test expectations.
hclam@chromium.org [Wed, 4 Jan 2012 17:51:24 +0000 (17:51 +0000)]
Not reviewed. Update Chromium port test expectations.

* platform/chromium-linux/svg/custom/glyph-selection-lang-attribute-expected.txt: Added.

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

8 years agoShare fractional time code between AnimationBase and KeyframeAnimation
igor.oliveira@openbossa.org [Wed, 4 Jan 2012 17:50:45 +0000 (17:50 +0000)]
Share fractional time code between AnimationBase and KeyframeAnimation
https://bugs.webkit.org/show_bug.cgi?id=75549

Share fractional time calculation between AnimationBase and KeyframeAnimation.

Reviewed by Simon Fraser.

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::fractionalTime):
(WebCore::AnimationBase::progress):
* page/animation/AnimationBase.h:
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):

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

8 years ago[chromium] Bypass the shadow texture copy for accelerated
vangelis@chromium.org [Wed, 4 Jan 2012 17:17:09 +0000 (17:17 +0000)]
[chromium] Bypass the shadow texture copy for accelerated
canvas when running the compositor in single threaded mode.
https://bugs.webkit.org/show_bug.cgi?id=75146

Source/WebCore:

The texture copy fails on Windows as glCopyTexImage2D() doesn't
support BGRA source textures.
This change also modifies Canvas2DLayerChromium::updateCompositorResources
to call glCopyTexSubImage2D() instead of glCopyTexImage2D() so that
the copy can work with texture allocated via the glTexStorage2D
extension.

Reviewed by James Robinson.

Tests: Canvas2DLayerChromiumTest.cpp

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
(WebCore::Canvas2DLayerChromium::setTextureManager):
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
(WebCore::Canvas2DLayerChromium::pushPropertiesTo):
(WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
(WebCore::Canvas2DLayerChromium::cleanupResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:

Source/WebKit/chromium:

Modified Canvas2DLayerChromium unit test to test canvas with
both threaded and non-threaded compositing.

Reviewed by James Robinson.

* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCThread::threadID):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::setTextureManager):
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
(WebCore::TEST_F):

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

8 years agoNot reviewed. Update Chromium port test expectations.
hclam@chromium.org [Wed, 4 Jan 2012 17:08:14 +0000 (17:08 +0000)]
Not reviewed. Update Chromium port test expectations.

* platform/chromium-linux/svg/W3C-SVG-1.1/masking-path-02-b-expected.png:
* platform/chromium-linux/svg/custom/glyph-selection-lang-attribute-expected.png:
* platform/chromium-mac-leopard/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/masking-path-02-b-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-lang-attribute-expected.png: Added.
* platform/chromium-mac/svg/custom/glyph-selection-lang-attribute-expected.png: Removed.
* platform/chromium-win-xp/svg/W3C-SVG-1.1/masking-path-02-b-expected.png: Added.
* platform/chromium-win-xp/svg/custom/glyph-selection-lang-attribute-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1/masking-path-02-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
* platform/chromium-win/svg/custom/glyph-selection-lang-attribute-expected.png:
* platform/chromium-win/svg/custom/glyph-selection-lang-attribute-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years ago[Qt] Fix windows build. WTF depends on timeEndPeriod from winmm
vestbo@webkit.org [Wed, 4 Jan 2012 16:12:48 +0000 (16:12 +0000)]
[Qt] Fix windows build. WTF depends on timeEndPeriod from winmm

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

8 years agoNot reviewed. Update Chromium port test expectations.
hclam@chromium.org [Wed, 4 Jan 2012 16:12:40 +0000 (16:12 +0000)]
Not reviewed. Update Chromium port test expectations.

* platform/chromium-mac-snowleopard/compositing/visibility/visibility-image-layers-expected.png: Removed.
* platform/chromium/test_expectations.txt:

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

8 years ago[Qt] Fix test regressions after r104025
commit-queue@webkit.org [Wed, 4 Jan 2012 15:55:23 +0000 (15:55 +0000)]
[Qt] Fix test regressions after r104025
https://bugs.webkit.org/show_bug.cgi?id=75545

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-04
Reviewed by Kenneth Rohde Christiansen.

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

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

8 years ago[Qt] Fix link order of static libraries and unbreak QtWin32
vestbo@webkit.org [Wed, 4 Jan 2012 15:41:37 +0000 (15:41 +0000)]
[Qt] Fix link order of static libraries and unbreak QtWin32

We were keeping the correct static link order between the intermediate
WebKit libraries, but not the internal dependencies for each of those
libraries. The load() will in some instances mess with LIBS, so we need
to ensure that the dependent libraries are added after the library we
are linking against.

Reviewed by Simon Hausmann.

* qmake/mkspecs/features/default_post.prf:

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

8 years agoUse one big printf command instead of many chained echo commands to generate idl_file...
aroben@apple.com [Wed, 4 Jan 2012 15:33:20 +0000 (15:33 +0000)]
Use one big printf command instead of many chained echo commands to generate idl_files.tmp

This works around a bug in Cygwin where sh.exe will crash if given a too-long sequence of
&&-chained commands.

Fixes <http://webkit.org/b/75546> <rdar://problem/10622193> REGRESSION (r103519): WebCore's
DerivedSources.make crashes sh.exe if path to WebKit source tree is long enough

Reviewed by Antti Koivisto.

* DerivedSources.make: Change the '(echo foo && echo bar && echo baz && echo -n) >
./idl_files.tmp' command to 'printf "foo\nbar\nbaz\n" > ./idl_files.tmp'. We use the
patsubst function to append "\n" to each IDL filename, then use the subst function to remove
the spaces between the filenames.

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

8 years agoNot reviewed. Update Chromium port test expectations after Skia roll.
hclam@chromium.org [Wed, 4 Jan 2012 15:26:42 +0000 (15:26 +0000)]
Not reviewed. Update Chromium port test expectations after Skia roll.

* platform/chromium-cg-mac-snowleopard/svg/custom/fractional-rects-expected.png: Renamed from LayoutTests/platform/chromium-cg-mac/svg/custom/fractional-rects-expected.png.
* platform/chromium-linux/fast/backgrounds/animated-svg-as-mask-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/coords-coord-01-t-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/coords-coord-02-t-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/paths-data-13-t-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/text-align-08-b-expected.png:
* platform/chromium-linux/svg/as-background-image/animated-svg-as-background-expected.png:
* platform/chromium-linux/svg/carto.net/button-expected.png: Added.
* platform/chromium-linux/svg/carto.net/button-expected.txt: Removed.
* platform/chromium-linux/svg/css/group-with-shadow-expected.png:
* platform/chromium-linux/svg/custom/fractional-rects-expected.png:
* platform/chromium-linux/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/chromium-linux/svg/custom/use-css-no-effect-on-shadow-tree-expected.png:
* platform/chromium-linux/svg/text/text-align-01-b-expected.png:
* platform/chromium-linux/svg/text/text-deco-01-b-expected.png:
* platform/chromium-linux/svg/text/text-path-01-b-expected.png:
* platform/chromium-linux/svg/text/text-text-03-b-expected.png:
* platform/chromium-linux/svg/text/text-text-07-t-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac-leopard/svg/carto.net/button-expected.png:
* platform/chromium-mac-leopard/svg/css/group-with-shadow-expected.png:
* platform/chromium-mac-leopard/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/chromium-mac-leopard/svg/text/text-align-01-b-expected.png:
* platform/chromium-mac-leopard/svg/text/text-deco-01-b-expected.png:
* platform/chromium-mac-leopard/svg/text/text-path-01-b-expected.png:
* platform/chromium-mac-leopard/svg/text/text-text-03-b-expected.png:
* platform/chromium-mac-leopard/svg/text/text-text-07-t-expected.png:
* platform/chromium-mac-leopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac-snowleopard/fast/backgrounds/animated-svg-as-mask-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/coords-coord-01-t-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/coords-coord-02-t-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/paths-data-13-t-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/text-align-08-b-expected.png:
* platform/chromium-mac-snowleopard/svg/as-background-image/animated-svg-as-background-expected.png:
* platform/chromium-mac-snowleopard/svg/carto.net/button-expected.png:
* platform/chromium-mac-snowleopard/svg/css/group-with-shadow-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/fractional-rects-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/use-css-no-effect-on-shadow-tree-expected.png: Renamed from LayoutTests/platform/chromium-mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.png.
* platform/chromium-mac-snowleopard/svg/text/text-align-01-b-expected.png:
* platform/chromium-mac-snowleopard/svg/text/text-deco-01-b-expected.png:
* platform/chromium-mac-snowleopard/svg/text/text-path-01-b-expected.png:
* platform/chromium-mac-snowleopard/svg/text/text-text-03-b-expected.png:
* platform/chromium-mac-snowleopard/svg/text/text-text-07-t-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/paths-data-13-t-expected.png: Removed.
* platform/chromium-mac/svg/custom/fractional-rects-expected.png: Removed.
* platform/chromium-win-xp/fast/backgrounds/animated-svg-as-mask-expected.png: Copied from LayoutTests/platform/chromium-win/fast/backgrounds/animated-svg-as-mask-expected.png.
* platform/chromium-win-xp/svg/as-background-image/animated-svg-as-background-expected.png: Copied from LayoutTests/platform/chromium-win/svg/as-background-image/animated-svg-as-background-expected.png.
* platform/chromium-win-xp/svg/text/text-align-01-b-expected.png: Added.
* platform/chromium-win-xp/svg/text/text-path-01-b-expected.png: Copied from LayoutTests/platform/chromium-win/svg/text/text-path-01-b-expected.png.
* platform/chromium-win/fast/backgrounds/animated-svg-as-mask-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/coords-coord-01-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/coords-coord-02-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/paths-data-13-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/text-align-08-b-expected.png:
* platform/chromium-win/svg/as-background-image/animated-svg-as-background-expected.png:
* platform/chromium-win/svg/carto.net/button-expected.png:
* platform/chromium-win/svg/css/group-with-shadow-expected.png:
* platform/chromium-win/svg/custom/fractional-rects-expected.png:
* platform/chromium-win/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/chromium-win/svg/custom/use-css-no-effect-on-shadow-tree-expected.png:
* platform/chromium-win/svg/text/text-align-01-b-expected.png:
* platform/chromium-win/svg/text/text-path-01-b-expected.png:
* platform/chromium-win/svg/text/text-text-03-b-expected.png:
* platform/chromium-win/svg/text/text-text-07-t-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium/test_expectations.txt:
* platform/mac/svg/custom/fractional-rects-expected.txt: Removed.
* platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt: Removed.
* platform/qt/svg/custom/fractional-rects-expected.txt: Removed.
* platform/qt/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt: Removed.
* svg/as-background-image/animated-svg-as-background-expected.txt: Removed.
* svg/custom/fractional-rects-expected.txt: Renamed from LayoutTests/platform/gtk/svg/custom/fractional-rects-expected.txt.
* svg/custom/use-css-no-effect-on-shadow-tree-expected.txt: Renamed from LayoutTests/platform/gtk/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt.

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

8 years ago[CSSRegions]Rollout support for background-color region styling
mihnea@adobe.com [Wed, 4 Jan 2012 14:51:28 +0000 (14:51 +0000)]
[CSSRegions]Rollout support for background-color region styling
https://bugs.webkit.org/show_bug.cgi?id=75007

Reviewed by Tony Chang.

Removed functionality, therefore no new tests. Since this is a temporary rollout,
the tests for region-style with background-color are not removed in this patch, just skipped.

* WebCore.exp.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::RuleSet):
(WebCore::RuleSet::addToRuleSet):
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSStyleSelector.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::setRegionRangeForBox):
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::hitTest):
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderRegion.cpp:
* rendering/RenderRegion.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:

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

8 years agoREGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour
abecsi@webkit.org [Wed, 4 Jan 2012 14:34:52 +0000 (14:34 +0000)]
REGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour
https://bugs.webkit.org/show_bug.cgi?id=75542

[Qt][WK2] Pinch zoom should affect the page size
https://bugs.webkit.org/show_bug.cgi?id=74601

Unreviewed roll-out.

Patch by Andras Becsi <andras.becsi@nokia.com> on 2012-01-04

* Shared/NativeWebMouseEvent.h:
* Shared/NativeWebTouchEvent.h:
* Shared/NativeWebWheelEvent.h:
* Shared/qt/NativeWebMouseEventQt.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Shared/qt/NativeWebTouchEventQt.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* Shared/qt/NativeWebWheelEventQt.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Shared/qt/WebEventFactoryQt.h:
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::keyPressEvent):
(QQuickWebPage::keyReleaseEvent):
(QQuickWebPage::inputMethodEvent):
(QQuickWebPage::focusInEvent):
(QQuickWebPage::focusOutEvent):
(QQuickWebPage::mousePressEvent):
(QQuickWebPage::mouseMoveEvent):
(QQuickWebPage::mouseReleaseEvent):
(QQuickWebPage::mouseDoubleClickEvent):
(QQuickWebPage::wheelEvent):
(QQuickWebPage::hoverEnterEvent):
(QQuickWebPage::hoverMoveEvent):
(QQuickWebPage::hoverLeaveEvent):
(QQuickWebPage::dragMoveEvent):
(QQuickWebPage::dragEnterEvent):
(QQuickWebPage::dragLeaveEvent):
(QQuickWebPage::dropEvent):
(QQuickWebPage::geometryChanged):
(QQuickWebPage::event):
(QQuickWebPage::touchEvent):
(QQuickWebPagePrivate::QQuickWebPagePrivate):
(QQuickWebPagePrivate::paintToCurrentGLContext):
* UIProcess/API/qt/qquickwebpage_p.h:
* UIProcess/API/qt/qquickwebpage_p_p.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::enableMouseEvents):
(QQuickWebViewPrivate::disableMouseEvents):
(QQuickWebViewPrivate::loadDidCommit):
(QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewPrivate::didChangeViewportProperties):
(QQuickWebViewPrivate::pageDidRequestScroll):
(QQuickWebViewPrivate::updateVisibleContentRectAndScale):
(QQuickWebViewPrivate::PostTransitionState::apply):
(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
(QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
(QQuickWebView::geometryChanged):
(QQuickWebView::focusInEvent):
(QQuickWebView::focusOutEvent):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::contentsSize):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::scrollRequest):
* UIProcess/qt/QtPinchGestureRecognizer.cpp:
(WebKit::QtPinchGestureRecognizer::recognize):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::animateItemRectVisible):
(WebKit::QtViewportInteractionEngine::event):
(WebKit::QtViewportInteractionEngine::wheelEvent):
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
(WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
(WebKit::QtViewportInteractionEngine::applyConstraints):
(WebKit::QtViewportInteractionEngine::currentCSSScale):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::panGestureEnded):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::scaleContent):
* UIProcess/qt/QtViewportInteractionEngine.h:
* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::handleEvent):
(QtWebPageEventHandler::handleMouseMoveEvent):
(QtWebPageEventHandler::handleMousePressEvent):
(QtWebPageEventHandler::handleMouseReleaseEvent):
(QtWebPageEventHandler::handleWheelEvent):
(QtWebPageEventHandler::handleHoverLeaveEvent):
(QtWebPageEventHandler::handleHoverMoveEvent):
(QtWebPageEventHandler::handleDragEnterEvent):
(QtWebPageEventHandler::handleDragMoveEvent):
(QtWebPageEventHandler::handleDropEvent):
(QtWebPageEventHandler::handleSingleTapEvent):
(QtWebPageEventHandler::handleDoubleTapEvent):
(QtWebPageEventHandler::touchEvent):
* UIProcess/qt/QtWebPageEventHandler.h:

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

8 years ago[Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
vestbo@webkit.org [Wed, 4 Jan 2012 14:21:10 +0000 (14:21 +0000)]
[Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies

The custom qmake variable 'WEBKIT' is used for signaling that a
target depends in some way on other subproject of the WebKit
project. For now this is limited to the set of intermediate
libraries: wtf, javascriptcore, webcore, and webkit2.

This replaces the previous convension of using load(foo) for
just include paths, and CONFIG += foo to also link against foo.

Adding a dependency results in additional include paths being
available, and potentially linking to the library. This is
decided by the build system based on conditions such as what
kind of target is being built and the general build config.

An advantage to his approach is that it simplifies the individual
foo.prf files, for example by allowing us to use INCLUDEPATH +=
and LIBS += as normal instead of prepending.

Reviewed by Simon Hausmann.

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

8 years ago[Chromium] Re-use TestShellLinux.cpp for Android
peter@chromium.org [Wed, 4 Jan 2012 14:19:49 +0000 (14:19 +0000)]
[Chromium] Re-use TestShellLinux.cpp for Android
https://bugs.webkit.org/show_bug.cgi?id=75169

Reviewed by Tony Chang.

TestShellLinux.cpp can be re-used for the test-shell on the WebKit
Chromium port for Android. Most custom inclusions for the DumpRenderTree
target are done in Tools/DumpRenderTree.gypi, but since *Linux.cpp files
are being excluded by a global rule on sources it has to be later in
the project generation process.

* WebKit.gyp:

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

8 years ago[Qt] Add UI for JavaScript Prompt dialog in the Qt MiniBrowser
commit-queue@webkit.org [Wed, 4 Jan 2012 14:04:52 +0000 (14:04 +0000)]
[Qt] Add UI for JavaScript Prompt dialog in the Qt MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=75488

Patch by Alexander Færøy <ahf@0x90.dk> on 2012-01-04
Reviewed by Tor Arne Vestbø.

* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/qml/BrowserWindow.qml:
* MiniBrowser/qt/qml/Dialog.qml:
* MiniBrowser/qt/qml/DialogLineInput.qml: Copied from Tools/MiniBrowser/qt/qml/Dialog.qml.
* MiniBrowser/qt/qml/PromptDialog.qml: Copied from Tools/MiniBrowser/qt/qml/Dialog.qml.

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

8 years agoNot reviewed. Update Chromium port test expectations.
hclam@chromium.org [Wed, 4 Jan 2012 13:45:15 +0000 (13:45 +0000)]
Not reviewed. Update Chromium port test expectations.

http/tests/appcache/interrupted-update.html is crashing on Win7, mark it so.

* platform/chromium/test_expectations.txt:

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

8 years agoNot reviewed. Update Chromium port test expectations.
hclam@chromium.org [Wed, 4 Jan 2012 13:36:00 +0000 (13:36 +0000)]
Not reviewed. Update Chromium port test expectations.

* platform/chromium-cg-mac-leopard/compositing/visibility/visibility-image-layers-expected.png: Added.
* platform/chromium-cg-mac-snowleopard/compositing/visibility/visibility-image-layers-expected.png: Added.
* platform/chromium-linux/compositing/visibility/visibility-image-layers-expected.png: Added.
* platform/chromium-mac-leopard/compositing/visibility/visibility-image-layers-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/visibility/visibility-image-layers-expected.png: Added.
* platform/chromium-win/compositing/visibility/visibility-image-layers-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

8 years ago[Qt][WK2] Unreviewed gardening.
ossy@webkit.org [Wed, 4 Jan 2012 13:27:57 +0000 (13:27 +0000)]
[Qt][WK2] Unreviewed gardening.

* platform/qt-wk2/Skipped: Skip a failing test.

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

8 years ago[Qt][WK2] Pinch zoom should affect the page size
abecsi@webkit.org [Wed, 4 Jan 2012 13:26:06 +0000 (13:26 +0000)]
[Qt][WK2] Pinch zoom should affect the page size
https://bugs.webkit.org/show_bug.cgi?id=74601

Patch by Andras Becsi <andras.becsi@nokia.com> on 2012-01-03
Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.

The current implementation uses the scale property of the QQuickWebPage
to scale the page in response to pinch gestures.
However for layout and anchoring to work correctly in QML, pinching needs
to change the page size.
This patch applies the pinch scale to the page size and to the transformation
matrix of the drawing area.
Thus the page item's coordinate system is no longer a direct representation
of the WebCore::Page coordinate system and it is no longer suitable as
an inertial frame of reference for input events. The event propagation had
to be moved to the QQuickWebView and the positions translated to content
coordinates when NativeWebEvents are created.

* Shared/NativeWebMouseEvent.h:
* Shared/NativeWebTouchEvent.h:
* Shared/NativeWebWheelEvent.h:
* Shared/qt/NativeWebMouseEventQt.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Shared/qt/NativeWebTouchEventQt.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* Shared/qt/NativeWebWheelEventQt.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Shared/qt/WebEventFactoryQt.h:
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::geometryChanged):
(QQuickWebPagePrivate::QQuickWebPagePrivate):
(QQuickWebPagePrivate::paintToCurrentGLContext):
(QQuickWebPage::usesTraditionalDesktopBehaviour):
(QQuickWebPage::setUsesTraditionalDesktopBehaviour):
(QQuickWebPage::eventHandler):
(QQuickWebPage::setContentSize):
(QQuickWebPage::contentSize):
(QQuickWebPage::setContentScale):
(QQuickWebPage::contentScale):
(QQuickWebPage::transformFromItem):
(QQuickWebPage::transformToItem):
(QQuickWebPagePrivate::updateSize):
* UIProcess/API/qt/qquickwebpage_p.h:
* UIProcess/API/qt/qquickwebpage_p_p.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::enableMouseEvents):
(QQuickWebViewPrivate::disableMouseEvents):
(QQuickWebViewPrivate::loadDidCommit):
(QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewPrivate::didChangeViewportProperties):
(QQuickWebViewPrivate::pageDidRequestScroll):
(QQuickWebViewPrivate::updateVisibleContentRectAndScale):
(QQuickWebViewPrivate::PostTransitionState::apply):
(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
(QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
(QQuickWebView::mapToWebContent):
(QQuickWebView::mapRectToWebContent):
(QQuickWebView::mapFromWebContent):
(QQuickWebView::mapRectFromWebContent):
(QQuickWebView::geometryChanged):
(QQuickWebView::keyPressEvent):
(QQuickWebView::keyReleaseEvent):
(QQuickWebView::inputMethodEvent):
(QQuickWebView::focusInEvent):
(QQuickWebView::focusOutEvent):
(QQuickWebView::touchEvent):
(QQuickWebView::mousePressEvent):
(QQuickWebView::mouseMoveEvent):
(QQuickWebView::mouseReleaseEvent):
(QQuickWebView::mouseDoubleClickEvent):
(QQuickWebView::wheelEvent):
(QQuickWebView::hoverEnterEvent):
(QQuickWebView::hoverMoveEvent):
(QQuickWebView::hoverLeaveEvent):
(QQuickWebView::dragMoveEvent):
(QQuickWebView::dragEnterEvent):
(QQuickWebView::dragLeaveEvent):
(QQuickWebView::dropEvent):
(QQuickWebView::event):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::contentsSize):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::scrollRequest):
* UIProcess/qt/QtPinchGestureRecognizer.cpp:
(WebKit::QtPinchGestureRecognizer::recognize):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::animateItemRectVisible):
(WebKit::QtViewportInteractionEngine::event):
(WebKit::QtViewportInteractionEngine::wheelEvent):
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
(WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
(WebKit::QtViewportInteractionEngine::applyConstraints):
(WebKit::QtViewportInteractionEngine::currentCSSScale):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::panGestureEnded):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::scaleContent):
* UIProcess/qt/QtViewportInteractionEngine.h:
* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::handleEvent):
(QtWebPageEventHandler::handleMouseMoveEvent):
(QtWebPageEventHandler::handleMousePressEvent):
(QtWebPageEventHandler::handleMouseReleaseEvent):
(QtWebPageEventHandler::handleWheelEvent):
(QtWebPageEventHandler::handleHoverLeaveEvent):
(QtWebPageEventHandler::handleHoverMoveEvent):
(QtWebPageEventHandler::handleDragEnterEvent):
(QtWebPageEventHandler::handleDragMoveEvent):
(QtWebPageEventHandler::handleDropEvent):
(QtWebPageEventHandler::handleSingleTapEvent):
(QtWebPageEventHandler::handleDoubleTapEvent):
(QtWebPageEventHandler::touchEvent):
* UIProcess/qt/QtWebPageEventHandler.h:

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

8 years ago[Qt] Use rpath for WTR's InjectedBundle to pick up the right QtWebKit
vestbo@webkit.org [Wed, 4 Jan 2012 12:55:36 +0000 (12:55 +0000)]
[Qt] Use rpath for WTR's InjectedBundle to pick up the right QtWebKit

It wasn't really a problem at runtime since the right QtWebKit was
already loaded as a dependency of the web process, but the ldd output
would still be busted.

Reviewed by Simon Hausmann.

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

8 years ago[Qt] Move use of $$qtLibraryTarget() to a single place
vestbo@webkit.org [Wed, 4 Jan 2012 12:55:18 +0000 (12:55 +0000)]
[Qt] Move use of $$qtLibraryTarget() to a single place

Reviewed by Kenneth Rohde Christiansen.

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

8 years ago[Qt] Clean up Qt specific part of editorState()
kenneth@webkit.org [Wed, 4 Jan 2012 11:31:11 +0000 (11:31 +0000)]
[Qt] Clean up Qt specific part of editorState()

Reviewed by Simon Hausmann.

Use unsigned instead of int.
No need to clone the range as we don't modify it.
Support selections which include a composition.
If we are not in editable content make sure to use the document element
as the scope for calculating the positions and lengths.
Remove compositionStart/Length as there cannot be a selection and
composition at the same time.

Only tested manually as we don't have everything in place yet
to properly test this.

* Shared/EditorState.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):

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

8 years ago[Qt] http/tests/xmlhttprequest/workers/abort-exception-assert.html makes 6 fast/worke...
ossy@webkit.org [Wed, 4 Jan 2012 11:24:04 +0000 (11:24 +0000)]
[Qt] http/tests/xmlhttprequest/workers/abort-exception-assert.html makes 6 fast/workers test fail
https://bugs.webkit.org/show_bug.cgi?id=71695

* platform/qt/Skipped: Unskip http/tests/xmlhttprequest/workers/abort-exception-assert.html,
because the bug was fixed long long time ago by http://trac.webkit.org/changeset/102473.

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

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 4 Jan 2012 10:23:45 +0000 (10:23 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-mac/Skipped: Skip new failing tests to paint the bot green.

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

8 years ago[Mac]Fix build after changeset 103997
mihnea@adobe.com [Wed, 4 Jan 2012 09:36:57 +0000 (09:36 +0000)]
[Mac]Fix build after changeset 103997
https://bugs.webkit.org/show_bug.cgi?id=75530

Reviewed by Andreas Kling.

Source/WebKit/mac:

* WebView/WebFrame.mm:
* WebView/WebHTMLView.mm:
* WebView/WebPDFView.mm:
* WebView/WebView.mm:

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:

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

8 years ago[EFL] Refactor the way using cairo in ewk_tiled_backing_store.
commit-queue@webkit.org [Wed, 4 Jan 2012 09:26:16 +0000 (09:26 +0000)]
[EFL] Refactor the way using cairo in ewk_tiled_backing_store.
https://bugs.webkit.org/show_bug.cgi?id=74993

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2012-01-04
Reviewed by Nikolas Zimmermann.

For now there are cairo related code scattered around the ewk_tiled_backing_store.
From the point of code complexity view, it doesn't look good and I couldn't notice any benefit of it.
So, this patch will let cairo related code be used only for painting operation.

* ewk/ewk_tiled_backing_store.h:
* ewk/ewk_tiled_matrix.cpp:
(ewk_tile_matrix_tile_new):
* ewk/ewk_tiled_model.cpp:
(ewk_tile_new):
(ewk_tile_free):
* ewk/ewk_view_tiled.cpp:
(_ewk_view_tiled_render_cb):

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

8 years agoEnable DOWNLOAD_ATTRIBUTE in BlackBerry porting
commit-queue@webkit.org [Wed, 4 Jan 2012 09:17:45 +0000 (09:17 +0000)]
Enable DOWNLOAD_ATTRIBUTE in BlackBerry porting
https://bugs.webkit.org/show_bug.cgi?id=75238

Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2012-01-04
Reviewed by Antonio Gomes.

.:

* Source/cmakeconfig.h.cmake: Modified to add a new cmakedefine ENABLE_DOWNLOAD_ATTRIBUTE.

Tools:

Add ENABLE_DOWNLOAD_ATTRIBUTE webkit feature into the build script so that
it could initiate download directly if it has the download attribute in the link
and doesn't need to open new blank page for the target="_blank". Enabling this
feature in the BlackBerry porting also prepares for later blob feature implementation.

* Scripts/build-webkit: Modified to handle ENABLE_DOWNLOAD_ATTRIBUTE. Make it default on
for the BlackBerry porting.

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

8 years agoRemove unnecessary [Custom] attribute in CanvasRenderingContext2D.idl
commit-queue@webkit.org [Wed, 4 Jan 2012 08:48:41 +0000 (08:48 +0000)]
Remove unnecessary [Custom] attribute in CanvasRenderingContext2D.idl
https://bugs.webkit.org/show_bug.cgi?id=75376

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-04
Reviewed by Adam Barth.

* canvas/philip/tests/2d.pattern.image.string-expected.txt:
* canvas/philip/tests/2d.pattern.image.undefined-expected.txt:
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
* platform/qt/Skipped:

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

8 years ago[GTK] Fix a runtime warning when hovering hyperlink auditing setting in MiniBroweser...
carlosgc@webkit.org [Wed, 4 Jan 2012 07:37:49 +0000 (07:37 +0000)]
[GTK] Fix a runtime warning when hovering hyperlink auditing setting in MiniBroweser settings dialog
https://bugs.webkit.org/show_bug.cgi?id=75475

Reviewed by Martin Robinson.

The problem is that the property blurb contains <a ping> and tree
view uses gtk_tooltip_set_markup() internally, so we need to
escape the text.

* MiniBrowser/gtk/BrowserSettingsDialog.c:
(browserSettingsDialogConstructed): Escape property blurb before
storing it in the GtkTreeModel.

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

8 years ago[GTK] Scrollbars are drawn behind the window resize grip
carlosgc@webkit.org [Wed, 4 Jan 2012 07:35:21 +0000 (07:35 +0000)]
[GTK] Scrollbars are drawn behind the window resize grip
https://bugs.webkit.org/show_bug.cgi?id=75384

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseNotifyResizerSizeForWindow): Get the size of the
main window resize grip and send it to the page proxy if it
overlaps with the view.
(toplevelWindowResizeGripVisibilityChanged): Call
webkitWebViewBaseNotifyResizerSizeForWindow().
(webkitWebViewBaseRealize): Get the toplevel window and connect to
notify::resize-grip-visible signal.
(webkitWebViewBaseSizeAllocate): Call
webkitWebViewBaseNotifyResizerSizeForWindow().

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

8 years agoDFG: The assertion that a double-voted variable cannot become double-unvoted is wrong
fpizlo@apple.com [Wed, 4 Jan 2012 07:26:42 +0000 (07:26 +0000)]
DFG: The assertion that a double-voted variable cannot become double-unvoted is wrong
https://bugs.webkit.org/show_bug.cgi?id=75516
<rdar://problem/10640266>

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Removed the offending assertion, since it was wrong.  Also hardened the code to make
this case less likely by first having the propagator fixpoint converge, and then doing
double voting combined with a second fixpoint.  This is neutral on benchmarks and
fixes the assertion in a fairly low-risk way (i.e. we won't vote a variable double
until we've converged to the conclusion that it really is double).

* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagatePredictions):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat):

LayoutTests:

Reviewed by Andy Estes.

Created a fuzzer that produces sufficiently awkward data flow that includes variables
that become either double, or integer, or mix of double and integer only after multiple
iterations of a fixpoint. This crashes the compiler prior to this patch, but works with
this patch.

* fast/js/dfg-double-vote-fuzz-expected.txt: Added.
* fast/js/dfg-double-vote-fuzz.html: Added.
* fast/js/script-tests/dfg-double-vote-fuzz.js: Added.

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

8 years agoHTMLConstructionSite::attach shouldn't return a value
abarth@webkit.org [Wed, 4 Jan 2012 07:05:36 +0000 (07:05 +0000)]
HTMLConstructionSite::attach shouldn't return a value
https://bugs.webkit.org/show_bug.cgi?id=75520

Reviewed by Eric Seidel.

We used to return a value to avoid some refchurn, but now that we're
using tasks, we always need to take that reference.  Removing the
return value lets us remove the template parameter, which is a boon.
This patch has no impact on the html-parser.html benchmark.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnDocument):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insertHTMLElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::insertForeignElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
(WebCore::HTMLConstructionSite::fosterParent):
* html/parser/HTMLConstructionSite.h:

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

8 years agoFix assert when foster parenting self-closing elements
abarth@webkit.org [Wed, 4 Jan 2012 07:03:47 +0000 (07:03 +0000)]
Fix assert when foster parenting self-closing elements
https://bugs.webkit.org/show_bug.cgi?id=75527

Unreviewed.

Source/WebCore:

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::fosterParent):
    - We can't execute this task immediately because the code for
      self-closing elements wants to set the self-closing flag.
      Instead, we queue the task.

LayoutTests:

Add a test case that used to case an assert.

* html5lib/resources/webkit02.dat:

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

8 years ago[BlackBerry] Need to support credentials in the URL
commit-queue@webkit.org [Wed, 4 Jan 2012 06:43:32 +0000 (06:43 +0000)]
[BlackBerry] Need to support credentials in the URL
https://bugs.webkit.org/show_bug.cgi?id=75341

Patch by Charles Wei <charles.wei@torchmobile.com.cn> on 2012-01-03
Reviewed by George Staikos.

No new tests required.

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

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

8 years agoReplace clearLocalStorage.js with localStorage.clear() now that it's implemented
jochen@chromium.org [Wed, 4 Jan 2012 06:24:42 +0000 (06:24 +0000)]
Replace clearLocalStorage.js with localStorage.clear() now that it's implemented
https://bugs.webkit.org/show_bug.cgi?id=75484

Reviewed by Daniel Bates.

* storage/domstorage/localstorage/delete-removal.html:
* storage/domstorage/localstorage/enumerate-storage.html:
* storage/domstorage/localstorage/enumerate-with-length-and-key.html:
* storage/domstorage/localstorage/index-get-and-set.html:
* storage/domstorage/localstorage/missing-arguments.html:
* storage/domstorage/localstorage/private-browsing-affects-storage.html:
* storage/domstorage/localstorage/resources/clearLocalStorage.js: Removed.
* storage/domstorage/localstorage/simple-usage.html:
* storage/domstorage/localstorage/string-conversion.html:
* storage/domstorage/localstorage/window-open.html:

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

8 years agoFix ChangeLog
abarth@webkit.org [Wed, 4 Jan 2012 06:22:18 +0000 (06:22 +0000)]
Fix ChangeLog

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

8 years ago[chromium] Use data decoding swizzle for turbo JPEG grayscale images
noel.gordon@gmail.com [Wed, 4 Jan 2012 06:09:11 +0000 (06:09 +0000)]
[chromium] Use data decoding swizzle for turbo JPEG grayscale images
https://bugs.webkit.org/show_bug.cgi?id=75189

Reviewed by Adam Barth.

No new tests.  Covered by exiting tests, in particular for grayscale
images that were corrupted by earlier versions on libjpeg-turbo:

tables/mozilla/bugs/bug29314.html
tables/mozilla/bugs/bug13169.html
tables/mozilla/bugs/bug10565.html
tables/mozilla/bugs/bug11026.html
fast/repaint/backgroundSizeRepaint.html
fast/repaint/block-layout-inline-children-replaced.html
fast/repaint/clipped-relative.html
fast/repaint/selected-replaced.html
tables/mozilla/bugs/bug12908-1.html

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):  Use a data decoding swizzle for
JCS_GRAYSCALE images.

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

8 years agoMinor speed improvement in HTML parser
abarth@webkit.org [Wed, 4 Jan 2012 05:51:02 +0000 (05:51 +0000)]
Minor speed improvement in HTML parser
https://bugs.webkit.org/show_bug.cgi?id=75517

Reviewed by Eric Seidel.

This improves the html-parser.html benchmark by 0.3%.  I don't think
that's actually anything to write home about, but this patch makes me
feel better about my life.

* html/parser/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):

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

8 years agoRemove temporary code that we've inserted to implement the [Supplemental] IDL increme...
haraken@chromium.org [Wed, 4 Jan 2012 05:40:45 +0000 (05:40 +0000)]
Remove temporary code that we've inserted to implement the [Supplemental] IDL incrementally
https://bugs.webkit.org/show_bug.cgi?id=75510

Reviewed by Adam Barth.

Now all build systems support the [Supplemental] IDL. This patch removes all
temporary code that we've inserted to implement the [Supplemental] IDL.

No tests. No change in behavior. Confirm that all builds pass.

* bindings/js/JSDOMWindowCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bindings/scripts/generate-bindings.pl:
* page/DOMWindow.idl: Removed all attributes with a temporal [Supplemented] IDL.

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

8 years agoMake fast/multicol/huge-column-count.html dumpAsText
noel.gordon@gmail.com [Wed, 4 Jan 2012 05:28:46 +0000 (05:28 +0000)]
Make fast/multicol/huge-column-count.html dumpAsText
https://bugs.webkit.org/show_bug.cgi?id=75513

Reviewed by Adam Barth.

Test added in r83470: convert it to dumpAsText, update expectations.

* fast/multicol/huge-column-count-expected.txt: Added.
* fast/multicol/huge-column-count.html:
* platform/chromium/test_expectations.txt:
* platform/efl/fast/multicol/huge-column-count-expected.png: Removed.
* platform/efl/fast/multicol/huge-column-count-expected.txt: Removed.
* platform/gtk/fast/multicol/huge-column-count-expected.txt: Removed.
* platform/mac/fast/multicol/huge-column-count-expected.txt: Removed.
* platform/qt/fast/multicol/huge-column-count-expected.png: Removed.
* platform/qt/fast/multicol/huge-column-count-expected.txt: Removed.

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

8 years agohtml-parser.html takes too long to run
abarth@webkit.org [Wed, 4 Jan 2012 04:39:04 +0000 (04:39 +0000)]
html-parser.html takes too long to run
https://bugs.webkit.org/show_bug.cgi?id=75515

Reviewed by Eric Seidel.

In working on runner.js, we introduced a factor of 10 increase to the
running time of this benchmark.  This patch dials down the number of
iterations to something more user-friendly.

* Parser/html-parser.html:

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

8 years agoGive embedders a chance to handle postMessage calls
commit-queue@webkit.org [Wed, 4 Jan 2012 04:38:42 +0000 (04:38 +0000)]
Give embedders a chance to handle postMessage calls
https://bugs.webkit.org/show_bug.cgi?id=73883

Source/WebCore:

To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept
postMessage calls to proxy windows. Originally we were just going to add a native event
listener on the Chromium side, but that required more changes to WebKit and was a bit of
a hack. See bug 73359 for a discuss about moving to this approach.

Patch by Karl Koscher <supersat@chromium.org> on 2012-01-03
Reviewed by Adam Barth.

Test: platform/chromium/fast/events/intercept-postmessage.html

* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
    embedder to intercept postMessage calls
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessageTimerFired): add a call to
    FrameLoaderClient::willCheckAndDispatchPostMessage

Source/WebKit/chromium:

Patch by Karl Koscher <supersat@chromium.org> on 2012-01-03
Reviewed by Adam Barth.

* public/WebFrameClient.h:
(WebKit::WebFrameClient::willCheckAndDispatchMessageEvent):
    interface to give the embedder a chance to handle this postMessage call
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::willCheckAndDispatchMessageEvent): Call
    willCheckAndDispatchMessageEvent on WebFrameClient
* src/FrameLoaderClientImpl.h:

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

8 years agoscript-in-svg-in-HTML doesn't run
abarth@webkit.org [Wed, 4 Jan 2012 03:54:35 +0000 (03:54 +0000)]
script-in-svg-in-HTML doesn't run
https://bugs.webkit.org/show_bug.cgi?id=75233

Reviewed by Daniel Bates.

Add a test to make sure that we run scripts in SVG.

* fast/parser/script-in-svg-runs-expected.txt: Added.
* fast/parser/script-in-svg-runs.html: Added.

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

8 years ago[chromium] Prevent crashing due to NULL texture updater.
commit-queue@webkit.org [Wed, 4 Jan 2012 03:39:11 +0000 (03:39 +0000)]
[chromium] Prevent crashing due to NULL texture updater.
https://bugs.webkit.org/show_bug.cgi?id=75288

Patch by Eric Penner <epenner@google.com> on 2012-01-03
Reviewed by James Robinson.

* platform/graphics/chromium/ContentLayerChromium.cpp:
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
* platform/graphics/chromium/ImageLayerChromium.h:

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

8 years ago[chromium] CCLayerSorter accidentally reverses order of some layers.
commit-queue@webkit.org [Wed, 4 Jan 2012 03:36:46 +0000 (03:36 +0000)]
[chromium] CCLayerSorter accidentally reverses order of some layers.
https://bugs.webkit.org/show_bug.cgi?id=75046

Patch by Shawn Singh <shawnsingh@chromium.org> on 2012-01-03
Reviewed by James Robinson.

Source/WebCore:

Unit test added to CCLayerSorterTest.cpp

Fixes two related bugs that were causing z-ordering problems in
layers when preserves3D triggers the need for layer sorting.

The first problem was that CCLayerSorter accidentally reversed the
order of layers when there was no sorting dependency between them.

The second problem was that zDiff had numerical precision problems
that forced sorting dependencies that were sometimes incorrect,
when the dependencies should not have existed.

* platform/graphics/chromium/cc/CCLayerSorter.cpp:
(WebCore::CCLayerSorter::checkOverlap):
(WebCore::CCLayerSorter::sort):

Source/WebKit/chromium:

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

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

8 years ago[BlackBerry] Add support of blob form data to the BlackBerry port
leo.yang@torchmobile.com.cn [Wed, 4 Jan 2012 03:34:18 +0000 (03:34 +0000)]
[BlackBerry] Add support of blob form data to the BlackBerry port
https://bugs.webkit.org/show_bug.cgi?id=75218

Pass FormDataElement::encodedBlob type of form data to the BlackBerry
platform request to support blob data and blob file range.

Reviewed by George Staikos.

The port can't be built now, no new tests so far.

* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(WebCore::ResourceRequest::initializePlatformRequest):

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

8 years agoTwo null crashes in Treebuilder
abarth@webkit.org [Wed, 4 Jan 2012 02:57:43 +0000 (02:57 +0000)]
Two null crashes in Treebuilder
https://bugs.webkit.org/show_bug.cgi?id=66101

Reviewed by Eric Seidel.

Source/WebCore:

The underly issue with causing the crash is that we're re-entering the
tree builder.  We've done a bunch of point fixes around tree builder
re-entrancy, but neither the implementation nor the specification are
really designed to handle re-entrancy.

Firefox avoids this problem by putting the parser on its own thread.  I
don't think we're quite ready to do that yet (although we will
eventually, presumably, as computers become ever more parallel).  The
approach in this patch is to queue up the DOM mutations and actually
perform them on a shallower stack.  That's essentially the approach
we've used for executing <scripts>.

This patch queues up DOM modifications and executes them from a clean
call stack, stopping us from re-entering the tree builder.  We might
need to experiment with exactly where to kick off the queue, but this
location seems reasonable and fixes the crash.

Test: fast/parser/re-enter-and-crash.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::executeTask):
    - Add a helper function for actually executing a queue DOM
      mutation.
(WebCore::HTMLConstructionSite::attach):
    - Instead of actually attaching the element to the DOM, this
      function now queues the element for attachment.  In a follow-up
      patch, I plan to change this function to return void (and I'll
      probably rename it to something that makes it clear that it only
      queues the attachment).
(WebCore::HTMLConstructionSite::executeQueuedTasks):
(WebCore::HTMLConstructionSite::insertDoctype):
    - Setting the compatmode from the Doctype requires the doctype to
      actually be in the DOM, so we need to execute our queued tasks
      synchronously.  We can likely improve this function by passing
      the Doctype element explicitly in a follow-up patch.
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::findFosterSite):
(WebCore::HTMLConstructionSite::fosterParent):
* html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
    - Add a task object that holds on to the relevant elements.  We
      define some vector traits for this object to match the traits on
      RefPtr (which make Vector operations faster by explaining that
      this type is moveable without having to churn reference counts).
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::pushCommon):
    - We delay the "begin parsing" call until we actually attach the
      element to the DOM.  That splits the responsibility for calling
      begin/finished, which is less than ideal, but I didn't see
      another solution.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
    - Kick off the queued mutations.

LayoutTests:

Test that we no longer crash on this test case.

* fast/parser/re-enter-and-crash-expected.txt: Added.
* fast/parser/re-enter-and-crash.html: Added.

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

8 years agoview-source doesn't colorize </script> correctly
abarth@webkit.org [Wed, 4 Jan 2012 02:41:57 +0000 (02:41 +0000)]
view-source doesn't colorize </script> correctly
https://bugs.webkit.org/show_bug.cgi?id=62971

Reviewed by Eric Seidel.

Source/WebCore:

The reason these tags weren't colorized correctly was because the
characters for the end tags where consumed by the tokenizer at the same
time as it consumed the text of the script tag.  These characters are
buffered internally by the tokenizer because the tokenizer is searching
for "an appropriate end tag", which is "</script>" in this case.

I tried a number of different approaches to fixing this bug.  The
approach in this patch adds an accessor to the tokenizer to read out
the buffered characters.  This approach makes it easier for the
HTMLSourceTracker to get exactly the right value for these buffered
characters without having to do a complicated simulation of the
buffering itself.

Tests: fast/frames/viewsource-plain-text-tags.html:

* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::pumpTokenizer):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
  - Give the HTMLSourceTracker a pointer to the tokenizer so it can ask
    for the buffered characters.
* html/parser/HTMLSourceTracker.cpp:
(WebCore::HTMLSourceTracker::start):
  - The idea here is to treat characters buffered internally by the
    tokenizer the same way we treat characters that were contained in a
    previous segment of source.  We copy them into our accumulation
    buffer and adjust the token base offset to account for the extra
    characters.
(WebCore::HTMLSourceTracker::end):
  - Don't consier the character buffered by the tokenizer to be part of
    the token we've just finished.
(WebCore::HTMLSourceTracker::sourceForToken):
  - Remove the assumption that all of the m_previousSource is contained
    in the source for the current token.  Because we now understand
    that the tokenizer can buffer some characters internally, we might
    not exhaust the m_previousSource.
* html/parser/HTMLSourceTracker.h:
  - Rename m_sourceFromPreviousSegments to m_previousSource and changed
    to a SegementedString to avoid extra mallocs we keep appending tiny
    segments.
  - Rename m_source to m_currentSource to contrast nicely with
    m_previousSource.
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::flushBufferedEndTag):
(WebCore::HTMLTokenizer::nextToken):
  - Previously, we cleared the temporary buffer lazily when we needed
    to add new characters to it.  Now we clear it eagerly so that it's
    length tells us whether we're currently using it to store
    characters.
  - Previously, we weren't storing the character that we used to
    terminate the appropriate end tag (e.g., the > in </script>)
    because we didn't need to "unbuffer" that character into the
    HTMLToken::appendToCharacter.  Now, we do store that character in
    the temporary buffer so that the HTMLSourceTracker can see that
    character.
(WebCore::HTMLTokenizer::bufferedCharacters):
* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::numberOfBufferedCharacters):
  - Add accessor methods to copy out the buffered characters.
  - Also, unrelated to the rest of this patch, I made the constructor
    for HTMLTokenizer explicit because it takes only a single
    paramater, per the style guide.
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::clear):
  - SegmentedString::clear wasn't clearing all of its state.  I don't
    think this issue was actually observable, but I noticed it when
    working on this patch, so I fixed it.

LayoutTests:

* fast/frames/viewsource-plain-text-tags.html:

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

8 years agoUnreviewed: fast/filesystem/workers/file-writer-events.html crash suppressed on Linux
dslomov@google.com [Wed, 4 Jan 2012 02:28:37 +0000 (02:28 +0000)]
Unreviewed: fast/filesystem/workers/file-writer-events.html crash suppressed on Linux
due to BUGCR108798.

* platform/chromium/test_expectations.txt:

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

8 years agoExclude Mac's PlatformEventFactory from iOS
commit-queue@webkit.org [Wed, 4 Jan 2012 02:26:11 +0000 (02:26 +0000)]
Exclude Mac's PlatformEventFactory from iOS
https://bugs.webkit.org/show_bug.cgi?id=75493

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-01-03
Reviewed by Sam Weinig.

Move PlatformEventFactory.(h|cpp) to PlatformEventFactoryMac(h|cpp) and exclude the file
from iOS build.

* Configurations/WebCore.xcconfig: Also exclude EventHandlerMac for consistency.
* WebCore.xcodeproj/project.pbxproj:
* page/mac/EventHandlerMac.mm:
* platform/mac/PlatformEventFactoryMac.h: Renamed from Source/WebCore/platform/mac/PlatformEventFactory.h.
* platform/mac/PlatformEventFactoryMac.mm: Renamed from Source/WebCore/platform/mac/PlatformEventFactory.mm.
(WebCore::globalPoint):
(WebCore::globalPointForEvent):
(WebCore::pointForEvent):
(WebCore::mouseButtonForEvent):
(WebCore::mouseEventTypeForEvent):
(WebCore::clickCountForEvent):
(WebCore::momentumPhaseForEvent):
(WebCore::phaseForEvent):
(WebCore::gestureEventTypeForEvent):
(WebCore::textFromEvent):
(WebCore::unmodifiedTextFromEvent):
(WebCore::keyIdentifierForKeyEvent):
(WebCore::isKeypadEvent):
(WebCore::windowsKeyCodeForKeyEvent):
(WebCore::isKeyUpEvent):
(WebCore::modifiersForEvent):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformEventFactory::createPlatformMouseEvent):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebCore::PlatformEventFactory::createPlatformWheelEvent):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
(WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
(WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
(WebCore::PlatformEventFactory::createPlatformGestureEvent):

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

8 years ago[chromium] LocalFileSystemChromium needs some thread safety fixes.
levin@chromium.org [Wed, 4 Jan 2012 02:25:56 +0000 (02:25 +0000)]
[chromium] LocalFileSystemChromium needs some thread safety fixes.
https://bugs.webkit.org/show_bug.cgi?id=75494

Reviewed by Dmitry Titov.

This is essentially the same fix as r102894 except in slightly different code.

The important part of this fix is the removal of AllowCrossThreadAccess so
that ref counting happens appropriately.

Minor clean up throughout: Removed unnecessary WTF prefix in many
of these places and unnecessary String().

* src/LocalFileSystemChromium.cpp: See r102894 since this
is basically the same thing.

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

8 years agoUnreviewed: filed CR109077 and updated expectations for http/tests/inspector/appcache...
dslomov@google.com [Wed, 4 Jan 2012 01:45:00 +0000 (01:45 +0000)]
Unreviewed: filed CR109077 and updated expectations for http/tests/inspector/appcache/appcache-swap.html.

* platform/chromium/test_expectations.txt:

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

8 years agoOptimize AudioBufferSourceNode process by avoiding interpolation when pitchRate==1
commit-queue@webkit.org [Wed, 4 Jan 2012 01:28:26 +0000 (01:28 +0000)]
Optimize AudioBufferSourceNode process by avoiding interpolation when pitchRate==1
https://bugs.webkit.org/show_bug.cgi?id=74592

Patch by Wei James <james.wei@intel.com> on 2012-01-03
Reviewed by Kenneth Russell.

Covered by existing webaudio layout tests, especially webaudio/audiobuffersource-playbackrate.html

* webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
(WebCore::AudioBufferSourceNode::renderFromBuffer):
* webaudio/AudioBufferSourceNode.h:

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

8 years ago<http://webkit.org/b/75504> Web Inspector: Access to Node Highlighting info without...
joepeck@webkit.org [Wed, 4 Jan 2012 01:18:10 +0000 (01:18 +0000)]
<webkit.org/b/75504> Web Inspector: Access to Node Highlighting info without drawing

Provide a "getHighlight" method alongside "drawHighlight" that
gets most of the important node highlighting information. This
can be used by a port to do its own node highlighting or provide
extra content without interfering with the highlight rects.

Reviewed by Timothy Hatcher.

* WebCore.xcodeproj/project.pbxproj:
Privately expose the Highlight struct in DOMNodeHighlighter.h.

* inspector/DOMNodeHighlighter.cpp:
(WebCore::DOMNodeHighlighter::drawHighlight):
(WebCore::DOMNodeHighlighter::getHighlight):
* inspector/DOMNodeHighlighter.h:
Reuse the existing draw code to instead populate
the Highlight struct with the information it is
about to draw, and only draw if there is a context.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::getHighlight):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getHighlight):
* inspector/InspectorDOMAgent.h:
Get highlight information by going through getHighlight
in InspectorController. This is alongside drawHighlight.

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

8 years agoClear localStorage before making assumption about its contents
jochen@chromium.org [Wed, 4 Jan 2012 01:10:54 +0000 (01:10 +0000)]
Clear localStorage before making assumption about its contents
https://bugs.webkit.org/show_bug.cgi?id=75469

Reviewed by Daniel Bates.

* platform/chromium/permissionclient/storage-permission.html:

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

8 years ago[chromium] Push drawsContent and contentsVisible into accelerated compositor
commit-queue@webkit.org [Wed, 4 Jan 2012 00:53:45 +0000 (00:53 +0000)]
[chromium] Push drawsContent and contentsVisible into accelerated compositor
https://bugs.webkit.org/show_bug.cgi?id=71209

Patch by Shawn Singh <shawnsingh@chromium.org> on 2012-01-03
Reviewed by James Robinson.

Source/WebCore:

Tests: compositing/visibility/visibility-simple-canvas2d-layer.html
       compositing/visibility/visibility-simple-video-layer.html
       compositing/visibility/visibility-simple-webgl-layer.html

Rebaselined compositing/visibility/visibility-image-layers.html

The CSS visibility property was not being properly obeyed by many
specialized layer types in the accelerated compositor. The root of
the problem was that drawsContent and contentsVisible flags were
not properly propagated into the compositor. This patch removes
the drawsContent() callback, and instead makes sure that
drawsContent and contentsVisible are "pushed" through the
accelerated compositor.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::drawsContent):
* platform/graphics/chromium/ContentLayerChromium.cpp:
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setDrawsContent):
(WebCore::GraphicsLayerChromium::setContentsVisible):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setIsDrawable):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::drawsContent):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::drawsContent):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::drawsContent):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::dumpLayerProperties):

Source/WebKit/chromium:

* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::setDrawsContent):
* src/WebContentLayerImpl.h:
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::drawsContent):
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::WebLayerImpl):
* src/WebLayerImpl.h:
* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
* tests/Canvas2DLayerChromiumTest.cpp:
* tests/LayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeTiledLayerChromium::FakeTiledLayerChromium):

LayoutTests:

* compositing/visibility/visibility-image-layers-expected.png:
* compositing/visibility/visibility-image-layers-expected.txt: Renamed from LayoutTests/platform/mac/compositing/visibility/visibility-image-layers-expected.txt.
* compositing/visibility/visibility-simple-canvas2d-layer-expected.png: Added.
* compositing/visibility/visibility-simple-canvas2d-layer-expected.txt: Added.
* compositing/visibility/visibility-simple-canvas2d-layer.html: Added.
* compositing/visibility/visibility-simple-video-layer-expected.png: Added.
* compositing/visibility/visibility-simple-video-layer-expected.txt: Added.
* compositing/visibility/visibility-simple-video-layer.html: Added.
* compositing/visibility/visibility-simple-webgl-layer-expected.png: Added.
* compositing/visibility/visibility-simple-webgl-layer-expected.txt: Added.
* compositing/visibility/visibility-simple-webgl-layer.html: Added.
* platform/chromium-mac-snowleopard/compositing/visibility/visibility-image-layers-expected.png: Removed.
* platform/chromium-win/compositing/visibility/visibility-image-layers-expected.png: Removed.
* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Make sure root damage rect gets passed to renderer
commit-queue@webkit.org [Wed, 4 Jan 2012 00:34:05 +0000 (00:34 +0000)]
[chromium] Make sure root damage rect gets passed to renderer
https://bugs.webkit.org/show_bug.cgi?id=74893

Patch by Shawn Singh <shawnsingh@chromium.org> on 2012-01-03
Reviewed by James Robinson.

Source/WebCore:

Unit test added to CCLayerTreeHostImplTest.cpp

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::swapBuffers):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::swapBuffers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::TEST_F):
(WebKit::PartialSwapTrackerContext::initialize):
(WebKit::PartialSwapTrackerContext::postSubBufferCHROMIUM):
(WebKit::PartialSwapTrackerContext::getString):
(WebKit::PartialSwapTrackerContext::partialSwapRect):

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

8 years ago[chromium] Unreviewed, svg/carto.net/selectionlist.svg appears to
tony@chromium.org [Wed, 4 Jan 2012 00:29:02 +0000 (00:29 +0000)]
[chromium] Unreviewed, svg/carto.net/selectionlist.svg appears to
just need a rebaseline on Linux.

* platform/chromium-linux/svg/carto.net/selectionlist-expected.png:
* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed: files bug CR109068 for appcache/interrupted-update.html crash.
dslomov@google.com [Wed, 4 Jan 2012 00:25:44 +0000 (00:25 +0000)]
Unreviewed: files bug CR109068 for appcache/interrupted-update.html crash.

* platform/chromium/test_expectations.txt:

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

8 years agoIncrement the code-review.js version number to bust browser
ojan@chromium.org [Wed, 4 Jan 2012 00:23:55 +0000 (00:23 +0000)]
Increment the code-review.js version number to bust browser
caches.

* PrettyPatch/PrettyPatch.rb:

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

8 years agoWhen showing results.html pass a correct URL to webbrowser.open
jochen@chromium.org [Wed, 4 Jan 2012 00:18:27 +0000 (00:18 +0000)]
When showing results.html pass a correct URL to webbrowser.open
https://bugs.webkit.org/show_bug.cgi?id=75438

Reviewed by Adam Barth.

* Scripts/webkitpy/common/system/filesystem.py:
(file_path_as_url):
* Scripts/webkitpy/common/system/filesystem_mock.py:
(file_path_as_url):
* Scripts/webkitpy/common/system/filesystem_unittest.py:
(test_file_path_as_url):
* Scripts/webkitpy/layout_tests/port/base.py:
(show_results_html_file):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(test_show_results_html_file):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(test_results_directory_relative):

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

8 years agoshrink the header on the flakiness dashboard
ojan@chromium.org [Wed, 4 Jan 2012 00:16:42 +0000 (00:16 +0000)]
shrink the header on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=65153

Reviewed by Adam Roben.

Move some of the "show" links to be to the right of the header
instead of below the header when they content they're showing
is hidden. That way we don't waste vertical space on them.

No new tests. This code is covered by existing tests.

* TestResultServer/static-dashboards/flakiness_dashboard.html:

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

8 years agoREGRESSION (r98196-98236): Incorrect layout of iGoogle with RSS feeds
fpizlo@apple.com [Wed, 4 Jan 2012 00:06:42 +0000 (00:06 +0000)]
REGRESSION (r98196-98236): Incorrect layout of iGoogle with RSS feeds
https://bugs.webkit.org/show_bug.cgi?id=75303
<rdar://problem/10633533>

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

The this argument was not being kept alive in some cases during inlining and intrinsic
optimizations.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionCheck):
(JSC::DFG::ByteCodeParser::handleInlining):

LayoutTests:

Reviewed by Gavin Barraclough.

* fast/js/dfg-inline-unused-this-expected.txt: Added.
* fast/js/dfg-inline-unused-this-method-check-expected.txt: Added.
* fast/js/dfg-inline-unused-this-method-check.html: Added.
* fast/js/dfg-inline-unused-this.html: Added.
* fast/js/dfg-intrinsic-unused-this-expected.txt: Added.
* fast/js/dfg-intrinsic-unused-this-method-check-expected.txt: Added.
* fast/js/dfg-intrinsic-unused-this-method-check.html: Added.
* fast/js/dfg-intrinsic-unused-this.html: Added.
* fast/js/script-tests/dfg-inline-unused-this-method-check.js: Added.
(foo):
(bar):
(baz):
* fast/js/script-tests/dfg-inline-unused-this.js: Added.
(foo):
(bar):
(baz):
* fast/js/script-tests/dfg-intrinsic-unused-this-method-check.js: Added.
(bar):
(baz):
* fast/js/script-tests/dfg-intrinsic-unused-this.js: Added.
(bar):
(baz):

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

8 years ago[chromium] Fix compilation with clang and the shared build
tony@chromium.org [Tue, 3 Jan 2012 23:59:01 +0000 (23:59 +0000)]
[chromium] Fix compilation with clang and the shared build
https://bugs.webkit.org/show_bug.cgi?id=75492

Reviewed by Ojan Vafai.

* WebKit.gyp: Turn off -Wglobal-constructors because test files using
GTEST have global constructors.
* tests/InnerGestureRecognizerTest.cpp:
(TEST_F): Move global into test function.

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

8 years agov8 binding: npCreateV8ScriptObject() should not returned an existing V8NPObject if...
commit-queue@webkit.org [Tue, 3 Jan 2012 23:40:09 +0000 (23:40 +0000)]
v8 binding: npCreateV8ScriptObject() should not returned an existing V8NPObject if the rootObject doesn't match
https://bugs.webkit.org/show_bug.cgi?id=74515

Patch by Yuzhu Shen <yzshen@chromium.org> on 2012-01-03
Reviewed by Nate Chapin.

Source/WebCore:

Test: http/tests/plugins/create-v8-script-objects.html

* bindings/v8/NPV8Object.cpp:
(WebCore::freeV8NPObject):
(WebCore::npCreateV8ScriptObject):

LayoutTests:

* http/tests/plugins/create-v8-script-objects-expected.txt: Added.
* http/tests/plugins/create-v8-script-objects.html: Added.
* http/tests/plugins/resources/create-v8-script-objects-iframe.html: Added.

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

8 years ago[chromium] Revert accidentally removed chrome client compositing check
enne@google.com [Tue, 3 Jan 2012 23:39:13 +0000 (23:39 +0000)]
[chromium] Revert accidentally removed chrome client compositing check
https://bugs.webkit.org/show_bug.cgi?id=75500

Reviewed by James Robinson.

This check was overzealously removed in r103968 as a part of
re-enabling compositing for RTL pages. Add it back.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::allowedCompositingTriggers):

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

8 years agoWindows build fix.
barraclough@apple.com [Tue, 3 Jan 2012 23:31:25 +0000 (23:31 +0000)]
Windows build fix.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

8 years agoLeak of WebNotificationClient when page is destroyed
jonlee@apple.com [Tue, 3 Jan 2012 23:27:26 +0000 (23:27 +0000)]
Leak of WebNotificationClient when page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=74980
<rdar://problem/10611231>

Reviewed by Mark Rowe.

Source/WebCore:

* notifications/NotificationController.cpp:
(WebCore::NotificationController::~NotificationController): Notify the client
that the controller has been destroyed.
* notifications/NotificationPresenter.h: Add notificationControllerDestroyed()
callback to the client interface.

Source/WebKit:

* blackberry/WebCoreSupport/NotificationPresenterImpl.cpp:
(WebKit::NotificationPresenterImpl::notificationControllerDestroyed): Empty implementation, because ownership
model differs.
* blackberry/WebCoreSupport/NotificationPresenterImpl.h:

Source/WebKit/chromium:

* src/NotificationPresenterImpl.cpp:
(WebKit::NotificationPresenterImpl::notificationControllerDestroyed): Empty implementation because ownership
model differs.
* src/NotificationPresenterImpl.h:

Source/WebKit/efl:

* WebCoreSupport/NotificationPresenterClientEfl.cpp:
(WebCore::NotificationPresenterClientEfl::notificationControllerDestroyed): Stub implementation, because
the notification presenter is unimplemented.
* WebCoreSupport/NotificationPresenterClientEfl.h:

Source/WebKit/mac:

* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::notificationControllerDestroyed): Remove the instance.

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::notificationControllerDestroyed): Empty implementation, because
ownership model differs.
* WebCoreSupport/NotificationPresenterClientQt.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::notificationControllerDestroyed): Delete the instance.
* WebProcess/WebCoreSupport/WebNotificationClient.h:

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

8 years agogetComputedStyle for list-style is not implemented.
alexis.menard@openbossa.org [Tue, 3 Jan 2012 23:20:43 +0000 (23:20 +0000)]
getComputedStyle for list-style is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=75443

Reviewed by Tony Chang.

Source/WebCore:

Implement getComputedStyle for list-style.

Test: fast/css/getComputedStyle/getComputedStyle-list-style-shorthand.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

Add new tests to make sure we return the correct values.

* fast/css/getComputedStyle/getComputedStyle-list-style-shorthand-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-list-style-shorthand.html: Added.

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