<rdar://problem/11875795> REGRESSION (tiled drawing): Page’s scroll bars flash with each character you type in a textarea (affects Wikipedia and YouTube)
https://bugs.webkit.org/show_bug.cgi?id=91348

Reviewed by Anders Carlsson.

* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollPositionChanged): Added an early return if the scroll position
did not, in fact, change. This avoids the call to ScrollAnimator::notifyContentAreaScrolled,
which is what causes the scroll bars to flash.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make WebPreferencesPrivate a simple struct
https://bugs.webkit.org/show_bug.cgi?id=91330

Reviewed by Filip Pizlo.

To avoid taking time creating a new Objective-C object for WebPreferencesPrivate, we can just make
it a simple struct.

* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(WebPreferencesPrivate):
(WebPreferencesPrivate::WebPreferencesPrivate):
Replace the Objective-C WebPreferencesPrivate by a struct.
Remove IBCreatorID from the object as it is unused.
Use RetainPtr for the Objective-C attribute to avoid tracking their memory manually.

(-[WebPreferences initWithIdentifier:]):
Change the order of the initialization to avoid allocating anyting if a WebPreferences exists
for the identifier.
Both [NSObject init] and WebPreferencesPrivate allocation are moved after the fast path.

(-[WebPreferences initWithCoder:]):
(-[WebPreferences encodeWithCoder:]):
(-[WebPreferences dealloc]):
(-[WebPreferences identifier]):
(-[WebPreferences _valueForKey:]):
(-[WebPreferences _setStringValue:forKey:]):
(-[WebPreferences _setIntegerValue:forKey:]):
(-[WebPreferences _setFloatValue:forKey:]):
(-[WebPreferences _setBoolValue:forKey:]):
(-[WebPreferences _setLongLongValue:forKey:]):
(-[WebPreferences _setUnsignedLongLongValue:forKey:]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windowless WebView not firing JavaScript load event if there is a media element
https://bugs.webkit.org/show_bug.cgi?id=91331

Reviewed by Eric Carlson.

Source/WebCore:

In prepareForLoad we start deferring the load event. If we fall into this
clause where the page can not start loading media we bail, potentially
indefinitely waiting until we can start loading media. Since we can not
be certain this will ever happen, we should stop deferring the page's
load event.

Test: WebKit1.WindowlessWebViewWithMedia TestWebKitAPI test. The only
way this path was reachable right now is on the mac port.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal):

Tools:

Test a windowless WebView loading a page with a media element. The load
event should happen on the next spin of the run loop, but we spin check
the page, with a timeout of 250ms.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.html: Added.
* TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.mm: Added.
(-[WindowlessWebViewWithMediaFrameLoadDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::spinLoop): Spin check with timeout. Runs a block each spin to early bail.
(TestWebKitAPI::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix case sensitive build issue.

Unreviewed build fix.

* WebView/WebPreferences.mm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add gyuyoung.kim@samsung.com to watch list.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add EFLWebKit2PublicAPI, EFLWebKit2PlatformSpecific to watch list.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use testRunner instead of layoutTestController in fast/js, layers, leaks, line-grid, lists, loader, loading, media, mediastream, multicol, and mutation tests
https://bugs.webkit.org/show_bug.cgi?id=91315

Reviewed by Adam Barth.

* fast/js/:
* fast/layers/add-layer-with-nested-stacking.html:
* fast/layers/assert-RenderLayer-update-positions.html:
* fast/layers/clip-rects-assertion.html:
* fast/layers/clip-rects-transformed-2.html:
* fast/layers/clip-rects-transformed.html:
* fast/layers/generated-layer-scrollbar-crash.html:
* fast/layers/inline-dirty-z-order-lists.html:
* fast/layers/layer-content-visibility-change.html:
* fast/layers/layer-visibility.html:
* fast/layers/nested-layers-1.html:
* fast/layers/nested-layers-2.html:
* fast/layers/nested-layers-3.html:
* fast/layers/nested-layers-4.html:
* fast/layers/remove-layer-with-nested-stacking.html:
* fast/layers/remove-only-this-layer-update.html:
* fast/layers/removed-by-scroll-handler.html:
* fast/layers/resize-layer-deletion-crash.html:
* fast/layers/scroll-with-transform-composited-layer.html:
* fast/layers/scroll-with-transform-layer.html:
* fast/layers/scrollByLines-overflow-no-layer.html:
* fast/layers/visible-layer-with-hidden-parent.html:
* fast/layers/zindex-hit-test.html:
* fast/leaks/001.html:
* fast/leaks/002.html:
* fast/leaks/003.html-disabled:
* fast/line-grid/line-grid-nested.html:
* fast/lists/alpha-boundary-values.html:
* fast/lists/alpha-list-wrap.html:
* fast/lists/calc-width-with-space.html:
* fast/lists/decimal-leading-zero.html:
* fast/lists/drag-into-marker.html:
* fast/lists/item-not-in-list-line-wrapping.html:
* fast/lists/li-values.html:
* fast/lists/list-style-type-dynamic-change.html:
* fast/lists/ol-nested-items-dynamic-insert.html:
* fast/lists/ol-nested-items-dynamic-remove.html:
* fast/lists/ol-nested-items.html:
* fast/lists/ol-nested-list-dynamic-insert.html:
* fast/lists/ol-nested-list-dynamic-remove.html:
* fast/lists/ol-nested-list.html:
* fast/lists/ol-reversed-dynamic-simple.html:
* fast/lists/ol-reversed-dynamic.html:
* fast/lists/ol-reversed-nested-items.html:
* fast/lists/ol-reversed-nested-list.html:
* fast/lists/ol-reversed-simple.html:
* fast/lists/ol-reversed-simple.xhtml:
* fast/lists/ol-start-roman.html:
* fast/lists/parent-box-not-box-crash.html:
* fast/lists/positioned-count-crash.html:
* fast/lists/remove-listmarker-from-anonblock-with-continuation-crash.html:
* fast/lists/resources/dump-list.js:
(dumpListItemAsHTML):
(testListItemMarkerEqualsListItemText):
* fast/lists/w3-css3-list-styles-alphabetic.html:
* fast/lists/w3-css3-list-styles-fallback-style.html:
* fast/lists/w3-css3-list-styles-numeric.html:
* fast/lists/w3-css3-list-styles-symbolic.html:
* fast/lists/w3-css3-lower-armenian.html:
* fast/lists/w3-css3-upper-armenian.html:
* fast/lists/w3-list-styles.html:
* fast/loader/:
* fast/media/color-does-not-include-alpha.html:
* fast/media/invalid-lengths.html:
* fast/media/lifetime.html:
* fast/media/matchmedium-query-api.html:
* fast/media/media-query-list-01.html:
* fast/media/media-query-list-02.html:
* fast/media/media-query-list-03.html:
* fast/media/media-query-list-04.html:
* fast/media/media-query-list-05.html:
* fast/media/media-query-list-06.html:
* fast/media/media-query-list-07.html:
* fast/media/media-query-list-callback.html:
* fast/media/media-svg-crash.html:
* fast/media/mq-pointer.html:
* fast/media/print-restores-previous-mediatype.html:
* fast/media/update-media-query-css-parser.html:
* fast/media/view-mode-media-feature.html:
* fast/multicol/:
* fast/mutation/end-of-task-delivery.html:
* fast/mutation/inline-event-listener.html:
* fast/mutation/mutation-callback-non-element-crash.html:
* platform/chromium/fast/loader/create-view-target-blank.html:
* platform/chromium/fast/loader/resources/done.html:
* platform/gtk/fast/loader/crash-display-local-directory.html:
* platform/mac/fast/loader/file-url-mimetypes-2.html:
* platform/mac/fast/loader/file-url-mimetypes-3.html:
* platform/mac/fast/loader/file-url-mimetypes.html:
* platform/mac/fast/loader/non-html-load-event.html:
* platform/mac/fast/loader/webarchive-encoding-respected.html:
* platform/qt/fast/loader/user-stylesheet-qrc-path.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Move files guarded by #ifdef to existing file list.
https://bugs.webkit.org/show_bug.cgi?id=91336

Reviewed by Ryosuke Niwa.

Some EFL files are already guared by #ifdef. So, cmake files doesn't need to guard
them again. In addition, some files are missing #ifdef guard its header files.

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit/efl:

* WebCoreSupport/DeviceMotionClientEfl.h:
* WebCoreSupport/InspectorClientEfl.h:
* WebCoreSupport/NetworkInfoClientEfl.h:
* WebCoreSupport/VibrationClientEfl.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r122660): Cannot iterate over HTMLCollection that contains non-child descendent nodes in some conditions
https://bugs.webkit.org/show_bug.cgi?id=91334

Reviewed by Ojan Vafai.

Source/WebCore: 

The bug was caused by using lastChild() as the starting node for traversePreviousNode. Since it's the inverse of
Node::traverseNextNode(), which visits nodes in pre order, we must start our search from the last descendent node,
which is visited traverseNextNode immediately before reaching the root node.

Test: fast/dom/htmlcollection-backwards-subtree-iteration.html

* html/HTMLCollection.cpp:
(WebCore::lastDescendent):
(WebCore):
(WebCore::itemBeforeOrAfter):

LayoutTests: 

Add a regression test. Without this patch, it results in an console error in release builds and an assertion failure
in debug builds.

* fast/dom/htmlcollection-backwards-subtree-iteration-expected.txt: Added.
* fast/dom/htmlcollection-backwards-subtree-iteration.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Several media tests are flaky in DEBUG mode
https://bugs.webkit.org/show_bug.cgi?id=91347

Unreviewed EFL gardening. Add to TestExpectations a
few media tests which are flaky in DEBUG mode only.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-15

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Move icon database to application data directory.
https://bugs.webkit.org/show_bug.cgi?id=91195

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-07-15
Reviewed by Rob Buis.

RIM PR: 156852
Create icon database in application data directory instead of
database or local storage directory, by doing this we can make
things easier when clearing database or local storage data files.

Internally reviewed by Charles Wei <charles.wei@torchmobile.com.cn>

* WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
(WebCore::IconDatabaseClientBlackBerry::initIconDatabase):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] We shouldn't call didFinishLoading for the old request when a new request has been sent by notifyAuthReceived.
https://bugs.webkit.org/show_bug.cgi?id=90962

Reviewed by Rob Buis.

We start a new NetworkJob with credentials after receiving 401/407 status.
We should not release resources in webcore when the old job is closed because
they are needed by the new one.
We should do as 3XX.

No new tests. No change in behaviour.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::NetworkJob):
(WebCore::NetworkJob::notifyAuthReceived):
(WebCore::NetworkJob::shouldReleaseClientResource):
(WebCore::NetworkJob::handleRedirect):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Add a API for getting security origin string
https://bugs.webkit.org/show_bug.cgi?id=90936

Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-07-15
Reviewed by Ryosuke Niwa.

Support to change from Ewk_Security_Origin to string on the API level.
Add ewk_security_origin_string_get for getting security origin string.

* ewk/ewk_security_origin.cpp:
(_Ewk_Security_Origin):
(ewk_security_origin_string_get):
(ewk_security_origin_free):
(ewk_security_origin_new):
* ewk/ewk_security_origin.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix calculation of rgba's alpha in CSS custom text
https://bugs.webkit.org/show_bug.cgi?id=91355

Reviewed by Ryosuke Niwa.

Source/WebCore:

Alpha values are stored as an 8 bit value. To convert this to a float in the
range [0,1], we need to divide by 255, not 256.

Test: fast/css/rgba-custom-text.html

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCssText):

LayoutTests:

* css3/calc/color-hsl-expected.txt:
* css3/calc/color-rgb-expected.txt:
* editing/execCommand/query-command-value-background-color-expected.txt:
* editing/execCommand/query-command-value-background-color.html:
* fast/css/rgba-custom-text-expected.txt: Added.
* fast/css/rgba-custom-text.html: Added.
* media/track/track-cue-rendering-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Disable perf tests for DEBUG builds
https://bugs.webkit.org/show_bug.cgi?id=91358

Unreviewed EFL gardening. Disable performance tests
in DEBUG builds since they are really slow and there
are very few benefits in running them.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-15

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Skip css3/flexbox/flexbox-overflow-auto.html
https://bugs.webkit.org/show_bug.cgi?id=91360

Unreviewed EFL gardening. Skip css3/flexbox/flexbox-overflow-auto.html
which started failing after r122681.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-15

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Define destructors for Ewk structures
https://bugs.webkit.org/show_bug.cgi?id=91338

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-15
Reviewed by Kentaro Hara.

Add destructors to Ewk structures and move
memory freeing code from *_free() or *_unref()
functions to the destructors.

* UIProcess/API/efl/ewk_intent.cpp:
(_Ewk_Intent::_Ewk_Intent):
(_Ewk_Intent):
(_Ewk_Intent::~_Ewk_Intent):
(ewk_intent_unref):
* UIProcess/API/efl/ewk_intent_service.cpp:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::~_Ewk_Intent_Service):
(ewk_intent_service_unref):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(ewk_navigation_policy_decision_free):
* UIProcess/API/efl/ewk_url_request.cpp:
(_Ewk_Url_Request):
(_Ewk_Url_Request::~_Ewk_Url_Request):
(ewk_url_request_unref):
* UIProcess/API/efl/ewk_url_response.cpp:
(_Ewk_Url_Response):
(_Ewk_Url_Response::~_Ewk_Url_Response):
(ewk_url_response_unref):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_priv_del):
* UIProcess/API/efl/ewk_web_error.cpp:
(_Ewk_Web_Error):
(_Ewk_Web_Error::~_Ewk_Web_Error):
(ewk_web_error_free):
* UIProcess/API/efl/ewk_web_resource.cpp:
(_Ewk_Web_Resource):
(_Ewk_Web_Resource::~_Ewk_Web_Resource):
(ewk_web_resource_unref):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Mark a few media tests as flaky on RELEASE bot as well
https://bugs.webkit.org/show_bug.cgi?id=91361

Unreviewed EFL gardening. Mark a few media test as flaky on
the RELEASE bot as well.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-15

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Skip the new failing test.

* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Compilation failure in StyleResolver.cpp (clang)
https://bugs.webkit.org/show_bug.cgi?id=89892

Reviewed by Ryosuke Niwa.

Patch adds assertions that unreachable code is in fact not reached.

Covered by fast/css/variables tests.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):


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