scheib@chromium.org [Fri, 13 Jul 2012 20:37:50 +0000 (20:37 +0000)]
Pointer Lock handles disconnected DOM elements
https://bugs.webkit.org/show_bug.cgi?id=77029
Reviewed by Adrienne Walker.
Source/WebCore:
Pointer Lock Controller now checks when elements or documents are
removed, and unlocks if the target element is being removed.
Tests: pointer-lock/locked-element-iframe-removed-from-dom.html
pointer-lock/locked-element-removed-from-dom.html
* dom/Document.cpp:
(WebCore::Document::detach):
* dom/Element.cpp:
(WebCore::Element::removedFrom):
(WebCore::Element::webkitRequestPointerLock):
* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::elementRemoved):
(WebCore):
(WebCore::PointerLockController::documentDetached):
(WebCore::PointerLockController::didLosePointerLock):
(WebCore::PointerLockController::enqueueEvent):
* page/PointerLockController.h:
(WebCore):
(PointerLockController):
LayoutTests:
Two new tests that verify pointer lock is released when the target
is removed from the document.
* pointer-lock/locked-element-iframe-removed-from-dom-expected.txt: Added.
* pointer-lock/locked-element-iframe-removed-from-dom.html: Added.
* pointer-lock/locked-element-removed-from-dom-expected.txt: Added.
* pointer-lock/locked-element-removed-from-dom.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122626
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wjmaclean@chromium.org [Fri, 13 Jul 2012 20:35:39 +0000 (20:35 +0000)]
[chromium] Unreviewed gardening. storage/indexeddb/cursor-key-order.html has starting crashing on occassion.
https://bugs.webkit.org/show_bug.cgi?id=91275
Not sure how far back the crashes go, but happens with reasonably high frequency.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122625
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 20:12:36 +0000 (20:12 +0000)]
[BlackBerry] Implement GCActivityCallback with platform timer
https://bugs.webkit.org/show_bug.cgi?id=90175
Patch by Yong Li <yoli@rim.com> on 2012-07-13
Reviewed by Rob Buis.
Implement GCActivityCallback and HeapTimer for BlackBerry port.
* heap/HeapTimer.cpp:
(JSC):
(JSC::HeapTimer::HeapTimer):
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::timerDidFire):
(JSC::HeapTimer::synchronize):
(JSC::HeapTimer::invalidate):
(JSC::HeapTimer::didStartVMShutdown):
* heap/HeapTimer.h:
(HeapTimer):
* runtime/GCActivityCallbackBlackBerry.cpp:
(JSC):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::didAllocate):
(JSC::DefaultGCActivityCallback::willCollect):
(JSC::DefaultGCActivityCallback::cancel):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122624
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Fri, 13 Jul 2012 19:58:47 +0000 (19:58 +0000)]
Move layout checking js script into LayoutTest/resources and generalize
https://bugs.webkit.org/show_bug.cgi?id=91268
Reviewed by Ojan Vafai.
flexbox.js contains helper scripts for verifying the size and position of nodes.
I will be writing similar tests for grid, so move the js file into a location
for sharing and generalize the script.
* css3/flexbox/align-absolute-child.html: Change include path and call.
* css3/flexbox/auto-height-dynamic.html:
* css3/flexbox/columns-auto-size.html:
* css3/flexbox/flex-algorithm-min-max.html:
* css3/flexbox/flex-algorithm-with-margins.html:
* css3/flexbox/flex-algorithm.html:
* css3/flexbox/flex-align-column.html:
* css3/flexbox/flex-align-end.html:
* css3/flexbox/flex-align-max.html:
* css3/flexbox/flex-align-percent-height.html:
* css3/flexbox/flex-align-stretch.html:
* css3/flexbox/flex-align-vertical-writing-mode.html:
* css3/flexbox/flex-align.html:
* css3/flexbox/flex-flow-auto-margins.html:
* css3/flexbox/flex-flow-border.html:
* css3/flexbox/flex-flow-margins-auto-size.html:
* css3/flexbox/flex-flow-margins.html:
* css3/flexbox/flex-flow-orientations.html:
* css3/flexbox/flex-flow-overflow.html:
* css3/flexbox/flex-flow-padding.html:
* css3/flexbox/flex-flow.html:
* css3/flexbox/flex-item-child-overflow.html:
* css3/flexbox/flex-item-min-size.html:
* css3/flexbox/flex-justify-content.html:
* css3/flexbox/flex-no-flex.html:
* css3/flexbox/flexitem.html:
* css3/flexbox/floated-flexbox.html:
* css3/flexbox/line-wrapping.html:
* css3/flexbox/multiline-align-content-horizontal-column.html:
* css3/flexbox/multiline-align-content.html:
* css3/flexbox/multiline-align-self.html:
* css3/flexbox/multiline-column-auto.html:
* css3/flexbox/multiline-justify-content.html:
* css3/flexbox/multiline-reverse-wrap-overflow.html:
* css3/flexbox/multiline.html:
* css3/flexbox/nested-stretch.html:
* css3/flexbox/orthogonal-flex-directions.html:
* css3/flexbox/perpendicular-writing-modes-inside-flex-item.html:
* css3/flexbox/position-absolute-child.html:
* css3/flexbox/preferred-widths-orthogonal.html:
* css3/flexbox/preferred-widths.html:
* css3/flexbox/style-change.html:
* css3/flexbox/true-centering.html:
* css3/flexbox/writing-modes.html:
* resources/check-layout.js: Renamed from LayoutTests/css3/flexbox/resources/flexbox.js.
(.): Rename checkFlexboxen to checkLayout that takes a CSS selector. Hide functions in a closure.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dgrogan@chromium.org [Fri, 13 Jul 2012 19:54:37 +0000 (19:54 +0000)]
IndexedDB: Re-enable indexeddb in test_shell
https://bugs.webkit.org/show_bug.cgi?id=91161
Reviewed by Tony Chang.
IDB used to be allowed to run if webView->permissionClient() was NULL,
as is the case in test_shell. This was inadvertently changed in
http://wkb.ug/90310.
We still don't have an automated test for this (http://crbug.com/113738)
Tested manually:
* In test_shell:
1) Open an IDB page
2) Verify IDB has permission to open a DB
* In chrome:
1) Open an IDB page
2) Verify IDB has permission to open a DB
3) Revoke IDB permissions in chrome://chrome/settings/content
4) Reload the IDB page
5) Verify IDB doesn't have permission to open a DB
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::allowIndexedDB):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122622
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 13 Jul 2012 19:48:40 +0000 (19:48 +0000)]
HTMLCollection should use DynamicNodeList's invalidation model
https://bugs.webkit.org/show_bug.cgi?id=90326
Reviewed by Anders Carlsson.
Make HTMLCollection invalidated upon attribute and children changes instead of invalidating it on demand
by comparing DOM tree versions. Node that HTMLCollections owned by Document are invalidated with other
document-rooted node lists in m_listsInvalidatedAtDocument for simplicity although this mechanism is
normally used for node lists owned by a non-Document node that contains nodes outside of its subtree.
ItemProperties and FormControls are more "traditional" users of the mechanism.
Also, merged DynamicNodeList::invalidateCache and HTMLCollection::invalidateCache.
* dom/Document.cpp:
(WebCore::Document::registerNodeListCache): Renamed. No longer takes NodeListInvalidationType or
NodeListRootType since they can be obtained from the cache base. Increment the node list counter for
InvalidateOnIdNameAttrChange when a HTMLCollection is passed in since all HTMLCollections need to be
invalidated on id or name content attribute changes due to named getters.
(WebCore::Document::unregisterNodeListCache): Ditto.
(WebCore::shouldInvalidateNodeListForType):
(WebCore::Document::shouldInvalidateNodeListCaches):
(WebCore::Document::clearNodeListCaches):
* dom/Document.h:
(WebCore): Added InvalidateOnIdNameAttrChange, InvalidateOnHRefAttrChange, and InvalidateOnAnyAttrChange.
(Document):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeListCacheBase::invalidateCache): Added. Invalidates caches of both DynamicNodeList
and HTMLCollection. We can't afford to use virtual function calls here because this function is called on
all node lists and HTML collections owned by ancestors of an element under which a node is added, removed,
or its attributes are changed.
(WebCore):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase): Initializes member variables directly
instead of calling clearCache now that DynamicNodeListCacheBase::invalidateCache has become polymorphic.
(DynamicNodeListCacheBase): Increased the number of bits for m_invalidationType since we now have 9
invalidation types.
(WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::clearHTMLCollectionCaches): Added.
(WebCore::ElementRareData::adoptTreeScope): Added; similar to NodeRareData::adoptTreeScope.
* dom/Node.cpp:
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Clears HTML collection caches as well as
node list caches.
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Ditto.
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptTreeScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope): Calls ElementRareData's adoptTreeScope as well as
NodeRareData's.
* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::namedItemWithIndex):
* html/HTMLCollection.cpp:
(WebCore::rootTypeFromCollectionType): Added. As mentioned above, treat all Document-owned HTML collection
as if rooted at document for convenience.
(WebCore::invalidationTypeExcludingIdAndNameAttributes): Added. Since all HTML collection requires
invalidation on id and name content attribute changes, which is taken care by the special logic in
Document::registerNodeListCache, exclude those two attributes from consideration.
(WebCore::HTMLCollection::HTMLCollection): Calls Document::registerNodeListCache.
(WebCore::HTMLCollection::~HTMLCollection): Calls Document::unregisterNodeListCache.
(WebCore::HTMLCollection::length):
(WebCore::HTMLCollection::item):
(WebCore::HTMLCollection::namedItem):
(WebCore::HTMLCollection::updateNameCache):
* html/HTMLCollection.h:
(WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
(HTMLCollectionCacheBase): Removed m_cacheTreeVersion and clearCache since they're no longer used.
(HTMLCollection):
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::namedItem):
(WebCore::HTMLFormCollection::updateNameCache):
* html/HTMLOptionsCollection.h:
(HTMLOptionsCollection):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::updateNameCache):
* html/HTMLPropertiesCollection.h:
(WebCore::HTMLPropertiesCollection::invalidateCache):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122621
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Fri, 13 Jul 2012 19:45:03 +0000 (19:45 +0000)]
Unreviewed GTK gardening, adding a baseline required after unskipping
fast/files/workers/worker-read-blob-async.html in r122612.
* platform/gtk/fast/files: Added.
* platform/gtk/fast/files/workers: Added.
* platform/gtk/fast/files/workers/worker-read-blob-async-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122620
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shawnsingh@chromium.org [Fri, 13 Jul 2012 19:40:30 +0000 (19:40 +0000)]
[chromium] Remove incorrect debug assertion in LayerRendererChromium.cpp
https://bugs.webkit.org/show_bug.cgi?id=91260
Reviewed by Adrienne Walker.
ASSERT(!clipped) was being triggered after skinny almost-degenerate
quads went through anti-aliasing inflation, and then were being
transformed back from device space to local space. It turns out
this assertion is too aggressive, and we don't yet have an obvious
need to change the behavior on the clipped==true case.
No new tests needed, this patch fixes only comments and debug code.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderPassQuad):
fixed a comment.
(WebCore::LayerRendererChromium::drawTileQuad):
fixed a similar comment, removed unnecessary assertion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 13 Jul 2012 19:11:12 +0000 (19:11 +0000)]
webkitpy: make worker.start() and worker.stop() optional in the messagepool
https://bugs.webkit.org/show_bug.cgi?id=91170
Reviewed by Ojan Vafai.
test-webkitpy will use messagepool workers that don't actually
have any per-worker state, so they don't need start() and stop()
methods. Now we will only call the methods if they exist; this
means that workers only need to expose a handle() method.
* Scripts/webkitpy/common/message_pool.py:
(_Worker.terminate):
(_Worker.run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Fri, 13 Jul 2012 19:10:22 +0000 (19:10 +0000)]
Unreviewed GTK gardening, updating baselines for the fast/backgrounds/size/zero.html
test as required after r121296.
* platform/gtk/TestExpectations:
* platform/gtk/fast/backgrounds/size/zero-expected.png: Added.
* platform/gtk/fast/backgrounds/size/zero-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122617
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pdr@google.com [Fri, 13 Jul 2012 19:08:31 +0000 (19:08 +0000)]
Remove assert in localCoordinateSpaceTransform()
https://bugs.webkit.org/show_bug.cgi?id=91189
Reviewed by Nikolas Zimmermann.
Source/WebCore:
The assert in localCoordinateSpaceTransform was added to catch subclasses forgetting
to override the method but it is better to simply return the identity matrix.
This scenario can occur when we break the SVG content model, such as asking for
the CTM of a <g> element inside a <tspan>. This is undefined in the spec because
tspan is not a subclass of SVGLocatable but both Firefox and Opera
implement this by returning the identity matrix.
Test: svg/custom/invalid-ctm.svg
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::localCoordinateSpaceTransform):
LayoutTests:
* svg/custom/invalid-ctm-expected.txt: Added.
* svg/custom/invalid-ctm.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 13 Jul 2012 19:08:27 +0000 (19:08 +0000)]
NRWT doesn't print exceptions
https://bugs.webkit.org/show_bug.cgi?id=91129
Reviewed by Ojan Vafai.
Although we printed exceptions in most cases, if an unexpected
exception (like a runtime error) was raised when creating a
port, we wouldn't. This patch fixes that, and also cleans up
how we were logging exceptions from the workers to be less
verbose.
Because of the corner cases where these errors are occurring,
it's difficult to write automated unit tests for them. I've
tested it quite a bit by hand, though.
* Scripts/webkitpy/common/message_pool.py:
(_MessagePool._close):
(_MessagePool._handle_worker_exception):
(_Worker.run):
(_Worker._raise):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122615
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 13 Jul 2012 19:05:21 +0000 (19:05 +0000)]
[V8] String wrappers should be marked Independent
https://bugs.webkit.org/show_bug.cgi?id=91251
Reviewed by Adam Barth.
Currently V8 String wrappers are not marked Independent.
By marking them Independent, they can be reclaimed by the scavenger GC.
I tried to find some cases where this change reduces memory usage,
but couldn't due to sensitive behavior of GC.
No tests. No change in behavior.
* bindings/v8/V8Binding.cpp:
(WebCore::StringCache::v8ExternalStringSlow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122614
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dgrogan@chromium.org [Fri, 13 Jul 2012 19:00:01 +0000 (19:00 +0000)]
IndexedDB: Add unexpectedUpgradeNeededCallback to shared.js
https://bugs.webkit.org/show_bug.cgi?id=91176
Reviewed by Tony Chang.
This is just used in our layout tests. It's the simplest possible piece
I could break off of the upgradeneeded changes.
No tests because no change in behavior expected.
* storage/indexeddb/resources/shared.js:
(unexpectedBlockedCallback):
(unexpectedUpgradeNeededCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122613
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Fri, 13 Jul 2012 18:50:01 +0000 (18:50 +0000)]
Unreviewed GTK gardening, removing timeout expectations for a few
File API tests while hoping the problems have now gone away.
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122612
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 18:46:43 +0000 (18:46 +0000)]
[EFL] Gardening failure cases on EFL build bot
https://bugs.webkit.org/show_bug.cgi?id=91219
Unreviewed EFL gardening. Skip the new failing tests and add
platform-specific results for fallback-content.html to get the
bot greener.
Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-07-13
* platform/efl/TestExpectations:
* platform/efl/fast/canvas/fallback-content-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122611
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peter@chromium.org [Fri, 13 Jul 2012 18:45:16 +0000 (18:45 +0000)]
[Chromium] Make the v8 i18n API dependency conditional for Android, disable strict aliasing
https://bugs.webkit.org/show_bug.cgi?id=91240
Reviewed by Adam Barth.
Disable the v8 internationalization API for Chromium Android, as it's
disabled and not always available in checkouts. Furthermore, disable
strict aliasing for the webkit_remaining target, similar to what
x11-based builds are doing (see the webcore_prerequisites target).
* WebCore.gyp/WebCore.gyp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122610
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Fri, 13 Jul 2012 18:43:19 +0000 (18:43 +0000)]
Unreviewed GTK gardening, adding baselines and expectations required
after r122509 and r122528.
* platform/gtk/TestExpectations:
* platform/gtk/http/tests/w3c: Added.
* platform/gtk/http/tests/w3c/webperf: Added.
* platform/gtk/http/tests/w3c/webperf/approved: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html5: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122609
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 13 Jul 2012 18:15:52 +0000 (18:15 +0000)]
[CallWith=XXX] arguments should be placed at the head of method arguments
https://bugs.webkit.org/show_bug.cgi?id=91217
Reviewed by Adam Barth.
The EFL build with the ENABLE_FILE_SYSTEM flag caused a build error,
because CodeGeneratorJS.pm assumes webkitEntries(ScriptExecutionContext*, HTMLInputElement*)
but the actual signature is webkitEntries(HTMLInputElement*, ScriptExecutionContext*) (bug 91185).
Per https://trac.webkit.org/wiki/WebKitIDL#CallWith, [CallWith=XXX] arguments should be placed
at the head of the arguments. (i.e. the behavior of CodeGeneratorJS.pm is correct.)
Thus the correct fix is (1) to change the signature of webkitEntries() and webkitGetAsEntry()
so that ScriptExecutionContext* comes first and (2) to modify CodeGeneratorV8.pm to support the order.
Test: bindings/scripts/test/TestObj.idl
* Modules/filesystem/DataTransferItemFileSystem.h: Placed ScriptExecutionContext* at the head of arguments.
(DataTransferItemFileSystem):
* Modules/filesystem/HTMLInputElementFileSystem.cpp: Ditto.
(WebCore::HTMLInputElementFileSystem::webkitEntries):
* Modules/filesystem/HTMLInputElementFileSystem.h: Ditto.
(HTMLInputElementFileSystem):
* Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Ditto.
(WebCore::DataTransferItemFileSystem::webkitGetAsEntry):
* bindings/scripts/CodeGeneratorV8.pm: Modified to support the correct order.
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallString):
* bindings/scripts/test/V8/V8TestInterface.cpp: Updated run-bindings-tests results.
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Fri, 13 Jul 2012 18:11:35 +0000 (18:11 +0000)]
PrettyPatch.rb complains about missing checksum for new pixel results
https://bugs.webkit.org/show_bug.cgi?id=88368
Reviewed by Tony Chang.
When adding or removing a file, we incorrectly iterpreted not having an image
as not having a checksum.
* PrettyPatch/PrettyPatch.rb:
* PrettyPatch/PrettyPatch_test.rb:
I tried to fix the TempFile issue in these tests, but after a couple hours
of banging my head against this, I have no idea what's breaking.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 17:57:47 +0000 (17:57 +0000)]
enable TestWebKitAPI/webkit_unit_tests apk on x86 android platform by adding abi support
https://bugs.webkit.org/show_bug.cgi?id=91194
Patch by Wei James <james.wei@intel.com> on 2012-07-13
Reviewed by Adam Barth.
Source/WebKit/chromium:
* WebKitUnitTests.gyp:
Tools:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122606
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 13 Jul 2012 17:55:09 +0000 (17:55 +0000)]
[GTK] Gardening: update API tests skipped list
https://bugs.webkit.org/show_bug.cgi?id=91224
Unreviewed gardening.
Skip "next" and "previous" tests of FindController until bug #91083
is fixed.
Patch by Simon Pena <spena@igalia.com> on 2012-07-13
* gtk/run-api-tests:
(TestRunner):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mary.wu@torchmobile.com.cn [Fri, 13 Jul 2012 17:39:59 +0000 (17:39 +0000)]
[BlackBerry] Some small changes in network code
https://bugs.webkit.org/show_bug.cgi?id=90974
Reviewed by Rob Buis.
1. Set status in NetworkJob/SocketStreamHandleBlackBerry so that
its wrapped stream can also query the stream result.
2. pass download attribute to NetworkRequest.
RIM PR# 171555
Reviewed internally by Lyon Chen and Joe Mason.
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyClose):
* platform/network/blackberry/NetworkJob.h:
(WebCore::NetworkJob::status):
* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(WebCore::platformTargetTypeForRequest):
* platform/network/blackberry/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::status):
(SocketStreamHandle):
* platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
(WebCore::SocketStreamHandle::notifyStatusReceived):
(WebCore::SocketStreamHandle::notifyClose):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 17:32:41 +0000 (17:32 +0000)]
Web Inspector: Remove uiSourceCode from Resource.
https://bugs.webkit.org/show_bug.cgi?id=91201
Reviewed by Pavel Feldman.
Removed Resource._uiSourceCode field as it is not used anymore.
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.isHidden):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122603
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
danakj@chromium.org [Fri, 13 Jul 2012 17:28:37 +0000 (17:28 +0000)]
webkit_unit_test CCLayerTreeHostImplTest.testRemoveRenderPasses started failing.
https://bugs.webkit.org/show_bug.cgi?id=91245
Reviewed by Adrienne Walker.
* tests/CCLayerTreeHostImplTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 17:25:14 +0000 (17:25 +0000)]
[CMake] Proper handling of ENABLE_API_TESTS build option
https://bugs.webkit.org/show_bug.cgi?id=91221
Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-07-13
Reviewed by Rob Buis.
.:
Make the flag reusable across the ports using CMake. We are about to enable the WTF,
WebCore and WebKit 2 API's at Tools/TestWebKitAPI and other ports using CMake can get
it almost for free.
* CMakeLists.txt:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
Source/WebKit:
Build unit tests only if ENABLE_API_TESTS is set.
* PlatformEfl.cmake:
Source/WebKit2:
Build unit tests only if ENABLE_API_TESTS is set.
* PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Fri, 13 Jul 2012 17:24:42 +0000 (17:24 +0000)]
Unreviewed, rolling out r122450 and r122580.
http://trac.webkit.org/changeset/122450
http://trac.webkit.org/changeset/122580
https://bugs.webkit.org/show_bug.cgi?id=91263
Caused multiple regressions on ClusterFuzz (Requested by
inferno-sec on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-13
* bindings/js/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::reportMemoryUsage):
* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::ChunkedTable::reportMemoryUsage):
* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage):
* bindings/v8/V8Binding.cpp:
(WebCore::V8BindingPerIsolateData::reportMemoryUsage):
(WebCore::StringCache::reportMemoryUsage):
* bindings/v8/V8DOMMap.h:
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::InlineCSSStyleDeclaration::ensureMutablePropertySet):
* css/StylePropertySet.cpp:
* css/StylePropertySet.h:
(WebCore::StylePropertySet::reportMemoryUsage):
* dom/CharacterData.cpp:
(WebCore::CharacterData::reportMemoryUsage):
* dom/ContainerNode.h:
(WebCore::ContainerNode::reportMemoryUsage):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/Element.cpp:
(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::attributes):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::parserSetAttributes):
(WebCore::Element::hasEquivalentAttributes):
(WebCore::Element::createAttributeData):
(WebCore):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::cloneAttributesFromElement):
* dom/Element.h:
(WebCore::Element::attributeData):
(Element):
(WebCore::Element::reportMemoryUsage):
(WebCore::Element::ensureAttributeData):
(WebCore::Element::updatedAttributeData):
(WebCore::Element::ensureUpdatedAttributeData):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::attrIfExists):
(WebCore::ElementAttributeData::ensureAttr):
(WebCore::ElementAttributeData::setAttr):
(WebCore::ElementAttributeData::removeAttr):
(WebCore::ElementAttributeData::setClass):
(WebCore):
(WebCore::ElementAttributeData::ensureInlineStyle):
(WebCore::ElementAttributeData::ensureMutableInlineStyle):
(WebCore::ElementAttributeData::destroyInlineStyle):
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::isEquivalent):
(WebCore::ElementAttributeData::detachAttrObjectsFromElement):
(WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
(WebCore::ElementAttributeData::cloneDataFrom):
(WebCore::ElementAttributeData::clearAttributes):
(WebCore::ElementAttributeData::replaceAttribute):
(WebCore::ElementAttributeData::getAttributeNode):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::create):
(ElementAttributeData):
(WebCore::ElementAttributeData::setIdForStyleResolution):
(WebCore::ElementAttributeData::setAttributeStyle):
(WebCore::ElementAttributeData::length):
(WebCore::ElementAttributeData::isEmpty):
(WebCore::ElementAttributeData::attributeItem):
(WebCore::ElementAttributeData::getAttributeItem):
(WebCore::ElementAttributeData::reportMemoryUsage):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::ElementAttributeData::attributeVector):
(WebCore::ElementAttributeData::clonedAttributeVector):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::getAttributeItemIndex):
* dom/MemoryInstrumentation.h:
(MemoryInstrumentation):
(MemoryObjectInfo):
(WebCore::MemoryObjectInfo::reportInstrumentedPointer):
(WebCore::MemoryObjectInfo::reportPointer):
(WebCore::MemoryObjectInfo::reportInstrumentedObject):
(WebCore::MemoryObjectInfo::reportObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryObjectInfo::reportHashMap):
(WebCore::MemoryObjectInfo::reportHashSet):
(WebCore::MemoryObjectInfo::reportListHashSet):
(WebCore::MemoryObjectInfo::reportVector):
(WebCore::MemoryObjectInfo::reportString):
(WebCore::MemoryObjectInfo::objectType):
(WebCore::MemoryObjectInfo::objectSize):
(WebCore::MemoryObjectInfo::memoryInstrumentation):
* dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
(WebCore::QualifiedName::reportMemoryUsage):
* dom/StyledElement.cpp:
(WebCore::StyledElement::style):
(WebCore::StyledElement::classAttributeChanged):
(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::removeInlineStyleProperty):
(WebCore::StyledElement::addSubresourceAttributeURLs):
* dom/StyledElement.h:
(WebCore::StyledElement::ensureInlineStyle):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
* platform/TreeShared.h:
(WebCore::TreeShared::reportMemoryUsage):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mifenton@rim.com [Fri, 13 Jul 2012 17:23:16 +0000 (17:23 +0000)]
[BlackBerry] Add support for attributes to define keyboard and enter key type on the Virtual Keyboard
https://bugs.webkit.org/show_bug.cgi?id=91248
Reviewed by Antonio Gomes.
PR 174733.
Add data-blackberry-virtual-keyboard-type and
data-blackberry-virtual-keyboard-enter-key to
enable configuration of the desired virtual keyboard
using element attributes.
Reviewed Internally by Gen Mak.
* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::convertStringToKeyboardType):
(WebKit):
(BlackBerry::WebKit::keyboardTypeAttribute):
(BlackBerry::WebKit::convertStringToKeyboardEnterKeyType):
(BlackBerry::WebKit::keyboardEnterKeyTypeAttribute):
(BlackBerry::WebKit::InputHandler::setElementFocused):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122599
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kseo@webkit.org [Fri, 13 Jul 2012 17:19:28 +0000 (17:19 +0000)]
Remove down-casting to BitmapImage in GraphicsContext::drawImage.
https://bugs.webkit.org/show_bug.cgi?id=90755
Patch by Huang Dongsung <luxtella@company100.net> on 2012-07-13
Reviewed by Simon Fraser.
Add a BitmapImage draw method which takes RespectImageOrientationEnum enum as
the last argument for CG. Then we can remove the conditional down-casting in
GraphicsContext::drawImage.
This change is needed for parallel image decoders. Because parallel image
decoders use a Bitmap image wrapper class which extends Image (not Bitmap), the
down-casting above causes the loss of RespectImageOrientationEnum which must be
passed to BitmapImage.
No new tests, no behavior change.
* platform/graphics/BitmapImage.cpp:
* platform/graphics/BitmapImage.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
* platform/graphics/Image.cpp:
(WebCore::Image::draw):
(WebCore):
* platform/graphics/Image.h:
(Image):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 17:09:03 +0000 (17:09 +0000)]
[EFL][WK2] Make new public Ewk headers as installable
https://bugs.webkit.org/show_bug.cgi?id=91232
Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-13
Reviewed by Antonio Gomes.
Make new public Ewk headers installable.
* PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122597
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Fri, 13 Jul 2012 16:53:20 +0000 (16:53 +0000)]
[WIN] Fix compilation of DFGRepatch.cpp
https://bugs.webkit.org/show_bug.cgi?id=91241
Reviewed by Geoffrey Garen.
Use intptr_t instead of uintptr_t when calling CodeLocationCommon::dataLabelPtrAtOffset(int)
to fix MSVC "unary minus operator applied to unsigned type, result still unsigned" warning.
* dfg/DFGRepatch.cpp:
(JSC::DFG::dfgResetGetByID):
(JSC::DFG::dfgResetPutByID):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Fri, 13 Jul 2012 16:35:46 +0000 (16:35 +0000)]
Fix ARM_TRADITIONAL JIT for COMPILER(MSVC) and COMPILER(RVCT) after r121885
https://bugs.webkit.org/show_bug.cgi?id=91238
Reviewed by Zoltan Herczeg.
r121885 changed the assembler instruction only for COMPILER(GCC).
Use the same instructions for the other compilers too.
* jit/JITStubs.cpp:
(JSC::ctiTrampoline):
(JSC::ctiTrampolineEnd):
(JSC::ctiVMThrowTrampoline):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 16:22:33 +0000 (16:22 +0000)]
Unreviewed gardening, updated chromium test expectations.
https://bugs.webkit.org/show_bug.cgi?id=91252
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 13 Jul 2012 16:18:58 +0000 (16:18 +0000)]
Also mark its evil twin as flaky.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 13 Jul 2012 16:16:53 +0000 (16:16 +0000)]
Note this test as flaky.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 16:13:11 +0000 (16:13 +0000)]
Unreviewed gardening, updated test expectations.
http://bugs.webkit.org/show_bug.cgi?id=91255
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zhajiang@rim.com [Fri, 13 Jul 2012 16:11:13 +0000 (16:11 +0000)]
[BlackBerry] resetBitmapZoomScale called while zooming preventing pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=91247
Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>
PR: 175432
On yahoo.com, the web page stopped zooming while trying to pinch as
WebPageClient::resetBitmapZoomScale(double) was being called by
WebPagePrivate::zoomToInitialScaleOnLoad() after load finished.
And also yahoo.com was keeping updating layout, which made it really
bad that zoomToInitialScaleOnLoad() was called many times when load
finished and the load type was FrameLoadTypeStandard or FrameLoadTypeSame.
As we only care about the situation that dispatchDidFirstVisuallyNonEmptyLayout()
happens after load finished, we can move the code to that method and
set a flag for WebPage layoutFinished() and zoomToInitialScaleOnLoad()
instead. In this way, we can ensure that the flag is only enabled when
dispatchDidFirstVisuallyNonEmptyLayout() is called after load finished
and get rid of calling zoomToInitialScaleOnLoad() lots of times when
keeping updating layout in such kind of situation.
Internally reviewed by Arvid Nilsson
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::layoutFinished):
* Api/WebPage_p.h:
(BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPagePrivate::setShouldZoomToInitialScaleAfterLoadFinished):
(WebPagePrivate):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 16:00:40 +0000 (16:00 +0000)]
Unreviewed chromium gardening, updated test expectations.
https://bugs.webkit.org/show_bug.cgi?id=91254
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jpetsovits@rim.com [Fri, 13 Jul 2012 15:53:24 +0000 (15:53 +0000)]
[BlackBerry] Use fillBuffer() instead of a user-defined background image.
https://bugs.webkit.org/show_bug.cgi?id=91180
RIM PR 171458
Reviewed by Rob Buis.
Internally reviewed by Andrew Lo.
By using Platform::Graphics::fillBuffer() to fill the
overscroll area, we save graphics memory for the buffer
that the background image was occupying.
Also adapt checkerboard drawing as it is now done using
fillBuffer() which replaces checkerBuffer().
In the same go, use the opportunity of the WebSettings
API change to make it more consistent, renaming the
OverZoomColor setting to OverScrollColor.
* Api/BackingStore.cpp:
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
(BlackBerry::WebKit::BackingStorePrivate::blitContents):
(BlackBerry::WebKit::BackingStorePrivate::fillWindow):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebSettings.cpp:
(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::overScrollColor):
(BlackBerry::WebKit::WebSettings::setOverScrollColor):
(BlackBerry::WebKit::WebSettings::isEnableDefaultOverScrollBackground):
(BlackBerry::WebKit::WebSettings::setEnableDefaultOverScrollBackground):
* Api/WebSettings.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 15:51:58 +0000 (15:51 +0000)]
Fix QtWebKit build with OpenGLES after GC3D/E3D refactor
https://bugs.webkit.org/show_bug.cgi?id=91156
Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-07-13
Reviewed by Noam Rosenthal.
Adds several build fixes.
* platform/graphics/GraphicsContext3D.h:
Use E3DOpenGLES instead of previously removed E3DQt.
* platform/graphics/OpenGLESShims.h:
Enable defines for Qt.
* platform/graphics/opengl/Extensions3DOpenGLES.cpp:
(WebCore::Extensions3DOpenGLES::blitFramebuffer):
(WebCore):
(WebCore::Extensions3DOpenGLES::renderbufferStorageMultisample):
(WebCore::Extensions3DOpenGLES::copyTextureCHROMIUM):
Added pure virtual stubs.
(WebCore::Extensions3DOpenGLES::supportsExtension):
Remove PROC suffix. See bug #91130.
* platform/graphics/opengl/Extensions3DOpenGLES.h:
(Extensions3DOpenGLES):
Added pure virtual stubs.
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs):
Readded missing function after removed in r122250.
(WebCore):
Use PLATFORM(BLACKBERRY) guard around port-specific include.
* platform/graphics/qt/GraphicsContext3DQt.cpp:
Added USE(OPENGL_ES_2) guard instead of always loading the OpenGL extensions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 15:47:50 +0000 (15:47 +0000)]
Unreviewed gardening, marked chromium test as flaky.
https://bugs.webkit.org/show_bug.cgi?id=91252
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Fri, 13 Jul 2012 15:36:50 +0000 (15:36 +0000)]
Form of FormAssociatedElement is not updated when id target changes.
https://bugs.webkit.org/show_bug.cgi?id=91042
Reviewed by Kent Tamura.
Source/WebCore:
Test: fast/forms/update-form-attribute-element.html
This patch introduces the IdTargetObserver and IdTargetObserverRegistry class.
They can be used to be notified when the element that an id is pointing to (the id target)
changes.
* CMakeLists.txt: Added IdTargetObserverRegistry.{h,cpp} and IdTargetObserver.{h,cpp}
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/DOMAllInOne.cpp:
* dom/IdTargetObserver.cpp: Added. When you want notified of changes to an id target, you should create a new class that inherits this.
(WebCore):
(WebCore::IdTargetObserver::IdTargetObserver):
(WebCore::IdTargetObserver::~IdTargetObserver):
* dom/IdTargetObserver.h: Added.
(WebCore):
(IdTargetObserver):
* dom/IdTargetObserverRegistry.cpp: Added.
(WebCore):
(WebCore::IdTargetObserverRegistry::create):
(WebCore::IdTargetObserverRegistry::addObserver): Register an IdTargetObserver to observe an id target.
(WebCore::IdTargetObserverRegistry::removeObserver): Unregisters an IdTargetObserver from observing.
(WebCore::IdTargetObserverRegistry::notifyObserversInternal):
* dom/IdTargetObserverRegistry.h: Added.
(WebCore):
(IdTargetObserverRegistry):
(WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
(WebCore::IdTargetObserverRegistry::notifyObservers): Calls idTargetChanged on all observers for an id. Inlining first part of function for performance.
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::addElementById): Calls IdTargetObserverRegistry::notifyObservers because the id target might have changed.
(WebCore::TreeScope::removeElementById): Ditto.
* dom/TreeScope.h:
(WebCore):
(WebCore::TreeScope::idTargetObserverRegistry):
(TreeScope):
* html/FormAssociatedElement.cpp: Observer for id targets defined by the form attribute.
(WebCore::FormAssociatedElement::didMoveToNewDocument):
(WebCore::FormAssociatedElement::insertedInto):
(WebCore::FormAssociatedElement::removedFrom):
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver): Creates and sets up a new FormAttributeTargetObserver.
(WebCore):
(WebCore::FormAssociatedElement::formAttributeTargetChanged):
(WebCore::FormAttributeTargetObserver::create):
(WebCore::FormAttributeTargetObserver::FormAttributeTargetObserver):
(WebCore::FormAttributeTargetObserver::idTargetChanged):
* html/FormAssociatedElement.h:
(FormAssociatedElement):
* html/FormController.cpp:
* html/FormController.h:
(FormController):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::removedFrom):
(WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Modified to take a range. It
scans the range and returns the index to insert the element in m_associatedElement.
(WebCore::HTMLFormElement::formElementIndex): Modified to only scan the elements in
m_associatedElement that precede and follow the form element.
* html/HTMLFormElement.h:
(HTMLFormElement):
LayoutTests:
* fast/forms/update-form-attribute-element-expected.txt: Added.
* fast/forms/update-form-attribute-element.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 15:32:03 +0000 (15:32 +0000)]
Unreviewed gardneing, skip failing chromium test.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rgabor@webkit.org [Fri, 13 Jul 2012 15:31:06 +0000 (15:31 +0000)]
Optimizing blend filter to ARM-NEON with intrinsics
https://bugs.webkit.org/show_bug.cgi?id=90949
Reviewed by Zoltan Herczeg.
The feBlend SVG filter modes can be greatly fasten up with ARM-NEON since
we are able to calculate with 2 pixels (8 channels) at the same time.
The code is written with NEON intrinsics and it doesn't affect the
general - it has the same behaviour as the original algorithm.
With this NEON optimization the calculation is ~4.5 times faster for each mode.
Existing tests cover this issue.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::platformApplyGeneric):
(WebCore):
(WebCore::FEBlend::platformApplySoftware):
* platform/graphics/filters/FEBlend.h:
(FEBlend):
* platform/graphics/filters/arm/FEBlendNEON.h: Added.
(WebCore):
(FEBlendUtilitiesNEON):
(WebCore::FEBlendUtilitiesNEON::div255): integer divison with 255
(WebCore::FEBlendUtilitiesNEON::normal): calculate normal mode blending for two pixels
(WebCore::FEBlendUtilitiesNEON::multiply): calculate multiply mode blending for two pixels
(WebCore::FEBlendUtilitiesNEON::screen): calculate screen mode blending for two pixels
(WebCore::FEBlendUtilitiesNEON::darken): calculate darken mode blending for two pixels
(WebCore::FEBlendUtilitiesNEON::lighten): calculate lighten mode blending for two pixels
(WebCore::FEBlend::platformApplyNEON):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122582
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 15:15:40 +0000 (15:15 +0000)]
Unreviewed gardening chromium tests rebaseline.
* platform/chromium-mac/css3/font-feature-settings-rendering-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loislo@chromium.org [Fri, 13 Jul 2012 15:09:10 +0000 (15:09 +0000)]
Web Inspector: native memory instrumentation: extract instrumentation methods into MemoryClassInfo
https://bugs.webkit.org/show_bug.cgi?id=91227
Reviewed by Pavel Feldman.
void Node::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
MemoryClassInfo<Node> info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
info.visitBaseClass<ScriptWrappable>(this);
info.addMember(m_notInstrumentedPointer); // automatically detects poniter/reference
info.addInstrumentedMember(m_next);
info.addHashSet<MemoryInstrumentation::NonClass>(m_aHash); // NonClass value_type (report only size of internal template structures)
info.addHashSet<MemoryInstrumentation::NotInstrumentedClass>(m_aHashSet); // not instrumented value_type (use sizeof)
info.addHashSet<MemoryInstrumentation::InstrumentedClass>(m_aHashSet); // instrumented value_type (call visit)
}
The change is covered by existing tests for native memory snapshot.
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::reportMemoryUsage):
* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::ChunkedTable::reportMemoryUsage):
* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage):
* bindings/v8/V8Binding.cpp:
(WebCore::V8BindingPerIsolateData::reportMemoryUsage):
(WebCore::StringCache::reportMemoryUsage):
* bindings/v8/V8DOMMap.h:
* css/StylePropertySet.h:
(WebCore::StylePropertySet::reportMemoryUsage):
* dom/CharacterData.cpp:
(WebCore::CharacterData::reportMemoryUsage):
* dom/ContainerNode.h:
(WebCore::ContainerNode::reportMemoryUsage):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/Element.h:
(WebCore::Element::reportMemoryUsage):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::reportMemoryUsage):
* dom/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WebCore::MemoryObjectInfo::objectType):
(WebCore::MemoryObjectInfo::objectSize):
(WebCore::MemoryObjectInfo::memoryInstrumentation):
(MemoryObjectInfo):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore):
(MemoryClassInfo):
(WebCore::MemoryClassInfo::MemoryClassInfo):
(WebCore::MemoryClassInfo::visitBaseClass):
(WebCore::MemoryClassInfo::reportInstrumentedPointer):
(WebCore::MemoryClassInfo::reportInstrumentedObject):
(WebCore::MemoryClassInfo::reportPointer):
(WebCore::MemoryClassInfo::reportObject):
(WebCore::MemoryClassInfo::reportHashMap):
(WebCore::MemoryClassInfo::reportHashSet):
(WebCore::MemoryClassInfo::reportListHashSet):
(WebCore::MemoryClassInfo::reportVector):
(WebCore::MemoryClassInfo::reportString):
* dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
(WebCore::QualifiedName::reportMemoryUsage):
* platform/TreeShared.h:
(WebCore::TreeShared::reportMemoryUsage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rgabor@webkit.org [Fri, 13 Jul 2012 15:05:00 +0000 (15:05 +0000)]
[Qt] Unreviewed gardening after r122528. Skipped some new tests.
https://bugs.webkit.org/show_bug.cgi?id=91218
Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-07-13
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Fri, 13 Jul 2012 15:02:22 +0000 (15:02 +0000)]
Web Inspector: align scope filters
https://bugs.webkit.org/show_bug.cgi?id=91213
Reviewed by Vsevolod Vlasov.
* inspector/front-end/elementsPanel.css:
(.crumbs):
* inspector/front-end/inspector.css:
(.status-bar > div):
(.scope-bar):
(.scope-bar li):
(.scope-bar li.all):
* inspector/front-end/networkLogView.css:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 14:58:55 +0000 (14:58 +0000)]
[GTK] Gardening: new baseline after r122550 and rebaseline after r122556
https://bugs.webkit.org/show_bug.cgi?id=91235
Unreviewed gardening.
Add new baseline for fast/canvas/fallback-content.html added in r122550, and
rebaseline fast/regions/region-style-block-background-color2.html after r122556.
Patch by Simon Pena <spena@igalia.com> on 2012-07-13
* platform/gtk/fast/canvas/fallback-content-expected.txt: Added.
* platform/gtk/fast/regions/region-style-block-background-color2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 14:48:45 +0000 (14:48 +0000)]
Unreviewed gardening: skip failing webkit unit test.
* tests/CCLayerTreeHostImplTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122576
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 14:41:12 +0000 (14:41 +0000)]
Unreviewed gardening, skip failing webkit_unit_tests.
* tests/DecimalTest.cpp:
(TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loislo@chromium.org [Fri, 13 Jul 2012 14:30:14 +0000 (14:30 +0000)]
Web Inspector: too many hardcoded strings in InspectorBackendDispatcher.
https://bugs.webkit.org/show_bug.cgi?id=89198
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-07-13
Reviewed by Yury Semikhatsky.
Instead of generating error message string on every call (mostly for nothing),
error message is generated deeper inside the handler and only command name
is passed every time.
* inspector/CodeGeneratorInspector.py:
(Generator.process_command):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 14:00:06 +0000 (14:00 +0000)]
[BlackBerry] Update about:* pages
https://bugs.webkit.org/show_bug.cgi?id=91121
Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-13
Reviewed by Yong Li.
Update the about:config pages, and improve the aesthetics of the about:build, about:version, about:credits, about:memory, about:config, and similar pages.
No new tests, because there is no new funtionality.
Source/WebCore:
* platform/network/blackberry/NetworkJob.cpp: Update the aesthetics of about:* pages
Source/WebKit/blackberry:
* WebCoreSupport/AboutData.cpp:
(WebCore):
(WebCore::writeFeatures):
(WebCore::numberToHTMLTr): Converted to template function, added bool specialization to write "true" and "false" instead of "1" and "0"
(WebCore::configPage):
(WebCore::memoryPage):
* WebCoreSupport/AboutTemplate.html.cpp: Template for BlackBerry about:* pages.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 13:53:29 +0000 (13:53 +0000)]
Fix checking for optional DeviceOrientationEvent.absolute in JSC bindings
https://bugs.webkit.org/show_bug.cgi?id=91225
Patch by Olivier Blin <olivier.blin@softathome.com> on 2012-07-13
Reviewed by Steve Block.
This issue comes from r105036
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 13 Jul 2012 13:47:01 +0000 (13:47 +0000)]
[GTK] Implement disk cache in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=90797
Reviewed by Xan Lopez.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::getCacheDiskFreeSize): Use an ASSERT instead of an early
return since the cache feature is now always added to the session.
(WebKit::WebProcess::platformSetCacheModel): Get the cache from
the session and set the maximum cache size as computed by
calculateCacheSizes().
(WebKit::WebProcess::platformClearResourceCaches): Call
soup_cache_clear().
(WebKit::WebProcess::platformTerminate): Make sure all pending
data is saved to the disk before the web process finishes.
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): Create a SoupCache feature and add it
to the default SoupSession.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 13 Jul 2012 13:41:51 +0000 (13:41 +0000)]
[GTK] Fix disk cache size computation in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=91226
Reviewed by Xan Lopez.
We are passing the free disk space value in bytes to
calculateCacheSizes() which expects values in MB.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::WebProcess::platformSetCacheModel):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 12:56:44 +0000 (12:56 +0000)]
[CSS Regions] Fix build for bug 89000
https://bugs.webkit.org/show_bug.cgi?id=91215
Patch by Andrei Bucur <abucur@adobe.com> on 2012-07-13
Reviewed by Kentaro Hara.
Remove the unused variable m_state that was a leftover from a previous version of the patch.
Tests: No new tests, build fix.
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
* dom/WebKitNamedFlow.h:
(WebKitNamedFlow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kkristof@inf.u-szeged.hu [Fri, 13 Jul 2012 12:53:44 +0000 (12:53 +0000)]
[Qt] Unreviewed gardening. Rebase test after r122550.
Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-07-13
* platform/qt/fast/canvas/fallback-content-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 13 Jul 2012 12:08:00 +0000 (12:08 +0000)]
[GTK] WebKit2 crash when going back/forward
https://bugs.webkit.org/show_bug.cgi?id=91220
Reviewed by Xan Lopez.
For some reason when a page is loaded from the backforward list,
when the didCommitLoadForFrame callback is called for the main
frame, the callback didInitiateLoadForResource hasn't been called
yet, so we don't even have a main resource at that point. We were
assuming we always had a main resource with a response. For now we
just check whether we have a resource before trying to set the
certificate to fix the crash, but we need to figue out why this is
happening an how to properly fix it.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didCommitLoadForFrame): Check whether we have a main resource
before setting the certificate.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 12:03:40 +0000 (12:03 +0000)]
[EFL][WK2] Use eina stringsharing for Ewk_Web_Resource's url
https://bugs.webkit.org/show_bug.cgi?id=91200
Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-13
Reviewed by Kenneth Rohde Christiansen.
Use eina stringsharing for Ewk_Web_Resource's url
for consistency.
* UIProcess/API/efl/ewk_web_resource.cpp:
(_Ewk_Web_Resource):
(_Ewk_Web_Resource::_Ewk_Web_Resource):
(ewk_web_resource_unref):
(ewk_web_resource_url_get):
* UIProcess/API/efl/ewk_web_resource.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 13 Jul 2012 11:44:10 +0000 (11:44 +0000)]
[GTK] WebKitWebView::mouse-target-changed is not emitted when moved to/from edtiable content
https://bugs.webkit.org/show_bug.cgi?id=91216
Reviewed by Xan Lopez.
The problem is that the function to check whether two hit test
results are equal doesn't check the editable flag.
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCompare): Check also the editable flag.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 11:43:43 +0000 (11:43 +0000)]
[EFL] Add const to the parameter of getters in ewk_security_origin
https://bugs.webkit.org/show_bug.cgi?id=90954
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-07-13
Reviewed by Kentaro Hara.
Move initialization of strings for protocol and host to the ewk_security_origin_new method,
which allows to add const qualifier for ewk_security_origin_protocol_get and ewk_security_origin_host_get.
In addition, add null checks to the getters.
* ewk/ewk_security_origin.cpp:
(ewk_security_origin_protocol_get):
(ewk_security_origin_host_get):
(ewk_security_origin_new):
* ewk/ewk_security_origin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 13 Jul 2012 11:24:25 +0000 (11:24 +0000)]
[EFL] Add *explicit* keyword to constructor which has a parameter
https://bugs.webkit.org/show_bug.cgi?id=91207
Reviewed by Zoltan Herczeg.
Add *explicit* keyword to contructor which has a parameter in order to avoid implicit type conversion.
Source/WebKit/efl:
* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):
* WebCoreSupport/InspectorClientEfl.h:
(InspectorClientEfl):
* WebCoreSupport/PageClientEfl.h:
(PageClientEfl):
* WebCoreSupport/VibrationClientEfl.h:
(VibrationClientEfl):
Source/WebKit2:
* WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::WebFrameNetworkingContext):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Fri, 13 Jul 2012 11:16:50 +0000 (11:16 +0000)]
[Chromium] Fix bugs in HarfBuzzShaper
https://bugs.webkit.org/show_bug.cgi?id=90951
Reviewed by Tony Chang.
Source/WebCore:
The current implementation has following problems:
- Cannot render RTL text if the TextRun is divided into more than two
HarfBuzzRun.
- Script handling in TextRun partitioning is incorrect.
- Inaccurate calculation of selection rect.
- Wrong rendering position when the first glyph of the TextRun have
non-zero offsets in terms of HarfBuzz.
To fix these problems I rewrote HarfBuzzShaper class. Here is the summary:
- Divide the whole range of TextRun first, then shape them in visual
order.
- Divide TextRun in the same way of old-harfbuzz's
hb_utf16_script_run_next().
- Prefer float than int when calculating selection.
- Adjust the drawing point after shaping.
Added tests covers the fix except for the last problem. The last problem will be covered
by fast/text/international/complex-joining-using-gpos.html after chromium linux port switches
to use HarfBuzzShaper.
Tests: fast/text/shaping/shaping-script-order.html
fast/text/shaping/shaping-selection-rect.html
* platform/graphics/harfbuzz/FontHarfBuzz.cpp:
(WebCore::Font::drawComplexText): Adjusts point after shaping.
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
(WebCore):
(WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Added.
(WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndAdvance): Offsets are no longer needed.
(WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset): Calculates character offset based on advance.
(WebCore::normalizeCharacters): Added.
(WebCore::HarfBuzzShaper::HarfBuzzShaper):
(WebCore::HarfBuzzShaper::~HarfBuzzShaper):
(WebCore::HarfBuzzShaper::shape): Divides TextRun first, then shapes them.
(WebCore::HarfBuzzShaper::adjustStartPoint): Added.
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns): Added.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Added.
(WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Followed other changes.
(WebCore::HarfBuzzShaper::selectionRect): Use float for calculating selection.
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
(HarfBuzzShaper): Holds the start index of character. Removed unnecessary variables.
(WebCore::HarfBuzzShaper::HarfBuzzRun::create): Ditto.
(HarfBuzzRun):
(WebCore::HarfBuzzShaper::HarfBuzzRun::fontData): Added.
(WebCore::HarfBuzzShaper::HarfBuzzRun::startIndex): Ditto.
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphs): Ditto.
(WebCore::HarfBuzzShaper::HarfBuzzRun::advances): Ditto.
LayoutTests:
Add tests for harfbuzz-ng shaper. I tried to use -expected.html style expectations,
but it didn't work because there are very slight difference between CoreText and HarfBuzz in
rendering result.
* fast/text/shaping/shaping-script-order.html: Added.
* fast/text/shaping/shaping-selection-rect.html: Added.
* platform/chromium/TestExpectations: Need rebaseline.
* platform/efl/TestExpectations: Skip added tests because the port doesn't use harfbuzz.
* platform/gtk/TestExpectations: Ditto.
* platform/mac/TestExpectations: Ditto.
* platform/qt/TestExpectations: Ditto.
* platform/win/Skipped: Ditto.
* platform/wincairo/Skipped: Ditto.
* platform/wk2/Skipped: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 13 Jul 2012 11:03:08 +0000 (11:03 +0000)]
Unreviewed, rolling out r122545.
http://trac.webkit.org/changeset/122545
https://bugs.webkit.org/show_bug.cgi?id=91185
We found that this was a wrong fix
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 13 Jul 2012 11:01:35 +0000 (11:01 +0000)]
Unreviewed, rolling out r122553.
http://trac.webkit.org/changeset/122553
https://bugs.webkit.org/show_bug.cgi?id=91198
We found that this was a wrong fix
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122560
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tkent@chromium.org [Fri, 13 Jul 2012 10:59:59 +0000 (10:59 +0000)]
Change the timing of form state restore
https://bugs.webkit.org/show_bug.cgi?id=89962
Reviewed by Hajime Morita.
For a preparation to fix a form identification problem (Bug 91209),
restore controls states when the parsing of their owner forms is
completed. For controls without owners, their states are restored when
their parsing is completed as ever.
No new tests. This doesn't change observable behavior.
* html/FormController.cpp:
(WebCore::ownerFormForState):
Added. This code was used in formKey(), and restoreControlState*() use it.
(WebCore::FormKeyGenerator::formKey): Use ownerFormForState(). No behavior change.
(WebCore::FormController::restoreControlStateFor):
Moved some code from HTMLFormControlElementWithState::finishParsingChildren().
The difference is we don't resotre state if this control is owned by a form.
(WebCore::FormController::restoreControlStateIn):
Restore states of associated controls. This is called from
finishParsingChildren() for <form>.
* html/FormController.h:
(FormController):
- Declare restoreControlStateFor() and restoreControlStateIn().
- Make takeStateForFormElement() private.
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::isFormControlElementWithState):
Added. The default implementation returns false.
* html/FormAssociatedElement.h:
(FormAssociatedElement):
Added isFormControlElementWithState() for FormController::restoreControlStateIn().
* html/HTMLFormControlElementWithState.cpp:
(WebCore::HTMLFormControlElementWithState::finishParsingChildren):
Some code was moved to FormController:restoreControlStateFor().
(WebCore::HTMLFormControlElementWithState::isFormControlElementWithState):
Added. Returns true.
* html/HTMLFormControlElementWithState.h:
(HTMLFormControlElementWithState): Declare isFormControlElementWithState().
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::finishParsingChildren):
Added. Calls FormController::restoreControlStateIn().
* html/HTMLFormElement.h:
(HTMLFormElement): Declare finishParsingChildren().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tkent@chromium.org [Fri, 13 Jul 2012 10:35:57 +0000 (10:35 +0000)]
Make calendar pickers testable
https://bugs.webkit.org/show_bug.cgi?id=84827
Reviewed by Hajime Morita.
Source/WebCore:
WebCore:
- Add PagePopupDriver, an interface to open/close a PagePopup.
- Add setPagePopupDriver() to ChromeClient in order to inject a
PagePopupDriver for testing.
Internals:
Add MockPagePopupDriver, which creates a MockPagePopup, which creates a
normal <iframe> in the top-level document, and load the popup content on
it. MockPagePopupDriver is enabled by
internals.settings.setEnableMockPagePopup(true).
Test: fast/forms/date/calendar-picker-appearance.html
* WebCore.gypi: Add new files.
* WebCore.xcodeproj/project.pbxproj: Add files to make this buildable.
* page/ChromeClient.h:
(ChromeClient): Add function for PagePopupDriver.
* loader/EmptyClients.h: Add empty implementations for PagePopupDriver functions.
* page/PagePopupDriver.h: Added.
(PagePopupDriver):
(WebCore::PagePopupDriver::~PagePopupDriver):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::restoreTo): Reset the mock PagePopupDriver.
(WebCore::InternalSettings::setEnableMockPagePopup):
Register MockPagePopupDriver to ChromeClient.
* testing/InternalSettings.h:
(InternalSettings): Declare setEnableMockPagePopup().
* testing/InternalSettings.idl: ditto.
* testing/MockPagePopupDriver.cpp: Added.
(MockPagePopup): Pseudo PagePopup implementation with the standard <iframe>.
(WebCore::MockPagePopupDriver::MockPagePopupDriver): Added.
(WebCore::MockPagePopupDriver::create): Added.
(WebCore::MockPagePopupDriver::~MockPagePopupDriver): Added.
(WebCore::MockPagePopupDriver::openPagePopup):
Added. An override of PagePopupDriver function. This creates a MockPagePopup.
(WebCore::MockPagePopupDriver::closePagePopup):
Added. An override of PagePopupDriver function. This deletes the MockPagePopup.
* testing/MockPagePopupDriver.h:
(MockPagePopupDriver): Added.
* testing/v8/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectPagePopupController):
Added. Production code uses per-Page context feature framework. However
MockPagePopup uses the same page as the host page. So we can't use the
framework and need to inject window.pagePopupController manually.
* testing/v8/WebCoreTestSupport.h:
(WebCoreTestSupport): Add injectPagePopupController().
Source/WebKit/chromium:
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::ChromeClientImpl):
Initialize m_pagePopupDriver with the WebViewImpl.
(WebKit::ChromeClientImpl::openPagePopup):
Just calls PagePoupDriver::openPagePopup().
(WebKit::ChromeClientImpl::closePagePopup):
Just calls PagePoupDriver::closePagePopup().
(WebKit::ChromeClientImpl::setPagePopupDriver):
* src/ChromeClientImpl.h:
(ChromeClientImpl): Add setPagePopupDriver
* src/WebViewImpl.h:
(WebViewImpl):
WebViewImpl implements PagePopupDriver. openPagePopup() and
closePagePopup() override members of PagePopupDriver.
LayoutTests:
* fast/forms/date/calendar-picker-appearance-expected.txt: Added.
* fast/forms/date/calendar-picker-appearance.html: Added.
* platform/chromium-mac-snowleopard/fast/forms/date/calendar-picker-appearance-expected.png: Added.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Fri, 13 Jul 2012 10:21:04 +0000 (10:21 +0000)]
Web Inspector: mute the native looks of the selects in the console.
https://bugs.webkit.org/show_bug.cgi?id=91120
Reviewed by Vsevolod Vlasov.
This is necessary for Mac now that we don't use border images for select.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.get statusBarItems):
(WebInspector.ConsoleView.prototype.addContext):
(WebInspector.ConsoleView.prototype.removeContext):
(WebInspector.ConsoleView.prototype._updateIsolatedWorldSelector):
(WebInspector.ConsoleView.prototype._appendIsolatedContextOption):
(WebInspector.ConsoleView.prototype._currentEvaluationContext):
(WebInspector.ConsoleView.prototype._currentIsolatedContextId):
* inspector/front-end/StatusBarButton.js:
(WebInspector.StatusBarComboBox):
(WebInspector.StatusBarComboBox.prototype.addOption):
(WebInspector.StatusBarComboBox.prototype.removeOption):
(WebInspector.StatusBarComboBox.prototype.removeOptions):
(WebInspector.StatusBarComboBox.prototype.selectedOption):
* inspector/front-end/inspector.css:
(.status-bar-select-container):
(select.status-bar-item):
(.console-context):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 10:01:38 +0000 (10:01 +0000)]
[CSS Regions] Fix the lifecycle for the flow objects and their renderers
https://bugs.webkit.org/show_bug.cgi?id=89000
Patch by Andrei Bucur <abucur@adobe.com> on 2012-07-13
Reviewed by Eric Seidel.
Source/WebCore:
This patch adds the concept of a NamedFlowCollection, owned by the document, that keeps track of
all the named flows that exist in the Document. This collection contains a ListHashSet of weak references to
all the existing NamedFlows in the document. This is not a managed set because the CREATED flows are referenced from the renderer and
the NULL flows are only cached, they should be destructible.
Two named flows are considered to be equal if they have the same name.
I've changed the NamedFlow state to depend on the existence of its renderer. A flow thread that has a renderer will also have a NamedFlow object.
A flow thread without a renderer can have a NamedFlow object, but only in the NULL state. It's possible for a NamedFlow object to jump from the
NULL state to the CREATED state if it was not destroyed (e.g. it was referenced from JS). Keeping track of the NULL state flows that have listeners will be important
so when they go back to the CREATED state, the listeners would still be there.
Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-
20120503/
Tests: The old tests have been modified to take into account the new behavior
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore):
(WebCore::Document::webkitGetFlowByName):
(WebCore::Document::namedFlows):
* dom/Document.h:
(WebCore):
(Document):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
(WebCore::WebKitNamedFlow::~WebKitNamedFlow):
(WebCore::WebKitNamedFlow::create):
(WebCore):
(WebCore::WebKitNamedFlow::name):
(WebCore::WebKitNamedFlow::overset):
(WebCore::nodeInFlowThread):
(WebCore::WebKitNamedFlow::getRegionsByContentNode):
(WebCore::WebKitNamedFlow::getContent):
(WebCore::WebKitNamedFlow::setRenderer):
* dom/WebKitNamedFlow.h:
(WebCore):
(WebKitNamedFlow):
(WebCore::WebKitNamedFlow::getFlowState):
(WebCore::WebKitNamedFlow::switchFlowState):
* dom/WebKitNamedFlowCollection.cpp: Added.
(WebCore):
(WebCore::WebKitNamedFlowCollection::WebKitNamedFlowCollection):
(WebCore::WebKitNamedFlowCollection::length): An O(1) operation
(WebCore::WebKitNamedFlowCollection::item): An O(N) operation
(WebCore::WebKitNamedFlowCollection::flowByName): An O(1) operation
(WebCore::WebKitNamedFlowCollection::ensureNamedFlowInCreatedState): An O(1) operation
(WebCore::WebKitNamedFlowCollection::moveNamedFlowToNullState): An O(1) operation
(WebCore::WebKitNamedFlowCollection::discardNamedFlow): An O(1) operation
(WebCore::WebKitNamedFlowCollection::documentDestroyed):
(WebCore::WebKitNamedFlowCollection::NamedFlowHashFunctions::hash):
(WebCore::WebKitNamedFlowCollection::NamedFlowHashFunctions::equal):
(WebKitNamedFlowCollection::NamedFlowHashFunctions):
(WebCore::WebKitNamedFlowCollection::NamedFlowHashTranslator::hash):
(WebCore::WebKitNamedFlowCollection::NamedFlowHashTranslator::equal):
* dom/WebKitNamedFlowCollection.h: Copied from Source/WebCore/dom/WebKitNamedFlow.h.
(WebCore):
(WebKitNamedFlowCollection):
(WebCore::WebKitNamedFlowCollection::create):
(WebCore::WebKitNamedFlowCollection::document):
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
(WebCore::FlowThreadController::removeFlowThread):
(WebCore):
* rendering/FlowThreadController.h:
(FlowThreadController):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore):
(WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
(WebCore::RenderNamedFlowThread::flowThreadName):
(WebCore::RenderNamedFlowThread::willBeDestroyed):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::contentNodes):
(WebCore::RenderNamedFlowThread::canBeDestroyed):
LayoutTests:
These tests expected getFlowByName() to return a valid object even for the NULL flows. They've been modified to
reflect the new behavior.
* fast/regions/get-regions-by-content-node2-expected.txt:
* fast/regions/get-regions-by-content-node2.html:
* fast/regions/webkit-named-flow-flow-added.html:
* fast/regions/webkit-named-flow-get-content-expected.txt:
* fast/regions/webkit-named-flow-get-content.html:
* fast/regions/webkit-named-flow-invalid-name.html:
* fast/regions/webkit-named-flow-modified-flow.html:
* fast/regions/webkit-named-flow-non-existing-flow.html:
* fast/regions/webkit-named-flow-removed-flow.html:
* platform/chromium-win/fast/regions/region-style-block-background-color2-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122556
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 09:38:50 +0000 (09:38 +0000)]
[V8Bindings] Implement generalised method to validates that the passed object is a sequence type.
https://bugs.webkit.org/show_bug.cgi?id=91056
Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-07-13
Reviewed by Kentaro Hara.
Currently the V8 implementation validates that the passed object is a sequence type only
for MessagePort in V8Utilities::extractTransferables().
There should be generalised method for other types too.
Spec URL: http://www.w3.org/TR/2012/WD-WebIDL-
20120207/#es-sequence
No new test, Just refactoring. There should be no behavioral changes.
* bindings/v8/V8Binding.h:
(WebCore::toV8Sequence): Added implementation of toV8Sequence().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zeno.albisser@nokia.com [Fri, 13 Jul 2012 09:20:49 +0000 (09:20 +0000)]
[Qt][WK2] Implement GraphicsSurface for Linux/GLX.
https://bugs.webkit.org/show_bug.cgi?id=90881
Source/WebCore:
Add a GLX based GraphicsSurface implementation for Linux.
Native X windows are being used for exchanging textures
with the UIProcess.
Reviewed by Noam Rosenthal.
* Target.pri:
* WebCore.pri:
* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::create):
Move creating GraphicsSurface instance into
platformCreate/platformImport functions to allow
platform specific creation based on the provided flags.
(WebCore::GraphicsSurface::GraphicsSurface):
(WebCore::GraphicsSurface::~GraphicsSurface):
Call platformDestroy when destroying a GraphicsSurface.
(WebCore):
* platform/graphics/surfaces/GraphicsSurface.h:
Make platformCreate/platformImport functions static
to be able to call these from the static create function.
Add Destructor prototype and add GraphicsSurfacePrivate member.
(WebCore):
(GraphicsSurface):
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
Insert creation of GraphicsSurface instance.
This allows having a platform specific creation mechanism
for GLX.
* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: Added.
(WebCore):
(OffScreenRootWindow):
(WebCore::OffScreenRootWindow::OffScreenRootWindow):
(WebCore::OffScreenRootWindow::get):
(WebCore::OffScreenRootWindow::~OffScreenRootWindow):
Add an OffScreenRootWindow singelton that is being used
as a parent for all native offscreen windows.
(GraphicsSurfacePrivate):
This class is used to manage all the X related resources
such as opening a display or creating XPixmaps etc.
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
Open a connection to the X server and create a
QOpenGLContext that can be used to resolve GL functions.
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
Properly cleanup and release all the X resources again.
(WebCore::GraphicsSurfacePrivate::createSurface):
Create a surface that is placed off screen and can be
used as a rendering target by the WebProcess.
(WebCore::GraphicsSurfacePrivate::createPixmap):
Create a GLXPixmap from the XWindow that was previously
redirected by the WebProcess. This GLXPixmap can then be
bound to a texture and being painted on screen by the
UIProcess.
(WebCore::GraphicsSurfacePrivate::makeCurrent):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::display):
(WebCore::GraphicsSurfacePrivate::glxPixmap):
(WebCore::GraphicsSurfacePrivate::size):
(WebCore::GraphicsSurfacePrivate::glContext):
(WebCore::resolveGLMethods):
Initialize all the function pointers for the GL functions used.
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformGetTextureID):
Bind the GLXPixmap to a texture.
(WebCore::GraphicsSurface::platformCopyToGLTexture):
Not beeing implemented for GLX.
(WebCore::GraphicsSurface::platformCopyFromFramebuffer):
Blit origin fbo onto the GraphicsSurface's backing.
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
(WebCore::GraphicsSurface::platformLock):
(WebCore::GraphicsSurface::platformUnlock):
(WebCore::GraphicsSurface::platformDestroy):
Source/WebKit2:
Add a GLX based GraphicsSurface implementation for Linux.
Reviewed by Noam Rosenthal.
* Shared/ShareableSurface.cpp:
(WebKit::ShareableSurface::create):
Only create a GraphicsSurface from a ShareableSurface::Handle
in case the Handle contains a valid GraphicsSurface token.
Otherwise fall back to creating a ShareableBitmap.
* UIProcess/LayerTreeCoordinatorProxy.cpp:
(WebKit::createLayerTileUniqueKey):
Create a unique key for a surface based on tileID and layerID.
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
Even when GraphicsSurface is enabled, not all ShareableSurfaces
will necessarily be backed by a GraphicsSurface. In case of
a ShareableSurface being backed by a ShareableBitmap instead,
the GraphicsSurface token will always be null.
So instead of using the GraphicsSurface token as a key for
storing surfaces in a map, we create a unique key from
layerID and tileID.
* UIProcess/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
Tools:
Enable GraphicsSurface for Linux based platforms
whenever the Xcomposite extension is available.
Reviewed by Noam Rosenthal.
* qmake/config.tests/libXcomposite/libXcomposite.cpp: Added.
(main):
* qmake/config.tests/libXcomposite/libXcomposite.pro: Added.
Add a configure test to detect Xcomposite extension and
activate GraphicsSurface on linux in case the extension is available.
* qmake/configure.pri:
* qmake/mkspecs/features/features.prf:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 09:05:21 +0000 (09:05 +0000)]
CodeGeneratorJS.pm : SetterExpression should use 'push' rather than 'unshift'
https://bugs.webkit.org/show_bug.cgi?id=91198
Patch by Dongwoo Im <dw.im@samsung.com> on 2012-07-13
Reviewed by Kentaro Hara.
'SetterExpression' should use 'push' to make arguments, rather than 'unshift'.
No new tests. Covered by existing tests.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yosin@chromium.org [Fri, 13 Jul 2012 08:56:10 +0000 (08:56 +0000)]
REGRESSION(r119948): [Forms] Spin button Up/Down actions make value to zero for input type "number" when step mismatched
https://bugs.webkit.org/show_bug.cgi?id=91197
Reviewed by Kent Tamura.
Source/WebCore:
This patch fixes implementation of Decimal::ceiling() and floor().
They return wrong value for small fractional numbers.
The bug is occurred when:
- Step-able input type, e.g. number, date, datetime, and so on.
- Current value is step mismatched
- Current value is smaller than step
- Step up/down by spin button
because spin button up/down actions are implemented in InputType::setpUpFromRenderer
which calls Decimal::ceiling() and floor() for step mismatched case.
Tests: fast/forms/number/number-stepup-stepdown-from-renderer.html: Added test cases
WebKit/chromium/tests/DecimalTest.cpp: Added test cases
* platform/Decimal.cpp:
(WebCore::Decimal::ceiling): Changed to return 1 for positive small fractional number.
(WebCore::Decimal::floor): Changed to return -1 for negative small fractional number.
Source/WebKit/chromium:
This patch adds test cases for Decimal::ceiling() and floor() of
positive/negative small fractional numbers.
* tests/DecimalTest.cpp:
(TEST_F):
LayoutTests:
This patch adds new test cases.
* fast/forms/number/number-stepup-stepdown-from-renderer-expected.txt: Updated for new test cases.
* fast/forms/number/number-stepup-stepdown-from-renderer.html: Added new test cases.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dgrogan@chromium.org [Fri, 13 Jul 2012 08:23:18 +0000 (08:23 +0000)]
nrwt: don't choke when printing invalid utf-8 to stderr
https://bugs.webkit.org/show_bug.cgi?id=91181
Reviewed by Dirk Pranke.
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_stderr):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122551
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dmazzoni@google.com [Fri, 13 Jul 2012 08:06:58 +0000 (08:06 +0000)]
Should be possible to focus elements within canvas fallback content
https://bugs.webkit.org/show_bug.cgi?id=87898
Reviewed by Chris Fleizach.
Source/WebCore:
Patches isFocusable in dom/Node.cpp and html/HTMLFormControlElement.cpp
to make elements focusable if they're a descendent of a canvas element
if they would otherwise have been focusable but just didn't have
a renderer. Adds a bit to ElementRareData to efficiently keep track
of elements in a canvas subtree.
Test: fast/canvas/fallback-content.html
* dom/Element.cpp:
(WebCore::Element::attach):
(WebCore::Element::detach):
(WebCore::Element::setIsInCanvasSubtree):
(WebCore):
(WebCore::Element::isInCanvasSubtree):
* dom/Element.h:
(Element):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::isFocusable):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::attach):
(WebCore):
* html/HTMLCanvasElement.h:
(HTMLCanvasElement):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isFocusable):
LayoutTests:
* fast/canvas/fallback-content-expected.txt: Added.
* fast/canvas/fallback-content.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Fri, 13 Jul 2012 07:45:09 +0000 (07:45 +0000)]
Unreviewed inspector test fix.
* http/tests/inspector/network/resources/style.css: Added.
(body):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 13 Jul 2012 07:39:36 +0000 (07:39 +0000)]
test-webkitpy: more class renaming cleanup
https://bugs.webkit.org/show_bug.cgi?id=91182
Reviewed by Adam Barth.
More removing of the unnecessary "Test" prefix.
* Scripts/webkitpy/test/finder.py:
(_DirectoryTree):
(Finder.add_tree):
* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
* Scripts/webkitpy/test/runner.py:
(Runner):
* Scripts/webkitpy/test/runner_unittest.py:
(RunnerTest.test_regular):
(RunnerTest.test_verbose):
(RunnerTest.test_timing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122548
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 13 Jul 2012 07:26:17 +0000 (07:26 +0000)]
[GTK] Add API to get HTTPS status to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=91100
Reviewed by Martin Robinson.
Source/WebCore:
* platform/network/soup/ResourceResponse.h:
(WebCore::ResourceResponse::soupMessageCertificate): Return the
certificate.
(WebCore::ResourceResponse::setSoupMessageCertificate): Set a
certificate.
(WebCore::ResourceResponse::soupMessageTLSErrors): Return the TLS
errors.
(WebCore::ResourceResponse::setSoupMessageTLSErrors): Set TLS
errors.
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::toSoupMessage): Set the certificate
and TLS errors to the newly created SoupMessage.
(WebCore::ResourceResponse::updateFromSoupMessage): Get the
certificate and TLS errors from the SoupMessage.
Source/WebKit2:
Add webkit_uri_response_get_https_status() to return
GTlsCertificate and GTlsCertificateFlags with information about
the SSL certificate and the possible errors with the certificate.
* GNUmakefile.list.am: Add new files to compilation.
* PlatformEfl.cmake: Ditto.
* Shared/efl/PlatformCertificateInfo.h: Removed.
* Shared/soup/PlatformCertificateInfo.cpp: Added.
(WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
(WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
(WebKit::PlatformCertificateInfo::encode): Encode the
GTlsCertificate and GTlsCertificateFlags.
(WebKit::PlatformCertificateInfo::decode): Decode
PlatformCertificateInfo into a GTlsCertificate and GTlsCertificateFlags.
* Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebKit2/Shared/gtk/PlatformCertificateInfo.h.
(WebKit::PlatformCertificateInfo::certificate): Return the certificate.
(WebKit::PlatformCertificateInfo::tlsErrors): Return the TLS errors
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didCommitLoadForFrame): Set the certificate of the current frame
to the response of the main resource.
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkit_uri_response_get_https_status): Return GTlsCertificate and
GTlsCertificateFlags.
(webkitURIResponseSetCertificateInfo): Update the internal
ResourceResponse with the GTlsCertificate and GTlsCertificateFlags
of the given PlatformCertificateInfo.
* UIProcess/API/gtk/WebKitURIResponse.h:
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestMain.h:
(Test::getResourcesDir): Helper function to get the resources
directory of the WebKit2 API tests.
* UIProcess/API/gtk/tests/TestSSL.cpp: Added.
(testSSL):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer): Add support por SSL test
servers.
* UIProcess/API/gtk/tests/WebKitTestServer.h:
(WebKitTestServer): Add ssl parameter to create a HTTPS server.
* UIProcess/API/gtk/tests/resources/test-cert.pem: Added.
* UIProcess/API/gtk/tests/resources/test-key.pem: Added.
Source/WTF:
Add support for GByteArray.
* wtf/gobject/GRefPtr.cpp:
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 13 Jul 2012 07:20:49 +0000 (07:20 +0000)]
RadioNodeList is not updated upon input type change
https://bugs.webkit.org/show_bug.cgi?id=91178
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Invalidate the radio node lists when type content attribute changes since it excludes
image type input elements.
Test: fast/forms/radionodelist-image-type.html
* dom/Document.cpp:
(WebCore::shouldInvalidateNodeListForType):
* dom/Document.h: Renamed InvalidateOnIdNameForAttrChange to InvalidateOnFormAttrChange
since listing all attribute name isn't useful at this point.
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
LayoutTests:
Add a regression test.
* fast/forms/radionodelist-image-type-expected.txt: Added.
* fast/forms/radionodelist-image-type.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 06:50:15 +0000 (06:50 +0000)]
CodeGeneratorJS.pm need to handle the attribute which has "CallWith=ScriptExecutionContext" option.
https://bugs.webkit.org/show_bug.cgi?id=91185
Patch by Dongwoo Im <dw.im@samsung.com> on 2012-07-12
Reviewed by Kentaro Hara.
When an attribute has "CallWith=ScriptExecutionContext" option, 'ScriptExecutionContext*' parameter should be the last parameter.
No new tests. Covered by existing tests.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 13 Jul 2012 06:41:18 +0000 (06:41 +0000)]
DFG property access stubs should use structure transition watchpoints
https://bugs.webkit.org/show_bug.cgi?id=91135
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This adds a Watchpoint subclass that will clear a structure stub (i.e.
a property access stub) when fired. The DFG stub generation code now
uses this optimization.
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::resetStub):
(JSC::CodeBlock::resetStubInternal):
* bytecode/CodeBlock.h:
(JSC):
(CodeBlock):
* bytecode/StructureStubClearingWatchpoint.cpp: Added.
(JSC):
(JSC::StructureStubClearingWatchpoint::~StructureStubClearingWatchpoint):
(JSC::StructureStubClearingWatchpoint::push):
(JSC::StructureStubClearingWatchpoint::fireInternal):
(JSC::WatchpointsOnStructureStubInfo::~WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint):
* bytecode/StructureStubClearingWatchpoint.h: Added.
(JSC):
(StructureStubClearingWatchpoint):
(JSC::StructureStubClearingWatchpoint::StructureStubClearingWatchpoint):
(WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::codeBlock):
(JSC::WatchpointsOnStructureStubInfo::stubInfo):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::addWatchpoint):
(StructureStubInfo):
* dfg/DFGRepatch.cpp:
(JSC::DFG::addStructureTransitionCheck):
(DFG):
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::emitPutTransitionStub):
* jit/JumpReplacementWatchpoint.h:
LayoutTests:
* fast/js/dfg-proto-stub-watchpoint-fire-expected.txt: Added.
* fast/js/dfg-proto-stub-watchpoint-fire.html: Added.
* fast/js/script-tests/dfg-proto-stub-watchpoint-fire.js: Added.
(A):
(B):
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yosin@chromium.org [Fri, 13 Jul 2012 05:49:53 +0000 (05:49 +0000)]
REGRESSION(r117738): [Forms] stepMismatch for input type "time" with large step value always return false.
https://bugs.webkit.org/show_bug.cgi?id=91062
Reviewed by Kent Tamura.
This patch changes value of StepRange::acceptableError to zero for
integer restricted step value.
No new tests, existing test covers (fast/forms/time/ValidityState-stepMismatch-time.html) this change although they are listed in TestExpectation file.
* html/StepRange.cpp:
(WebCore::StepRange::acceptableError): Changed to return 0 if step value is restricted to be an integer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 13 Jul 2012 05:39:31 +0000 (05:39 +0000)]
[WK2][EFL] Facilitate debugging of the Web Process
https://bugs.webkit.org/show_bug.cgi?id=90768
Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-12
Reviewed by Kenneth Rohde Christiansen.
Source/WebKit2:
The EFL port now checks if the WEB_PROCESS_CMD_PREFIX
environment variable is set and uses it as prefix
when spawning the Web process if it is. This is used
for debugging purposes with prefixes such as:
"xterm -title renderer -e gdb --args".
* UIProcess/Launcher/ProcessLauncher.h:
(LaunchOptions):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connect):
Tools:
Add a new --webprocess-cmd-prefix argument to
run-webkit-tests script for EFL port. If provided,
the prefix will be prepended to the command used
to spawn the Web process. This can be used for
debugging purposes with prefixes such as:
"xterm -title renderer -e gdb --args".
* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.__init__):
(EflPort.setup_environ_for_server):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* WebKitTestRunner/efl/TestControllerEfl.cpp:
(WTR::TestController::platformRunUntil): Implement support for
m_noTimeout timeout value.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 13 Jul 2012 05:31:05 +0000 (05:31 +0000)]
DFG CFA may get overzealous in loops that have code that must exit
https://bugs.webkit.org/show_bug.cgi?id=91188
Source/JavaScriptCore:
Reviewed by Gavin Barraclough.
Ensure that if the CFA assumes that an operation must exit, then it will always exit
no matter what happens after. That's necessary to preserve soundness.
Remove a broken fixup done by the DFG simplifier, where it was trying to say that the
variable-at-head was the first access in the second block in the merge, if the first
block did not read the variable. That's totally wrong, if the first block was in fact
doing a phantom read. I removed that fixup and instead hardened the rest of the
compiler.
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::BasicBlock):
(BasicBlock):
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::ConstantFoldingPhase):
(JSC::DFG::ConstantFoldingPhase::run):
(ConstantFoldingPhase):
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
* dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
LayoutTests:
Reviewed by Gavin Baraclough.
* fast/js/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop-expected.txt: Added.
* fast/js/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop.html: Added.
* fast/js/script-tests/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop.js: Added.
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 13 Jul 2012 05:08:23 +0000 (05:08 +0000)]
Fix crash in the commit-queue. We need to initialize self.port during __init__.
* Scripts/webkitpy/tool/commands/queues.py:
(CommitQueue.__init__):
(CommitQueue.begin_work_queue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 13 Jul 2012 04:31:56 +0000 (04:31 +0000)]
Pass an option flag to CFStringGetHyphenationLocationBeforeIndex() that tells it to not
terminate the search at the last word boundary before the given index.
Reviewed by Adele Peterson.
No test, because the current version of Core Foundation ignores the options parameter.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::lastHyphenLocation): Changed the options parameter from 0 to 1.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 13 Jul 2012 02:12:21 +0000 (02:12 +0000)]
Incorrect behaviour calling Range setStart or setEnd with boundary in different document
https://bugs.webkit.org/show_bug.cgi?id=42517
Reviewed by Ojan Vafai.
Source/WebCore:
Added a new static inline "checkForDifferentRootContainer" to share some code
and made setStart/setEnd do the right thing in the x-document case. I removed
the bogus checks in set*After/set*Before functions, and since they just call
through to setStart/setEnd, they also now do the right thing.
Test: fast/dom/Range/set-wrong-document-err.html
* dom/Range.cpp:
(WebCore::checkForDifferentRootContainer):
(WebCore):
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::setStartBefore):
LayoutTests:
Add a new test to cover this changed behavior, and correct a FIXME in an old test
which was documenting our incorrect behavior.
* fast/dom/Range/set-wrong-document-err-expected.txt: Added.
* fast/dom/Range/set-wrong-document-err.html: Added.
* fast/dom/move-nodes-across-documents.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 13 Jul 2012 02:01:09 +0000 (02:01 +0000)]
test-webkitpy: rename test_finder to finder
https://bugs.webkit.org/show_bug.cgi?id=91175
Reviewed by Adam Barth.
Rename test_finder -> finder, TestFinder -> Finder to remove
some of the stutter in the names.
* Scripts/webkitpy/test/finder.py: Renamed from Tools/Scripts/webkitpy/test/test_finder.py.
* Scripts/webkitpy/test/finder_unittest.py: Renamed from Tools/Scripts/webkitpy/test/test_finder_unittest.py.
* Scripts/webkitpy/test/main.py:
(Tester.__init__):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
arv@chromium.org [Fri, 13 Jul 2012 01:53:17 +0000 (01:53 +0000)]
[V8] Simplify CodeGeneratorV8 since V8OnProto is only true for DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=91165
Reviewed by Nate Chapin.
The old code was dead code since V8OnProto only ever gets set to 1 for DOMWindow.
No new tests. No change in functionality.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetter):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 13 Jul 2012 01:26:53 +0000 (01:26 +0000)]
CommitQueue is confused about what port it is using
https://bugs.webkit.org/show_bug.cgi?id=91040
Reviewed by Dirk Pranke.
On EC2, we explicitly pass --port to the commit-queue, but that
requires editing the start-queue.sh script locally on each bot. In
moving to Google Compute Engine, we're try to avoid any local edits to
the EWSTools.
Rather than passing --port to the commit-queue, this patch teaches the
CommitQueue which port its running, which is the approach we use for
the EWS bots.
Mutating tool._deprecated_port is a bit ugly, but it's what we're doing
currently for the EWS bots.
* Scripts/webkitpy/tool/commands/queues.py:
(CommitQueue):
(CommitQueue.begin_work_queue):
(CommitQueue.run_command):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(CommitQueueTest.test_commit_queue):
(mock_run_webkit_patch):
(test_rollout):
(test_rollout_lands):
(test_manual_reject_during_processing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 13 Jul 2012 00:34:26 +0000 (00:34 +0000)]
Build fix. Initialize unused const member variables to make compilers happy.
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kpiascik@rim.com [Fri, 13 Jul 2012 00:29:03 +0000 (00:29 +0000)]
Web Inspector: Geolocation override
https://bugs.webkit.org/show_bug.cgi?id=89365
Source/WebCore:
Reviewed by Pavel Feldman.
Reverted original patch.
Change has not been reviewed by the right people. It declares
public protocol methods and is wrong in several ways.
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::positionChanged):
* Modules/geolocation/GeolocationController.h:
(GeolocationController):
* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
* inspector/front-end/UserAgentSupport.js:
LayoutTests:
Reviewed by Pavel Feldman.
Change has not been reviewed by the right people. It declares
public protocol methods and is wrong in several ways.
Reverted original patch.
* inspector/geolocation-error-expected.txt: Removed.
* inspector/geolocation-error.html: Removed.
* inspector/geolocation-success-expected.txt: Removed.
* inspector/geolocation-success.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 13 Jul 2012 00:20:46 +0000 (00:20 +0000)]
Move m_type and m_hasNameCache from HTMLCollectionCacheBase to DynamicNodeListCacheBase for better bit packing
https://bugs.webkit.org/show_bug.cgi?id=91164
Reviewed by Anders Carlsson.
Moved m_type and m_hasNameCache from HTMLCollection and renamed them to m_collectionType and m_isNameCacheValid.
Also renamed shouldIncludeChildren to shouldOnlyIncludeDirectChildren and negated the return value since
all HTMLCollection include children in the collection and the function was meant to tell us whether the collection
should include descendents that are not direct children of base().
In addition, renamed nextNodeOrSibling to nextNode since "or sibling" doesn't seem to add any semantic clarity.
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
(DynamicNodeListCacheBase):
(WebCore::DynamicNodeListCacheBase::type):
(WebCore::DynamicNodeListCacheBase::hasNameCache):
(WebCore::DynamicNodeListCacheBase::setHasNameCache):
(WebCore::DynamicNodeListCacheBase::clearCache):
* html/HTMLCollection.cpp:
(WebCore::shouldOnlyIncludeDirectChildren):
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::isAcceptableElement):
(WebCore::nextNode):
(WebCore::HTMLCollection::itemAfter):
* html/HTMLCollection.h:
(WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
(HTMLCollectionCacheBase):
(WebCore::HTMLCollectionCacheBase::clearCache):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Fri, 13 Jul 2012 00:09:21 +0000 (00:09 +0000)]
Needs callback before AuthorShadowRoot is added.
https://bugs.webkit.org/show_bug.cgi?id=91167
Reviewed by Hajime Morita.
This is a preliminary patch for adding multiple Shadow DOM support for media elements and form elements.
They assume that UserAgentShadowRoot is the oldest, however currently a page author may try to add
AuthorShadowRoot before adding UserAgentShadowRoot.
This patch adds a callback before AuthorShadowRoot is being added, and allow us to add UserAgentShadowRoot
for those elements. See also Bug 77936, Bug 77937, Bug 90532.
* dom/Element.h:
(WebCore::Element::willAddAuthorShadowRoot):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot):
* dom/ElementShadow.h:
(ElementShadow):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Thu, 12 Jul 2012 23:38:44 +0000 (23:38 +0000)]
[chromium] Root invalidations for RTL pages need to be in the right space
https://bugs.webkit.org/show_bug.cgi?id=91155
Reviewed by Kenneth Russell.
Source/WebKit/chromium:
The root layer has a translation on it when placed in the tree, so any
invalidations on this layer likewise need to be adjusted.
This adjustment is due to the fact that compositor layers all have the
origin in the upper left corner of the layer, but this is not always
the origin for graphics layers. Rather than making compositor layers
have to deal with a potential offset, we change the transform when
inserting the layer into the tree. Invalidations need to be similarly
transformed from document space into compositor layer space.
The need for this offset is due to the definition of the initial
containing block. RTL pages (pages with dir=RTL on the body) start
scrolled all the way to the right, and the origin is in the upper left
hand corner of this initial viewport. Thus on RTL pages with
horizontal overflow, the left of the document is in negative CSS
space.
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::invalidateRect):
LayoutTests:
Add a test that demonstrates this problem. Before the code fix, the
test shows just a red square because the invalidation for the style
change repaints the wrong rect.
* compositing/rtl/rtl-overflow-invalidation-expected.png: Added.
* compositing/rtl/rtl-overflow-invalidation-expected.txt: Added.
* compositing/rtl/rtl-overflow-invalidation.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Thu, 12 Jul 2012 23:30:47 +0000 (23:30 +0000)]
[Navigation Timing] Import the W3C Navigation Timing test suite
https://bugs.webkit.org/show_bug.cgi?id=84887
Patch by James Simonsen <simonjam@chromium.org> on 2012-07-12
Reviewed by Tony Gentilcore.
Tools:
* Scripts/import-w3c-performance-wg-tests: Added.
LayoutTests:
* http/tests/resources/testharness.css: Added.
* http/tests/resources/testharness.js: Copied from LayoutTests/resources/testharness.js.
* http/tests/resources/testharnessreport.js: Copied from LayoutTests/resources/testharnessreport.js.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_open-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_open.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_readiness_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_readiness_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigate_within_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigate_within_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_redirectCount_none-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_redirectCount_none.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_backforward-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_backforward.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_enums-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_enums.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_no_previous_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_no_previous_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_readwrite-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_readwrite.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_client_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_client_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_server_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_server_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_unique_performance_objects-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_unique_performance_objects.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_open-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_open.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_readiness_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_readiness_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigate_within_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigate_within_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_redirectCount_none-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_redirectCount_none.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_backforward-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_backforward.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_enums-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_enums.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_no_previous_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_no_previous_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_readwrite-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_readwrite.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_order-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_order.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_client_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_client_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_server_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_server_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_unique_performance_objects-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_unique_performance_objects.html: Added.
* http/tests/w3c/webperf/resources/blank_page_green.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_green_with_onunload.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_meta_redirect.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_unload.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_yellow.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_yellow_with_onunload.htm: Added.
* http/tests/w3c/webperf/resources/pagevistestharness.js: Added.
* http/tests/w3c/webperf/resources/redirect.php: Added.
* http/tests/w3c/webperf/resources/webperftestharness.js: Added.
* platform/mac/Skipped: Skip new webperf tests.
* platform/win/Skipped: Ditto.
* platform/wincairo/Skipped: Ditto.
* resources/testharness.css: Added.
* resources/testharnessreport.js: Support async tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 12 Jul 2012 23:27:30 +0000 (23:27 +0000)]
Unreviewed. Nit: git config files use tabs, not spaces.
* EWSTools/cold-boot.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kseo@webkit.org [Thu, 12 Jul 2012 23:26:15 +0000 (23:26 +0000)]
Unreviewed. Add Dongsung Huang to the list of contributors. He
has submitted over 30 patches on texture mapper, canvas and image decoders.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
danakj@chromium.org [Thu, 12 Jul 2012 23:26:01 +0000 (23:26 +0000)]
[chromium] Remove the RenderPass pointer from RenderPassDrawQuad
https://bugs.webkit.org/show_bug.cgi?id=91023
Reviewed by Adrienne Walker.
Source/WebCore:
Removes the RenderPass pointer and keeps only an integer id in the
quad to refer back to the RenderPass the quad reads from.
Covered by existing tests.
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::findRenderPassById):
(WebCore):
(WebCore::removeRenderPassesRecursive):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPass):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass):
(WebCore::CCLayerTreeHostImpl::removeRenderPasses):
(WebCore::CCLayerTreeHostImpl::prepareToDraw):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(FrameData):
(CullRenderPassesWithCachedTextures):
(CullRenderPassesWithNoQuads):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
(CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):
Source/WebKit/chromium:
* tests/CCLayerTreeHostImplTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc