WebKit-https.git
8 years agoPointer Lock handles disconnected DOM elements
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

8 years ago[chromium] Unreviewed gardening. storage/indexeddb/cursor-key-order.html has starting...
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

8 years ago[BlackBerry] Implement GCActivityCallback with platform timer
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

8 years agoMove layout checking js script into LayoutTest/resources and generalize
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

8 years agoIndexedDB: Re-enable indexeddb in test_shell
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

8 years agoHTMLCollection should use DynamicNodeList's invalidation model
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

8 years agoUnreviewed GTK gardening, adding a baseline required after unskipping
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

8 years ago[chromium] Remove incorrect debug assertion in LayerRendererChromium.cpp
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

8 years agowebkitpy: make worker.start() and worker.stop() optional in the messagepool
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

8 years agoUnreviewed GTK gardening, updating baselines for the fast/backgrounds/size/zero.html
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

8 years agoRemove assert in localCoordinateSpaceTransform()
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

8 years agoNRWT doesn't print exceptions
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

8 years ago[V8] String wrappers should be marked Independent
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

8 years agoIndexedDB: Add unexpectedUpgradeNeededCallback to shared.js
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

8 years agoUnreviewed GTK gardening, removing timeout expectations for a few
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

8 years ago[EFL] Gardening failure cases on EFL build bot
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

8 years ago[Chromium] Make the v8 i18n API dependency conditional for Android, disable strict...
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

8 years agoUnreviewed GTK gardening, adding baselines and expectations required
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

8 years ago[CallWith=XXX] arguments should be placed at the head of method arguments
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

8 years agoPrettyPatch.rb complains about missing checksum for new pixel results
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

8 years agoenable TestWebKitAPI/webkit_unit_tests apk on x86 android platform by adding abi...
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

8 years ago[GTK] Gardening: update API tests skipped list
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

8 years ago[BlackBerry] Some small changes in network code
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

8 years agoWeb Inspector: Remove uiSourceCode from Resource.
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

8 years agowebkit_unit_test CCLayerTreeHostImplTest.testRemoveRenderPasses started failing.
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

8 years ago[CMake] Proper handling of ENABLE_API_TESTS build option
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

8 years agoUnreviewed, rolling out r122450 and r122580.
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

8 years ago[BlackBerry] Add support for attributes to define keyboard and enter key type on...
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

8 years agoRemove down-casting to BitmapImage in GraphicsContext::drawImage.
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

8 years ago[EFL][WK2] Make new public Ewk headers as installable
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

8 years ago[WIN] Fix compilation of DFGRepatch.cpp
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

8 years agoFix ARM_TRADITIONAL JIT for COMPILER(MSVC) and COMPILER(RVCT) after r121885
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

8 years agoUnreviewed gardening, updated chromium test expectations.
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

8 years agoAlso mark its evil twin as flaky.
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

8 years agoNote this test as flaky.
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

8 years agoUnreviewed gardening, updated test expectations.
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

8 years ago[BlackBerry] resetBitmapZoomScale called while zooming preventing pinch zoom
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

8 years agoUnreviewed chromium gardening, updated test expectations.
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

8 years ago[BlackBerry] Use fillBuffer() instead of a user-defined background image.
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

8 years agoFix QtWebKit build with OpenGLES after GC3D/E3D refactor
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

8 years agoUnreviewed gardening, marked chromium test as flaky.
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

8 years agoForm of FormAssociatedElement is not updated when id target changes.
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

8 years agoUnreviewed gardneing, skip failing chromium test.
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

8 years agoOptimizing blend filter to ARM-NEON with intrinsics
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

8 years agoUnreviewed gardening chromium tests rebaseline.
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

8 years agoWeb Inspector: native memory instrumentation: extract instrumentation methods into...
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

8 years ago[Qt] Unreviewed gardening after r122528. Skipped some new tests.
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

8 years agoWeb Inspector: align scope filters
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

8 years ago[GTK] Gardening: new baseline after r122550 and rebaseline after r122556
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

8 years agoUnreviewed gardening: skip failing webkit unit test.
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

8 years agoUnreviewed gardening, skip failing webkit_unit_tests.
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

8 years agoWeb Inspector: too many hardcoded strings in InspectorBackendDispatcher.
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

8 years ago[BlackBerry] Update about:* pages
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

8 years agoFix checking for optional DeviceOrientationEvent.absolute in JSC bindings
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

8 years ago[GTK] Implement disk cache in WebKit2
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

8 years ago[GTK] Fix disk cache size computation in WebKit2
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

8 years ago[CSS Regions] Fix build for bug 89000
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

8 years ago[Qt] Unreviewed gardening. Rebase test after r122550.
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

8 years ago[GTK] WebKit2 crash when going back/forward
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

8 years ago[EFL][WK2] Use eina stringsharing for Ewk_Web_Resource's url
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

8 years ago[GTK] WebKitWebView::mouse-target-changed is not emitted when moved to/from edtiable...
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

8 years ago[EFL] Add const to the parameter of getters in ewk_security_origin
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

8 years ago[EFL] Add *explicit* keyword to constructor which has a parameter
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

8 years ago[Chromium] Fix bugs in HarfBuzzShaper
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

8 years agoUnreviewed, rolling out r122545.
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

8 years agoUnreviewed, rolling out r122553.
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

8 years agoChange the timing of form state restore
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

8 years agoMake calendar pickers testable
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

8 years agoWeb Inspector: mute the native looks of the selects in the console.
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

8 years ago[CSS Regions] Fix the lifecycle for the flow objects and their renderers
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

8 years ago[V8Bindings] Implement generalised method to validates that the passed object is...
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

8 years ago[Qt][WK2] Implement GraphicsSurface for Linux/GLX.
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

8 years agoCodeGeneratorJS.pm : SetterExpression should use 'push' rather than 'unshift'
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

8 years agoREGRESSION(r119948): [Forms] Spin button Up/Down actions make value to zero for input...
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

8 years agonrwt: don't choke when printing invalid utf-8 to stderr
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

8 years agoShould be possible to focus elements within canvas fallback content
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

8 years agoUnreviewed inspector test fix.
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

8 years agotest-webkitpy: more class renaming cleanup
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

8 years ago[GTK] Add API to get HTTPS status to WebKit2 GTK+
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

8 years agoRadioNodeList is not updated upon input type change
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

8 years agoCodeGeneratorJS.pm need to handle the attribute which has "CallWith=ScriptExecutionCo...
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

8 years agoDFG property access stubs should use structure transition watchpoints
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

8 years agoREGRESSION(r117738): [Forms] stepMismatch for input type "time" with large step value...
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

8 years ago[WK2][EFL] Facilitate debugging of the Web Process
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

8 years agoDFG CFA may get overzealous in loops that have code that must exit
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

8 years agoFix crash in the commit-queue. We need to initialize self.port during __init__.
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

8 years agoPass an option flag to CFStringGetHyphenationLocationBeforeIndex() that tells it...
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

8 years agoIncorrect behaviour calling Range setStart or setEnd with boundary in different document
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

8 years agotest-webkitpy: rename test_finder to finder
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

8 years ago[V8] Simplify CodeGeneratorV8 since V8OnProto is only true for DOMWindow
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

8 years agoCommitQueue is confused about what port it is using
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

8 years agoBuild fix. Initialize unused const member variables to make compilers happy.
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

8 years agoWeb Inspector: Geolocation override
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

8 years agoMove m_type and m_hasNameCache from HTMLCollectionCacheBase to DynamicNodeListCacheBa...
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

8 years agoNeeds callback before AuthorShadowRoot is added.
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

8 years ago[chromium] Root invalidations for RTL pages need to be in the right space
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

8 years ago[Navigation Timing] Import the W3C Navigation Timing test suite
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

8 years agoUnreviewed. Nit: git config files use tabs, not spaces.
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

8 years agoUnreviewed. Add Dongsung Huang to the list of contributors. He
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

8 years ago[chromium] Remove the RenderPass pointer from RenderPassDrawQuad
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