WebKit-https.git
7 years ago[nrwt] handle corrupt http server pid files cleanly
dpranke@chromium.org [Thu, 7 Mar 2013 20:58:57 +0000 (20:58 +0000)]
[nrwt] handle corrupt http server pid files cleanly
https://bugs.webkit.org/show_bug.cgi?id=111628

Reviewed by Eric Seidel.

If the pid file from a previous http server is corrupt for some
reason, NRWT will just raise errors and not clean it up or recover.
This patch fixes that to at least delete the pid file and
not throw; not that we may still have stale http servers left on
the system, since there's no way to know which pid to kill if
the file was corrupted.

* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase.start):
(HttpServerBase.stop):
(HttpServerBase._remove_pid_file):
* Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py: Added.
(TestHttpServerBase):
(TestHttpServerBase.test_corrupt_pid_file):

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

7 years ago[BlackBerry] Prevent text selection inside Colour and Date/Time input fields
mifenton@rim.com [Thu, 7 Mar 2013 20:55:29 +0000 (20:55 +0000)]
[BlackBerry] Prevent text selection inside Colour and Date/Time input fields
https://bugs.webkit.org/show_bug.cgi?id=111733

Reviewed by Rob Buis.

PR 305194.

Prevent selection for popup input fields as they are buttons.

Informally Reviewed Gen Mak.

* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):

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

7 years agoObjective-C API: Need a good way to reference event handlers without causing cycles
mhahnenberg@apple.com [Thu, 7 Mar 2013 20:43:05 +0000 (20:43 +0000)]
Objective-C API: Need a good way to reference event handlers without causing cycles
https://bugs.webkit.org/show_bug.cgi?id=111088

Reviewed by Geoffrey Garen.

JSManagedValue is like a special kind of weak value. When you create a JSManagedValue, you can
supply an Objective-C object as its "owner". As long as the Objective-C owner object remains
alive and its wrapper remains accessible to the JSC garbage collector (e.g. by being marked by
the global object), the reference to the JavaScript value is strong. As soon as the Objective-C
owner is deallocated or its wrapper becomes inaccessible to the garbage collector, the reference
becomes weak.

If you do not supply an owner or you use the weakValueWithValue: convenience class method, the
returned JSManagedValue behaves as a normal weak reference.

This new class allows clients to maintain references to JavaScript values in the Objective-C
heap without creating reference cycles/leaking memory.

* API/JSAPIWrapperObject.cpp: Added.
(JSC):
(JSC::::createStructure):
(JSC::JSAPIWrapperObject::JSAPIWrapperObject): This is a special JSObject for the Objective-C API that knows
for the purposes of garbage collection/marking that it wraps an opaque Objective-C object.
(JSC::JSAPIWrapperObject::visitChildren): We add the pointer to the wrapped Objective-C object to the set of
opaque roots so that the weak handle owner for JSManagedValues can find it later.
* API/JSAPIWrapperObject.h: Added.
(JSC):
(JSAPIWrapperObject):
(JSC::JSAPIWrapperObject::wrappedObject):
(JSC::JSAPIWrapperObject::setWrappedObject):
* API/JSBase.cpp:
(JSSynchronousGarbageCollect):
* API/JSBasePrivate.h:
* API/JSCallbackObject.cpp:
(JSC):
* API/JSCallbackObject.h:
(JSC::JSCallbackObject::destroy): Moved this to the header so that we don't get link errors with JSAPIWrapperObject.
* API/JSContext.mm:
(-[JSContext initWithVirtualMachine:]): We weren't adding manually allocated/initialized JSVirtualMachine objects to
the global cache of virtual machines. The init methods handle this now rather than contextWithGlobalContextRef, since
not everyone is guaranteed to use the latter.
(-[JSContext initWithGlobalContextRef:]):
(+[JSContext contextWithGlobalContextRef:]):
* API/JSManagedValue.h: Added.
* API/JSManagedValue.mm: Added.
(JSManagedValueHandleOwner):
(managedValueHandleOwner):
(+[JSManagedValue weakValueWithValue:]):
(+[JSManagedValue managedValueWithValue:owner:]):
(-[JSManagedValue init]): We explicitly call the ARC entrypoints to initialize/get the weak owner field since we don't
use ARC when building our framework.
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue initWithValue:owner:]):
(-[JSManagedValue dealloc]):
(-[JSManagedValue value]):
(-[JSManagedValue weakOwner]):
(JSManagedValueHandleOwner::isReachableFromOpaqueRoots): If the Objective-C owner is still alive (i.e. loading the weak field
returns non-nil) and that value was added to the set of opaque roots by the wrapper for that Objective-C owner, then the the
JSObject to which the JSManagedObject refers is still alive.
* API/JSObjectRef.cpp: We have to add explicit checks for the JSAPIWrapperObject, just like the other types of JSCallbackObjects.
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
* API/JSValue.mm:
(objectToValueWithoutCopy):
* API/JSValueRef.cpp:
(JSValueIsObjectOfClass):
* API/JSVirtualMachine.mm:
(-[JSVirtualMachine initWithContextGroupRef:]):
(+[JSVirtualMachine virtualMachineWithContextGroupRef:]):
* API/JSWrapperMap.mm:
(wrapperFinalize):
(makeWrapper): This is our own internal version of JSObjectMake which creates JSAPIWrapperObjects, the Obj-C API
version of JSCallbackObjects.
(createObjectWithCustomBrand):
(-[JSObjCClassInfo wrapperForObject:]):
(tryUnwrapObjcObject):
* API/JavaScriptCore.h:
* API/tests/testapi.mm: Added new tests for the strong and weak uses of JSManagedValue in the context of an
onclick handler for an Objective-C object inserted into a JSContext.
(-[TextXYZ setWeakOnclick:]):
(-[TextXYZ setOnclick:]):
(-[TextXYZ weakOnclick]):
(-[TextXYZ onclick]):
(-[TextXYZ click]):
* CMakeLists.txt: Various build system additions.
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/JSGlobalObject.cpp: Added the new canonical Structure for the JSAPIWrapperObject class.
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::objcWrapperObjectStructure):

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

7 years agoImage rebaselines after r145104.
ojan@chromium.org [Thu, 7 Mar 2013 20:08:31 +0000 (20:08 +0000)]
Image rebaselines after r145104.

* platform/chromium-mac/fast/table/border-collapsing/cached-change-row-border-width-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.png:

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

7 years agoAX: Can't activate links with VoiceOver in Safari
cfleizach@apple.com [Thu, 7 Mar 2013 20:04:22 +0000 (20:04 +0000)]
AX: Can't activate links with VoiceOver in Safari
https://bugs.webkit.org/show_bug.cgi?id=111755

Reviewed by Tim Horton.

Source/WebCore:

VoiceOver is relying on the press action being the first action in the list. We changed
that order inadvertently recently, which confuses VoiceOver.

Test: platform/mac/accessibility/press-action-is-first.html

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityActionNames]):

Tools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(supportedActionsCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
(AccessibilityUIElement):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::supportedActions):

LayoutTests:

* platform/mac/accessibility/press-action-is-first-expected.txt: Added.
* platform/mac/accessibility/press-action-is-first.html: Added.

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

7 years agoUnreviewed, rolling out r145083.
rafaelw@chromium.org [Thu, 7 Mar 2013 20:03:45 +0000 (20:03 +0000)]
Unreviewed, rolling out r145083.
http://trac.webkit.org/changeset/145083
https://bugs.webkit.org/show_bug.cgi?id=110733

caused lots crashes in http/tests/security/xssAuditor/* tests

Source/WebCore:

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditor.h:
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
* html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::create):
(XSSInfo):
(WebCore::XSSInfo::XSSInfo):

LayoutTests:

* fast/frames/xss-auditor-handles-file-urls-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
* http/tests/security/xssAuditor/base-href-control-char-expected.txt:
* http/tests/security/xssAuditor/base-href-expected.txt:
* http/tests/security/xssAuditor/base-href-null-char-expected.txt:
* http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
* http/tests/security/xssAuditor/cached-frame-expected.txt:
* http/tests/security/xssAuditor/cookie-injection-expected.txt:
* http/tests/security/xssAuditor/dom-write-URL-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
* http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/embed-tag-expected.txt:
* http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/form-action-expected.txt:
* http/tests/security/xssAuditor/formaction-on-button-expected.txt:
* http/tests/security/xssAuditor/formaction-on-input-expected.txt:
* http/tests/security/xssAuditor/full-block-base-href-expected.txt:
* http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
* http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/iframe-injection-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
* http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
* http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
* http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
* http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-expected.txt:
* http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
* http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
* http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
* http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
* http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
* http/tests/security/xssAuditor/link-onclick-expected.txt:
* http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
* http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
* http/tests/security/xssAuditor/malformed-HTML-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
* http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/object-tag-expected.txt:
* http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/open-attribute-body-expected.txt:
* http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-03-expected.txt:
* http/tests/security/xssAuditor/open-script-src-01-expected.txt:
* http/tests/security/xssAuditor/open-script-src-02-expected.txt:
* http/tests/security/xssAuditor/open-script-src-03-expected.txt:
* http/tests/security/xssAuditor/open-script-src-04-expected.txt:
* http/tests/security/xssAuditor/post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
* http/tests/security/xssAuditor/property-escape-expected.txt:
* http/tests/security/xssAuditor/property-escape-long-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
* http/tests/security/xssAuditor/script-tag-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
* http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
* http/tests/security/xssAuditor/svg-animate-expected.txt:
* http/tests/security/xssAuditor/svg-script-tag-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
* platform/chromium/http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:

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

7 years ago[CSS Shaders] Implement hue and saturation non-separable blend modes
michelangelo@webkit.org [Thu, 7 Mar 2013 20:00:48 +0000 (20:00 +0000)]
[CSS Shaders] Implement hue and saturation non-separable blend modes
https://bugs.webkit.org/show_bug.cgi?id=109464

Source/WebCore:

Added the following GLSL helper functions to the CustomFilterValidatedProgram:

    - css_Sat(C): returns the saturation for the color C
    - css_SetSat(C, s): sets the saturation s on the color C
    - css_SetSatHelper(Cmin, Cmid, Cmax, s): helper function for css_SetSat

The above functions are being used for the "hue" and "saturation" non-separable
blend modes, the relevant spec for such modes is at URL:
https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnonseparable

Reviewed by Dean Jackson.

Tests: css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html
       css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html

* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::blendFunctionString):

LayoutTests:

Added relevant tests for the "hue" and "saturation" non-separable blend modes.
These tests are currently skipped on Mac due to a slight color difference; please see relevant bug: http://webkit.org/b/107487.

Reviewed by Dean Jackson.

* css3/filters/custom/custom-filter-nonseparable-blend-mode-hue-expected.html: Added.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html: Added.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation-expected.html: Added.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html: Added.
* platform/mac/TestExpectations:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 19:53:34 +0000 (19:53 +0000)]
Unreviewed gardening.

* platform/chromium-mac/fast/borders/border-radius-with-box-shadow-01-expected.png: Added.
* platform/chromium-win/fast/borders/border-radius-with-box-shadow-01-expected.png: Added.

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

7 years agoIndexedDB: Make test behavior deterministic in multiprocess ports
jsbell@chromium.org [Thu, 7 Mar 2013 19:40:36 +0000 (19:40 +0000)]
IndexedDB: Make test behavior deterministic in multiprocess ports
https://bugs.webkit.org/show_bug.cgi?id=111643

Reviewed by Tony Chang.

Root cause is documented in wkbug.com/111642 but as a stop-gap - ensure
that this test doesn't fail flakily in multiprocess ports by moving the
last part of the test out of a limbo zone.

* storage/indexeddb/resources/index-multientry.js: Run subsequent part of
test in open's "success" handler rather than transaction's "complete" handler.

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

7 years agoWindows debug layout tests are crashing like crazy again.
roger_fong@apple.com [Thu, 7 Mar 2013 19:20:27 +0000 (19:20 +0000)]
Windows debug layout tests are crashing like crazy again.
Disable tests on Win EWS bots temporarily.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

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

7 years ago[Chromium] Remove WK/chromium/public/WebStorageArea.h
pilgrim@chromium.org [Thu, 7 Mar 2013 19:18:05 +0000 (19:18 +0000)]
[Chromium] Remove WK/chromium/public/WebStorageArea.h
https://bugs.webkit.org/show_bug.cgi?id=111744

Reviewed by James Robinson.

File moved to new Platform/ directory. All references have already
been updated (including downstream).

* public/WebStorageArea.h: Removed.

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

7 years ago[Chromium] Update some #includes for WebFileInfo.h in WK/chromium/src/
pilgrim@chromium.org [Thu, 7 Mar 2013 19:13:39 +0000 (19:13 +0000)]
[Chromium] Update some #includes for WebFileInfo.h in WK/chromium/src/
https://bugs.webkit.org/show_bug.cgi?id=111741

Reviewed by James Robinson.

In preparation for removing WK/chromium/public/WebFileInfo.h.

* src/AssertMatchingEnums.cpp:

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

7 years agoMake EWS bots build and test in release.
roger_fong@apple.com [Thu, 7 Mar 2013 19:07:20 +0000 (19:07 +0000)]
Make EWS bots build and test in release.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):

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

7 years agoWeb Inspector: [ACE] set correct font
commit-queue@webkit.org [Thu, 7 Mar 2013 19:03:38 +0000 (19:03 +0000)]
Web Inspector: [ACE] set correct font
https://bugs.webkit.org/show_bug.cgi?id=111747

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

Set class "source-code" for the ace editor element.

* inspector/front-end/AceTextEditor.js:
(WebInspector.AceTextEditor):

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

7 years agoRecalculate borders at the beginning of table layout
ojan@chromium.org [Thu, 7 Mar 2013 18:59:41 +0000 (18:59 +0000)]
Recalculate borders at the beginning of table layout
https://bugs.webkit.org/show_bug.cgi?id=111634

Reviewed by Julien Chaffraix.

Source/WebCore:

Doing it in convertStyleLogicalWidthToComputedWidth missed some dynamic
relayout cases. I confirmed that the new results match the results we
would get if we set the border width initially instead of dynamically.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::layout):

LayoutTests:

* fast/table/border-collapsing/cached-change-row-border-width-expected.png:
* fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
* fast/table/border-collapsing/cached-change-tbody-border-width-expected.png:
* fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 18:57:19 +0000 (18:57 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: http/tests/css/shared-stylesheet-mutation-preconstruct.html

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

7 years ago[Chromium] Remove WK/chromium/public/WebWorkerRunLoop.h
pilgrim@chromium.org [Thu, 7 Mar 2013 18:47:11 +0000 (18:47 +0000)]
[Chromium] Remove WK/chromium/public/WebWorkerRunLoop.h
https://bugs.webkit.org/show_bug.cgi?id=111740

Reviewed by James Robinson.

No longer needed; all references have been updated to new version
in top-level Platform/ directory.

* public/WebWorkerRunLoop.h: Removed.

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

7 years agoUnreviewed. Rolled Chromium DEPS to r186592. Requested by
commit-queue@webkit.org [Thu, 7 Mar 2013 18:45:21 +0000 (18:45 +0000)]
Unreviewed.  Rolled Chromium DEPS to r186592.  Requested by
"Dana Jansens" <danakj@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

* DEPS:

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

7 years agoSource/WebCore: border-fit-adjust should happen at layout time rather than paint...
hyatt@apple.com [Thu, 7 Mar 2013 18:41:16 +0000 (18:41 +0000)]
Source/WebCore: border-fit-adjust should happen at layout time rather than paint time
https://bugs.webkit.org/show_bug.cgi?id=111606
<rdar://problem/13101714>

Reviewed by Antti Koivisto.

In order for border-fit-adjust to be accurate in more cases, it needs
to be a layout-time adjustment rather than a paint-time adjustment.
Specifically there are cases where an LTR adjusted box was right-aligned
by its container, and without genuinely shrinking the size of the box,
we end up chopping off the right edge but not shifting the box to the
right to compensate.

This patch changes border-fit-adjust to now do the adjustment using
the override width mechanism and a second layout pass instead of just
hacking painting.

Test: fast/block/border-fit-with-right-alignment.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
Calls fitBorderToLinesIfNeeded at the end of layout to do a second
layout pass if the adjustment needs to be made.

(WebCore::RenderBlock::fitBorderToLinesIfNeeded):
Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
non-virtual, since it's no longer called from RenderBox code. Changed it
to do a relayout using override widths if an adjustment is needed.

* rendering/RenderBlock.h:
(RenderBlock):
Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
non-virtual.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMask):
Removed the paint-time border-fit adjustment.

(WebCore::RenderBox::computeLogicalWidthInRegion):
Use the override width when border-fit is set to lines.

* rendering/RenderBox.h:
(RenderBox):
Remove the virtual borderFitAdjust method.

LayoutTests: border-fit should happen at layout time rather than paint time
https://bugs.webkit.org/show_bug.cgi?id=111606
<rdar://problem/13101714>

Reviewed by Antti Koivisto.

* fast/block/border-fit-with-right-alignment-expected.html: Added.
* fast/block/border-fit-with-right-alignment.html: Added.

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

7 years ago[Chromium] Update some #includes for WebVideoFrame.h
pilgrim@chromium.org [Thu, 7 Mar 2013 18:37:33 +0000 (18:37 +0000)]
[Chromium] Update some #includes for WebVideoFrame.h
https://bugs.webkit.org/show_bug.cgi?id=111739

Reviewed by James Robinson.

In anticipation of removing WebVideoFrame.h from WK/chromium/public/.

* public/WebMediaPlayer.h:

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

7 years agoREGRESSION(r143727): Clicking / selecting inside an <embed> is broken
allan.jensen@digia.com [Thu, 7 Mar 2013 18:35:02 +0000 (18:35 +0000)]
REGRESSION(r143727): Clicking / selecting inside an <embed> is broken
https://bugs.webkit.org/show_bug.cgi?id=111217

Reviewed by Julien Chaffraix.

Source/WebCore:

Hit-testing into child frames need to happen in RenderPart, otherwise
we will miss frame views in <embed> and <object> elements.

Test: fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html

* rendering/RenderFrameBase.cpp:
* rendering/RenderFrameBase.h:
(RenderFrameBase):
* rendering/RenderPart.cpp:
(WebCore::RenderPart::nodeAtPoint):
* rendering/RenderPart.h:
(RenderPart):

LayoutTests:

Test rect and point based hit-testing inside embed and object child frames.

* fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt: Added.
* fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html: Added.
* fast/dom/nodesFromRect/resources/nodesFromRect.js:
(checkPoint):

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

7 years ago FormData should allow setting filename to empty
ap@apple.com [Thu, 7 Mar 2013 18:25:10 +0000 (18:25 +0000)]
    FormData should allow setting filename to empty
        https://bugs.webkit.org/show_bug.cgi?id=111687

        Reviewed by Brady Eidson.

        Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
               http/tests/local/formdata/send-form-data-with-empty-file-filename.html

        * html/FileInputType.cpp: (WebCore::FileInputType::appendFormData):
        Use a Blob for empty file input, not a hacky File with empty path.

        * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
        Missing value is a null string. If the string is empty, we should treat is as
        authoritative.

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

7 years agoNull-check the page overlay before trying to use it.
timothy_horton@apple.com [Thu, 7 Mar 2013 18:23:47 +0000 (18:23 +0000)]
Null-check the page overlay before trying to use it.

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scroll):

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

7 years agoinspector/debugger/debugger-expand-scope.html sometimes fails on Apple MountainLion...
dino@apple.com [Thu, 7 Mar 2013 18:17:59 +0000 (18:17 +0000)]
inspector/debugger/debugger-expand-scope.html sometimes fails on Apple MountainLion Release WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=111754

Skipping this test so that Mac EWS can catch up.

* platform/mac/TestExpectations:

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

7 years agoWeb Inspector: [CodeMirror] dublicated horizontal scroll
commit-queue@webkit.org [Thu, 7 Mar 2013 18:12:42 +0000 (18:12 +0000)]
Web Inspector: [CodeMirror] dublicated horizontal scroll
https://bugs.webkit.org/show_bug.cgi?id=111712

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Set a box-sizing css property on all codemirror elements to
"content-box".

No new tests.

* inspector/front-end/cm/cmdevtools.css:
(.CodeMirror *):

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

7 years agoChromium, mac-wk2 and mac need new baselines after fixing paint phases for composited...
dino@apple.com [Thu, 7 Mar 2013 18:03:27 +0000 (18:03 +0000)]
Chromium, mac-wk2 and mac need new baselines after fixing paint phases for composited scrolling.
https://bugs.webkit.org/show_bug.cgi?id=107952

New baseline for Mac.

* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:

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

7 years ago[chromium] Remove WebView's sharedGraphicsContext3D method.
danakj@chromium.org [Thu, 7 Mar 2013 17:58:35 +0000 (17:58 +0000)]
[chromium] Remove WebView's sharedGraphicsContext3D method.
https://bugs.webkit.org/show_bug.cgi?id=111499

Reviewed by James Robinson.

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years agoRemove GC code duplication in http/tests LayoutTests.
acolwell@chromium.org [Thu, 7 Mar 2013 17:39:43 +0000 (17:39 +0000)]
Remove GC code duplication in http/tests LayoutTests.
https://bugs.webkit.org/show_bug.cgi?id=111589

Reviewed by Kentaro Hara, Alexey Proskuryakov.

Replaced duplicated GC logic in various tests with a function call to the implementation
in /js-test-resources/js-test-pre.js

* http/tests/appcache/destroyed-frame.html:
* http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html:
* http/tests/misc/async-script.html:
* http/tests/misc/embed-image-load-outlives-gc-without-crashing.html:
* http/tests/misc/image-input-type-outlives-gc-without-crashing.html:
* http/tests/misc/image-load-outlives-gc-without-crashing.html:
* http/tests/misc/javascript-url-stop-loaders.html:
* http/tests/misc/object-image-load-outlives-gc-without-crashing.html:
* http/tests/misc/svg-image-load-outlives-gc-without-crashing.html:
* http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html:
* http/tests/security/detached-sandboxed-frame-access.html:
* http/tests/websocket/tests/hybi/websocket-pending-activity.html:
* http/tests/xmlhttprequest/event-listener-gc.html:

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

7 years agoWeb Inspector: Styles sidebar pane toolbar disappears in horizontal split mode.
vsevik@chromium.org [Thu, 7 Mar 2013 17:15:12 +0000 (17:15 +0000)]
Web Inspector: Styles sidebar pane toolbar disappears in horizontal split mode.
https://bugs.webkit.org/show_bug.cgi?id=111735

Reviewed by Pavel Feldman.

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._splitVertically):
* inspector/front-end/elementsPanel.css:
(.sidebar-pane.composite .metrics-and-computed .sidebar-pane-toolbar):

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

7 years ago[Qt] QWebSettings::clearMemoryCaches should clear JS garbage
commit-queue@webkit.org [Thu, 7 Mar 2013 17:11:57 +0000 (17:11 +0000)]
[Qt] QWebSettings::clearMemoryCaches should clear JS garbage
https://bugs.webkit.org/show_bug.cgi?id=111094

Patch by Arunprasad Rajkumar <arunprasadr@nds.com> on 2013-03-07
Reviewed by Jocelyn Turcotte.

* Api/qwebsettings.cpp:
(QWebSettings::clearMemoryCaches):

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

7 years ago[GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
zandobersek@gmail.com [Thu, 7 Mar 2013 16:58:23 +0000 (16:58 +0000)]
[GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
https://bugs.webkit.org/show_bug.cgi?id=109932

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-03-07
Reviewed by Martin Robinson.

.:

* Source/autotools/CheckSystemAndBasicDependencies.m4: Strictly check for one of the two compilers.
* Source/autotools/SetupCompilerFlags.m4: Set up C++11-specific compiler flags. Force the C99 standard for the C code.
Use the -Qunused-arguments flag when using Clang, it reduces irrelevant errors when using ccache.

Source/WebCore:

* GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
They are now available by default due to the limited set of supported compilers.
* bindings/gobject/GNUmakefile.am: Ditto.

Source/WebKit/gtk:

* GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
They are now available by default due to the limited set of supported compilers.

Source/WebKit2:

* GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
They are now available by default due to the limited set of supported compilers.

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

7 years agoXSSAuditor should send only one console error when blocking a page.
mkwst@chromium.org [Thu, 7 Mar 2013 16:39:46 +0000 (16:39 +0000)]
XSSAuditor should send only one console error when blocking a page.
https://bugs.webkit.org/show_bug.cgi?id=110733

Reviewed by Daniel Bates.

Source/WebCore:

Currently, we send two console errors when XSSAuditor blocks a page:
"Refused to execute a JavaScript script. Source code of script found
within request.\n", and "Entire page will be blocked.".

We should only send one message, tuning it properly for the context, and
including the URL of the page effected by the XSSAuditor's work.

Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.

* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditor.h:
(WebCore::XSSAuditor::XSSAuditor):
    Add two booleans to track the headers used to set the XSSAuditor state.
(WebCore::XSSAuditor::init):
    Save a copy of the document's URL even if we're not generating a
    report upon violation: we'll need it for the console messages. Also
    populate the didSendValidXXXHeader booleans for use later.
(WebCore::XSSAuditor::filterToken):
    Add detail about the header status to the constructed XSSInfo object.
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::buildConsoleError):
    Move message construction out into a separate inlined function, as
    it's becoming complex.
(WebCore::XSSAuditorDelegate::didBlockScript):
    Fold the "Entire page will be blocked" message into the main console
    error.
* html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::create):
(WebCore::XSSInfo::XSSInfo):
    Add detail about header status to XSSInfo in order to correctly
    construct the console error.

LayoutTests:

* fast/frames/xss-auditor-handles-file-urls-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
* http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
* http/tests/security/xssAuditor/base-href-control-char-expected.txt:
* http/tests/security/xssAuditor/base-href-expected.txt:
* http/tests/security/xssAuditor/base-href-null-char-expected.txt:
* http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
* http/tests/security/xssAuditor/cached-frame-expected.txt:
* http/tests/security/xssAuditor/cookie-injection-expected.txt:
* http/tests/security/xssAuditor/dom-write-URL-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
* http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
* http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/embed-tag-expected.txt:
* http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/formaction-on-button-expected.txt:
* http/tests/security/xssAuditor/formaction-on-input-expected.txt:
* http/tests/security/xssAuditor/form-action-expected.txt:
* http/tests/security/xssAuditor/full-block-base-href-expected.txt:
* http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
* http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/iframe-injection-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
* http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
* http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
* http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
* http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
* http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-expected.txt:
* http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
* http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
* http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
* http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
* http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
* http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
* http/tests/security/xssAuditor/link-onclick-expected.txt:
* http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
* http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
* http/tests/security/xssAuditor/malformed-HTML-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
* http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/object-tag-expected.txt:
* http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/open-attribute-body-expected.txt:
* http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
* http/tests/security/xssAuditor/open-script-src-01-expected.txt:
* http/tests/security/xssAuditor/open-script-src-02-expected.txt:
* http/tests/security/xssAuditor/open-script-src-03-expected.txt:
* http/tests/security/xssAuditor/open-script-src-04-expected.txt:
* http/tests/security/xssAuditor/post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
* http/tests/security/xssAuditor/property-escape-expected.txt:
* http/tests/security/xssAuditor/property-escape-long-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
* http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
* http/tests/security/xssAuditor/script-tag-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
* http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
* http/tests/security/xssAuditor/svg-script-tag-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
* platform/chromium/http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:

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

7 years agoWeb Inspector: Add some more compilation annotations to NavigatorView
vsevik@chromium.org [Thu, 7 Mar 2013 16:28:28 +0000 (16:28 +0000)]
Web Inspector: Add some more compilation annotations to NavigatorView
https://bugs.webkit.org/show_bug.cgi?id=111730

Reviewed by Alexander Pavlov.

* inspector/front-end/NavigatorView.js:

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

7 years ago[GTK] Enable translations for WebKit2
kov@webkit.org [Thu, 7 Mar 2013 16:25:25 +0000 (16:25 +0000)]
[GTK] Enable translations for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=111398

Patch by Gustavo Noronha Silva <gns@gnome.org> on 2013-03-07.
Reviewed by Martin Robinson.

* GNUmakefile.am: adjust path for i18n GNUmakefile.am.
* configure.ac: generate the i18n makefile unconditionally, the translations are
used by both WebKitGTK+ and WebKit2GTK+.

Source/WebCore:

* GNUmakefile.am: distribute po files.
* platform/gtk/po/POTFILES.in: adjust paths for translatable files.

Source/WebCore/platform/gtk/po:

* GNUmakefile.am: Renamed from Source/WebKit/gtk/po/GNUmakefile.am.
* POTFILES.in: Renamed from Source/WebKit/gtk/po/POTFILES.in.
* README: Renamed from Source/WebKit/gtk/po/README.
* ar.po: Renamed from Source/WebKit/gtk/po/ar.po.
* as.po: Renamed from Source/WebKit/gtk/po/as.po.
* bg.po: Renamed from Source/WebKit/gtk/po/bg.po.
* cs.po: Renamed from Source/WebKit/gtk/po/cs.po.
* de.po: Renamed from Source/WebKit/gtk/po/de.po.
* el.po: Renamed from Source/WebKit/gtk/po/el.po.
* en_CA.po: Renamed from Source/WebKit/gtk/po/en_CA.po.
* en_GB.po: Renamed from Source/WebKit/gtk/po/en_GB.po.
* eo.po: Renamed from Source/WebKit/gtk/po/eo.po.
* es.po: Renamed from Source/WebKit/gtk/po/es.po.
* et.po: Renamed from Source/WebKit/gtk/po/et.po.
* eu.po: Renamed from Source/WebKit/gtk/po/eu.po.
* fr.po: Renamed from Source/WebKit/gtk/po/fr.po.
* gl.po: Renamed from Source/WebKit/gtk/po/gl.po.
* gu.po: Renamed from Source/WebKit/gtk/po/gu.po.
* he.po: Renamed from Source/WebKit/gtk/po/he.po.
* hi.po: Renamed from Source/WebKit/gtk/po/hi.po.
* hu.po: Renamed from Source/WebKit/gtk/po/hu.po.
* id.po: Renamed from Source/WebKit/gtk/po/id.po.
* it.po: Renamed from Source/WebKit/gtk/po/it.po.
* ko.po: Renamed from Source/WebKit/gtk/po/ko.po.
* lt.po: Renamed from Source/WebKit/gtk/po/lt.po.
* lv.po: Renamed from Source/WebKit/gtk/po/lv.po.
* mr.po: Renamed from Source/WebKit/gtk/po/mr.po.
* nb.po: Renamed from Source/WebKit/gtk/po/nb.po.
* nl.po: Renamed from Source/WebKit/gtk/po/nl.po.
* pa.po: Renamed from Source/WebKit/gtk/po/pa.po.
* pl.po: Renamed from Source/WebKit/gtk/po/pl.po.
* pt.po: Renamed from Source/WebKit/gtk/po/pt.po.
* pt_BR.po: Renamed from Source/WebKit/gtk/po/pt_BR.po.
* ro.po: Renamed from Source/WebKit/gtk/po/ro.po.
* ru.po: Renamed from Source/WebKit/gtk/po/ru.po.
* sl.po: Renamed from Source/WebKit/gtk/po/sl.po.
* sr.po: Renamed from Source/WebKit/gtk/po/sr.po.
* sr@latin.po: Renamed from Source/WebKit/gtk/po/sr@latin.po.
* sv.po: Renamed from Source/WebKit/gtk/po/sv.po.
* uk.po: Renamed from Source/WebKit/gtk/po/uk.po.
* vi.po: Renamed from Source/WebKit/gtk/po/vi.po.
* zh_CN.po: Renamed from Source/WebKit/gtk/po/zh_CN.po.

Source/WebKit2:

* GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
translation module can be reused, con: you can't have different versions of
WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
in that case.
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
the child process will already inherit the environment of the parent, which should
have all the variables set properly.

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

7 years agoWeb Inspector: [CodeMirror] update codemirror to version 3.1
commit-queue@webkit.org [Thu, 7 Mar 2013 16:09:58 +0000 (16:09 +0000)]
Web Inspector: [CodeMirror] update codemirror to version 3.1
https://bugs.webkit.org/show_bug.cgi?id=111711

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Vsevolod Vlasov.

Update code mirror experimental editor to version 3.1

No new tests.

* inspector/front-end/cm/codemirror.css:
(.CodeMirror div.CodeMirror-cursor):
(.CodeMirror div.CodeMirror-secondarycursor):
(.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
(.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor:not(#nonsense_id)):
(.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite):
(.CodeMirror-gutters):
(.CodeMirror-linewidget):
(.CodeMirror-widget):
(.CodeMirror-focused div.CodeMirror-cursor):
(@media print):
* inspector/front-end/cm/codemirror.js:
(window.CodeMirror):
(window.CodeMirror.):

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

7 years agoOpenGLShims: fix check for ANGLE GLES2 extensions
commit-queue@webkit.org [Thu, 7 Mar 2013 15:54:34 +0000 (15:54 +0000)]
OpenGLShims: fix check for ANGLE GLES2 extensions
https://bugs.webkit.org/show_bug.cgi?id=111656

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-03-07
Reviewed by Simon Hausmann.

The check for ANGLE GLES2 extensions is currently being overriden
with checks for APPLE extensions in lookupOpenGLFunctionAddress().

No new tests. No user visible behavior changed.

* platform/graphics/OpenGLShims.cpp:
(WebCore::lookupOpenGLFunctionAddress):

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

7 years agoRename visible_units.h to VisibleUnits.h in WebCore.vcxproj.filters
ddkilzer@apple.com [Thu, 7 Mar 2013 15:43:16 +0000 (15:43 +0000)]
Rename visible_units.h to VisibleUnits.h in WebCore.vcxproj.filters
<http://webkit.org/b/111426>

* WebCore.vcxproj/WebCore.vcxproj.filters: Rename visible_units.h
to VisibleUnits.h and re-sort.

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

7 years agoWeb Inspector: Support a shortcut for reloading front-end in debug mode.
vsevik@chromium.org [Thu, 7 Mar 2013 15:36:59 +0000 (15:36 +0000)]
Web Inspector: Support a shortcut for reloading front-end in debug mode.
https://bugs.webkit.org/show_bug.cgi?id=111709

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/buildSystemOnly.js:
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):

Source/WebKit/chromium:

* src/js/DevTools.js:

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

7 years agoWeb Inspector: Support setting up file system mappings from scripts panel context...
vsevik@chromium.org [Thu, 7 Mar 2013 15:35:12 +0000 (15:35 +0000)]
Web Inspector: Support setting up file system mappings from scripts panel context menu.
https://bugs.webkit.org/show_bug.cgi?id=111583

Reviewed by Pavel Feldman.

Added context menu items to set up network - file system mappings from sources panel.
Implemented mapping add/remove methods on Workspace.
Added a dialog suggesting to reload front-end after making such changes.

* English.lproj/localizedStrings.js:
* inspector/front-end/FileSystemMapping.js:
(WebInspector.FileSystemMappingImpl.prototype.fileSystemPath):
* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
(WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):
* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype.setQuery):
(WebInspector.SelectUISourceCodeDialog):
(WebInspector.SelectUISourceCodeDialog.prototype.uiSourceCodeSelected):
(WebInspector.SelectUISourceCodeDialog.prototype.filterProject):
(WebInspector.SelectUISourceCodeDialog.prototype.filterUISourceCode):
(WebInspector.SelectUISourceCodeDialog.prototype.selectItem):
(WebInspector.SelectUISourceCodeDialog.prototype._uiSourceCodeAdded):
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.prototype.uiSourceCodeSelected):
(WebInspector.OpenResourceDialog.prototype.filterProject):
(WebInspector.SelectUISourceCodeForProjectTypeDialog):
(WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.uiSourceCodeSelected):
(WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.filterProject):
(WebInspector.SelectUISourceCodeForProjectTypeDialog.show):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
(WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
(WebInspector.ScriptsPanel.prototype._removeNetworkMapping):
(WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
(WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
(WebInspector.ScriptsPanel.prototype.):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
* inspector/front-end/SettingsScreen.js:
(WebInspector.WorkspaceSettingsTab):
(WebInspector.WorkspaceSettingsTab.prototype.wasShown):
(WebInspector.WorkspaceSettingsTab.prototype._reset):
* inspector/front-end/ViewportControl.js:
(WebInspector.ViewportControl.prototype.refresh):
* inspector/front-end/Workspace.js:
(WebInspector.Workspace.prototype.addMapping):
(WebInspector.Workspace.prototype.removeMapping):
* inspector/front-end/externs.js:
(WebInspector.suggestReload):
* inspector/front-end/inspector.js:
(WebInspector.suggestReload):

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

7 years agoWeb Inspector: Add support for frontend reloading
vsevik@chromium.org [Thu, 7 Mar 2013 15:32:20 +0000 (15:32 +0000)]
Web Inspector: Add support for frontend reloading
https://bugs.webkit.org/show_bug.cgi?id=111727

Reviewed by Pavel Feldman.

This patch adds support for frontend reloading including:
  - making sure no messages are sent to backend once frontend started reloading
  - updating frontend url with up-to-date dockSide query parameter value.

* inspector/front-end/InspectorBackend.js:
(InspectorBackendClass.prototype.sendMessageObjectToBackend):
(InspectorBackendClass.prototype.disconnect):
* inspector/front-end/externs.js:
(WebInspector.reload):
* inspector/front-end/inspector.js:
(WebInspector.reload):

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

7 years agoWeb Inspector: Change profile start button caption depending on profile type.
commit-queue@webkit.org [Thu, 7 Mar 2013 15:28:32 +0000 (15:28 +0000)]
Web Inspector: Change profile start button caption depending on profile type.
https://bugs.webkit.org/show_bug.cgi?id=111698

Change the start profiling button caption to "Snapshot" for
snapshot-like profile types, e.g. JS heap snapshot, native memory snapshot.

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-07
Reviewed by Yury Semikhatsky.

* English.lproj/localizedStrings.js:
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotProfileType.prototype.isInstantProfile):
* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.NativeSnapshotProfileType.prototype.isInstantProfile):
(WebInspector.NativeMemoryProfileType.prototype.isInstantProfile):
* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):
(WebInspector.ProfileLauncherView.prototype._updateControls):
(WebInspector.MultiProfileLauncherView.prototype._updateControls):
(WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileType.prototype.isInstantProfile):

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

7 years ago[texmap] Remove direct access to clip state from clip stack
bruno.abinader@basyskom.com [Thu, 7 Mar 2013 15:25:54 +0000 (15:25 +0000)]
[texmap] Remove direct access to clip state from clip stack
https://bugs.webkit.org/show_bug.cgi?id=111630

Reviewed by Allan Sandfeld Jensen.

As we are now monitoring the clip state from
TextureMapperGL/BitmapTextureGL, have direct access to clip state object
would eventually make it dirty without properly setting the
'clipStateDirty' flag. This bug intends to substitute direct access with
auxiliary functions which would set the clip state dirty when necessary.

No new tests. No user visible behavior changed.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::ClipStack::intersect):
(WebCore::TextureMapperGL::ClipStack::setStencilIndex):
(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
Replaced direct access with auxiliary functions.

* platform/graphics/texmap/TextureMapperGL.h:
(ClipStack): Removed ClipStack::current() function.
(WebCore::TextureMapperGL::ClipStack::getStencilIndex): Added.
(WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Added.

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

7 years ago[chromium] don't track the top loading frame if no layout test is currently running
jochen@chromium.org [Thu, 7 Mar 2013 15:20:00 +0000 (15:20 +0000)]
[chromium] don't track the top loading frame if no layout test is currently running
https://bugs.webkit.org/show_bug.cgi?id=111716

Reviewed by Kentaro Hara.

In DRT, we synchronously stop the test and start loading the next test
URL. However, in content_shell, this happens asynchronously. It's
important that the top loading frame is not changed due to stray
navigation events before the next test starts.

* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::setTopLoadingFrame):

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

7 years ago[Texturemapper] transform-style 'flat' value is broken
bruno.abinader@basyskom.com [Thu, 7 Mar 2013 14:23:27 +0000 (14:23 +0000)]
[Texturemapper] transform-style 'flat' value is broken
https://bugs.webkit.org/show_bug.cgi?id=111566

Reviewed by Allan Sandfeld Jensen.

After changes from r144290, the CSS3 'transform-styles' property, when
used with 'flat' value, resulted in non-stenciled rendering inside
clipped area - vide example from Surfin' Safari blog:
https://www.webkit.org/blog-files/3d-transforms/transform-style.html

This patch forces the clip state to be applied when binding the default
surface.

No new tests. No user visible behavior changed.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::ClipStack::apply):
(WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Added.
Moved state cache check from apply() to applyIfNeeded().

(WebCore::BitmapTextureGL::clearIfNeeded):
(WebCore::BitmapTextureGL::bind):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
* platform/graphics/texmap/TextureMapperGL.h:
(ClipStack):
Use applyIfNeeded() to check for clip state before clipping.

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

7 years ago[GTK] Expose "ShouldRespectImageOrientation" setting into WebKitWebSettings
commit-queue@webkit.org [Thu, 7 Mar 2013 14:22:48 +0000 (14:22 +0000)]
[GTK] Expose "ShouldRespectImageOrientation" setting into WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=111414

Patch by Tomas Popela <tpopela@redhat.com> on 2013-03-07
Reviewed by Carlos Garcia Campos.

We should expose ShouldRespectImageOrientation setting into
WebKitWebSettings. When it is enabled, the images are shown with right
orientation regarding to images EXIF data.

* webkit/webkitwebsettings.cpp:
(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):
* webkit/webkitwebsettingsprivate.h:
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

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

7 years agoWeb Inspector: refactoring: move TextEditorModel.Indent enum into TextUtils
commit-queue@webkit.org [Thu, 7 Mar 2013 14:22:01 +0000 (14:22 +0000)]
Web Inspector: refactoring: move TextEditorModel.Indent enum into TextUtils
https://bugs.webkit.org/show_bug.cgi?id=111715

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Move WebInspector.TextEditorModel.Indent into WebInspector.TextUtils namespace.

No new tests: no change in behaviour.

* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):
* inspector/front-end/TextEditorModel.js:
(WebInspector.TextEditorModel.endsWithBracketRegex.):
* inspector/front-end/TextUtils.js:

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

7 years agoWeb Inspector: Add more diagnostics output to testRendererProcessNativeMemorySize
commit-queue@webkit.org [Thu, 7 Mar 2013 14:17:25 +0000 (14:17 +0000)]
Web Inspector: Add more diagnostics output to testRendererProcessNativeMemorySize
https://bugs.webkit.org/show_bug.cgi?id=111599

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-07
Reviewed by Yury Semikhatsky.

Add the process size to the test output.

* src/js/Tests.js:

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

7 years agoFix painting phases for composited scrolling
vollick@chromium.org [Thu, 7 Mar 2013 14:00:57 +0000 (14:00 +0000)]
Fix painting phases for composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=107618

Reviewed by Simon Fraser.

With composited scrolling, the scrolling contents layer paints the
foreground and the main graphics layer paints the background. This
causes a few problems:

  1) If we create a foreground layer, we end up with two layers painting
     the foreground phase.
  2) Focus rings / outlines paint into the foreground layer, so they end
     up moving around with the scrolling contents.
  3) Neg z-order descendants paint in the the main graphics layer and
     will therefore not scroll.

To deal with 1) we need to stop painting the foreground into both the
foreground and scrolling contents layers. We also need to ensure that
the foreground layer is the right size and has the right offset from
renderer if we're on the composited scrolling path.

To deal with 2) and 3), I have added a new graphics layer painting phase
flag -- GraphicsLayerPaintCompositedScroll -- and applied it to two
layers in the subtree created by RenderLayerBacking. This ultimately
affects the paint phase passed to RenderLayer::paintLayerContents and
allows us to paint the focus rings, outlines and negative z-order
descendants into the proper layers.

Source/WebCore:

Tests: compositing/overflow/composited-scrolling-paint-phases.html
       compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
       compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html

* page/Frame.h:
  Added a flag for including painting phases in the layer tree dump.
(WebCore::GraphicsLayer::dumpProperties):
  Can now dump painting phase information, but only if requested.
* platform/graphics/GraphicsLayerClient.h:
  Added a new entry to GraphicsLayerPaintingPhaseFlags for comp-scroll.
(WebCore::RenderLayer::paintLayerContents):
  Updated the logic to account for the new comp-scroll-related paint
  phase flag.
* rendering/RenderLayer.h:
  Added the RenderLayer painting phase counterpart to
  GraphicsLayerPaintCompositedScroll.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  Ensures that the foreground layer is sized correctly for comp-scroll.
(WebCore::RenderLayerBacking::updateScrollingLayers):
  If we have a foreground layer, the scrolling contents layer no
  longer gets assigned the foreground painting phase.
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
  If we're comp-scrolling, then the primary layer gets the new phase.
(WebCore::RenderLayerBacking::paintIntoLayer):
  Simply translates the new graphics layer painting phase to its
  render layer counterpart.
(WebCore::RenderLayerCompositor::layerTreeAsText):
* testing/Internals.cpp:
(WebCore::Internals::layerTreeAsText):
* testing/Internals.h:
* testing/Internals.idl:
  The above changes are solely plumbing to allow layout tests to
  request that paint phase information be included in the layer tree
  dump.

LayoutTests:

* compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
* compositing/overflow/composited-scrolling-paint-phases.html: Added.
* platform/mac/compositing/overflom/composited-scrolling-paint-phases-expected.txt: Added.
  This is a text-based test that checks that the graphics layer
  painting phases are correct with composited scrolling + foreground
  layers.
* compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html: Added.
* compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html: Added.
  These tests cover cases 2) and 3) above.
* platform/chromium/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
  These have been updated to reflect the missing baselines.

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

7 years ago[Qt] Use Qt5.1 supportedMimeTypes methods.
allan.jensen@digia.com [Thu, 7 Mar 2013 13:52:35 +0000 (13:52 +0000)]
[Qt] Use Qt5.1 supportedMimeTypes methods.
https://bugs.webkit.org/show_bug.cgi?id=111185

Reviewed by Jocelyn Turcotte.

Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.

* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):

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

7 years agoWeb Inspector: Flame Chart. Stick item color to the function.
loislo@chromium.org [Thu, 7 Mar 2013 13:36:43 +0000 (13:36 +0000)]
Web Inspector: Flame Chart. Stick item color to the function.
https://bugs.webkit.org/show_bug.cgi?id=111697

Reviewed by Yury Semikhatsky.

Different nodes associated with a single function have to use the same color.
Minor polish: do not filter out (idle) and (program) items. They were big due to an error on v8 side.
Set minimum width to 0 for more precise picture.

* inspector/front-end/FlameChart.js:
(WebInspector.FlameChart):
(WebInspector.FlameChart.prototype._rootNodes):
(WebInspector.FlameChart.prototype.draw):
(WebInspector.FlameChart.prototype._drawNode):
(WebInspector.FlameChart.prototype._drawBar):

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

7 years agoWeb Inspector: [ACE] gutter size should be fixed.
commit-queue@webkit.org [Thu, 7 Mar 2013 12:55:51 +0000 (12:55 +0000)]
Web Inspector: [ACE] gutter size should be fixed.
https://bugs.webkit.org/show_bug.cgi?id=111576

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Add a custom ace editor build that supports setFixedGutterWidth configuration
parameter and switch this setting on.

No new tests.

* inspector/front-end/AceTextEditor.js:
(WebInspector.AceTextEditor): Switch fixedGutterWidth setting on.
* inspector/front-end/ace/ace.js:
(.):

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

7 years agoUnreviewed, rolling out r145059.
commit-queue@webkit.org [Thu, 7 Mar 2013 11:49:33 +0000 (11:49 +0000)]
Unreviewed, rolling out r145059.
http://trac.webkit.org/changeset/145059
https://bugs.webkit.org/show_bug.cgi?id=111707

crash webkit build (Requested by tasak on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/DocumentRuleSets.cpp:
(WebCore::ShadowDistributedRules::collectMatchRequests):
* css/DocumentRuleSets.h:
* css/ElementRuleCollector.cpp: Removed.
* css/ElementRuleCollector.h: Removed.
* css/PageRuleCollector.cpp: Removed.
* css/PageRuleCollector.h: Removed.
* css/StyleResolver.cpp:
(WebCore::leftToRightDeclaration):
(WebCore):
(WebCore::rightToLeftDeclaration):
(WebCore::StyleResolver::State::ensureRuleList):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::addMatchedProperties):
(WebCore::StyleResolver::addElementStyleProperties):
(MatchingUARulesScope):
(WebCore::MatchingUARulesScope::MatchingUARulesScope):
(WebCore::MatchingUARulesScope::~MatchingUARulesScope):
(WebCore::MatchingUARulesScope::isMatchingUARules):
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::compareRules):
(WebCore::StyleResolver::sortMatchedRules):
(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
(WebCore::comparePageRules):
(WebCore::StyleResolver::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::StyleResolver::matchPageRulesForList):
(WebCore::StyleResolver::isLeftPage):
(WebCore::StyleResolver::isFirstPage):
(WebCore::StyleResolver::pageName):
* css/StyleResolver.h:
(WebCore::MatchRequest::MatchRequest):
(MatchRequest):
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
(State):
(WebCore::StyleResolver::State::takeRuleList):
(WebCore::StyleResolver::State::setSameOriginOnly):
(WebCore::StyleResolver::State::isSameOriginOnly):
(WebCore::StyleResolver::State::pseudoStyleRequest):
(WebCore::StyleResolver::State::setMode):
(WebCore::StyleResolver::State::mode):
(WebCore::StyleResolver::State::matchedRules):
(WebCore::StyleResolver::State::addMatchedRule):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willMatchRule):
* inspector/InspectorCSSAgent.h:
(WebCore):
(InspectorCSSAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

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

7 years agoUnreviewed. Rebaselined run-bindings-tests.
haraken@chromium.org [Thu, 7 Mar 2013 11:43:54 +0000 (11:43 +0000)]
Unreviewed. Rebaselined run-bindings-tests.

* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):

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

7 years ago[Refactoring] Implement RuleCollector
tasak@google.com [Thu, 7 Mar 2013 11:19:30 +0000 (11:19 +0000)]
[Refactoring] Implement RuleCollector
https://bugs.webkit.org/show_bug.cgi?id=109916

Reviewed by Antti Koivisto.

Implemented rule collector for an element and collector for a page.
Not all members in class State are required entire while resolving
a style.

No new tests, because just refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
Added ElementRuleCollector and PageRuleCollector.
* css/DocumentRuleSets.cpp:
(WebCore::ShadowDistributedRules::collectMatchRequests):
Since behaviorAtBoundary is a state owned by ElementRuleCollector,
removed from here.
* css/DocumentRuleSets.h:
(WebCore::ShadowDistributedRules::isEmpty):
Added to quickly check whether there exist any ShadowDistributedRules
or not.
* css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore):
(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::ensureRuleList):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::matchScopedAuthorRules):
(WebCore::ElementRuleCollector::matchHostRules):
(WebCore::ElementRuleCollector::matchShadowDistributedRules):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::matchUARules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::sortMatchedRules):
(WebCore::ElementRuleCollector::matchAllRules):
Moved these methods from StyleResolver to this class.
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
This method is used for checking whether a given element can share
a cache.
* css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
(WebCore):
(WebCore::ElementRuleCollector::ElementRuleCollector):
Use styleResolver instance to initialize its member variables, i.e.
SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
StyleScopedResolver.
(ElementRuleCollector):
(WebCore::ElementRuleCollector::setMode):
(WebCore::ElementRuleCollector::setPseudoStyleRequest):
(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling):
Mode, SameOriginOnly, RegionForStyling are only used while collecting
matched rules.
(WebCore::ElementRuleCollector::setMedium):
Need to know which default stylesheet should be looked up.
(WebCore::ElementRuleCollector::document):
* css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore::comparePageRules):
(WebCore::PageRuleCollector::isLeftPage):
(WebCore::PageRuleCollector::isFirstPage):
(WebCore::PageRuleCollector::pageName):
(WebCore::PageRuleCollector::matchAllPageRules):
(WebCore::PageRuleCollector::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::PageRuleCollector::matchPageRulesForList):
Moved from StyleResolver.
* css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
(WebCore):
(WebCore::PageRuleCollector::PageRuleCollector):
(PageRuleCollector):
(WebCore::PageRuleCollector::matchedResult):
* css/StyleResolver.cpp:
(WebCore):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):
* css/StyleResolver.h:
(WebCore::MatchRequest::MatchRequest):
Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
state.
(MatchRequest):
(WebCore::StyleResolver::selectorFilter):
Added to obtain SelectorFilter in ElementRuleCollector's constructor.
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
To pass ASSERT in StyleResolver::applyProperties, need to keep
m_regionForStyling.
(State):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::useSVGZoomRules):
(WebCore::StyleResolver::hasSelectorForId):
(WebCore):
(WebCore::checkRegionSelector):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willMatchRule):
Removed StyleResolver from its parameter list. Instead, added
InspectorCSSOMWrappers and DocumentStyleSheetCollection.
* inspector/InspectorCSSAgent.h:
(WebCore):
(InspectorCSSAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

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

7 years agoWeb Inspector: [ACE] add experimental breakpoint support
commit-queue@webkit.org [Thu, 7 Mar 2013 10:41:25 +0000 (10:41 +0000)]
Web Inspector: [ACE] add experimental breakpoint support
https://bugs.webkit.org/show_bug.cgi?id=111573

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

- Implement attributes model for ace editor. Update attribute
locations by handling onTextChange event from editor.
- Implement breakpoints atop of attributes model.

* inspector/front-end/AceTextEditor.js:
(WebInspector.AceTextEditor):
(WebInspector.AceTextEditor.prototype._updateBreakpoints):
(WebInspector.AceTextEditor.prototype._updateLineAttributes):
(WebInspector.AceTextEditor.prototype._onTextChange):
(WebInspector.AceTextEditor.prototype.addBreakpoint):
(WebInspector.AceTextEditor.prototype.removeBreakpoint):
(WebInspector.AceTextEditor.prototype.getAttribute):
(WebInspector.AceTextEditor.prototype.setAttribute):
(WebInspector.AceTextEditor.prototype.removeAttribute):
* inspector/front-end/ace/acedevtools.css:
(.ace-editor-container):
(.ace_gutter-cell.webkit-breakpoint):
(.ace_gutter-cell.webkit-breakpoint-conditional):
(.ace_gutter-cell.webkit-breakpoint-disabled):
(.ace_gutter-cell):

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

7 years agoWeb Inspector: identify layers for CSS generated content in LayerTreeAgent
graouts@apple.com [Thu, 7 Mar 2013 10:39:15 +0000 (10:39 +0000)]
Web Inspector: identify layers for CSS generated content in LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111551

Source/WebCore:

Layers can be associated with pseudo elements, elements that are generated
when ::before or ::after pseudo-classes are used to style an element and
provide additional rendering using the CSS "content" property. In order to
identify that a layer is associated to a pseudo element, we add a new set of
optional properties on the Layer object: "isGeneratedContent", "pseudoElementId"
and "pseudoClass".

We need to provide the "pseudoElementId" for the same reason we provide a
"nodeId" for the Layer. This is so that the front-end can identify that a
layer whose "layerId" may have changed between two layer tree updates is
used to render content for the same pseudo element.

In the instance that a layer is rendering generated content, we also set
the "nodeId" to be the generating node's id. The generating node is the
node in the DOM that the user styled using ::before or ::after pseudo-classes.
We also add the pseudo-class used as the "pseudoClass" property such that the
front-end may provide useful information to the user about what type of
pseudo-class yielded the generation of this layer. We also deal with the
possibility that the layer is a reflection for a pseudo element.

Since pseudo elements are not part of the user-visible DOM, and thus can't be
pushed to the front-end, we maintain a special ID hash map in the LayerTreeAgent.
In order to be able to unbind a pseudo element id and a pseudo element, we add a
destructor method to PseudoElement and provide a new instrumentation call so that
the LayerTreeAgent may be notified of a PseudoElement being destroyed. This
reflects the principle we use to update the RenderLayer bindings when a
RenderLayer is destroyed, as notified by the RenderLayerCompositor.

Reviewed by Simon Fraser.

Test: inspector-protocol/layers/layers-generated-content.html

* dom/PseudoElement.cpp:
(WebCore::PseudoElement::~PseudoElement): New destructor used to notify
InspectorInstrumentation of a PseudoElement being destroyed, such that
it can eventually be relayed to the InspectorLayerTreeAgent.
(WebCore):
* dom/PseudoElement.h:
(PseudoElement):
* inspector/Inspector.json: Add the new PseudoElementId type used for
the new "pseudoElementId" property on Layer, to which we also add the
"isGeneratedContent" and "pseudoClass" properties.
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed): New method
called in the PseudoElement destructor used to relay the fact that a
PseudoElement was destroyed to the InspectorLayerTreeAgent.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::reset): Clear the new PseudoElement
identifier maps.
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed): Remove any
identifier binding for the provided PseudoElement being destroyed.
(WebCore):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Set the new
"isGeneratedContent", "pseudoElementId" and "pseudoClass" properties on
the Layer object for layers associated with a pseudo element.
(WebCore::InspectorLayerTreeAgent::bind): Use emptyString() instead of "".
(WebCore::InspectorLayerTreeAgent::unbind): Use an iterator instead of a
get() and remove() combination in order to reduce lookups and mimick the
code written for unbindPseudoElement().
(WebCore::InspectorLayerTreeAgent::bindPseudoElement): Binds the provided
PseudoElement to a unique identifier.
(WebCore::InspectorLayerTreeAgent::unbindPseudoElement): Unbinds the
provided PseudoElement from its unique identifier.
* inspector/InspectorLayerTreeAgent.h:
(InspectorLayerTreeAgent):

LayoutTests:

New tests for layers associated with pseudo elements.

Reviewed by Simon Fraser.

* inspector-protocol/layers/layers-generated-content-expected.txt: Added.
* inspector-protocol/layers/layers-generated-content.html: Added.

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

7 years ago[Qt] Unreviewed gardneing. Skipped some failing tests.
kadam@inf.u-szeged.hu [Thu, 7 Mar 2013 10:08:03 +0000 (10:08 +0000)]
[Qt] Unreviewed gardneing. Skipped some failing tests.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoAdd clear button to date/time input types
keishi@webkit.org [Thu, 7 Mar 2013 10:06:19 +0000 (10:06 +0000)]
Add clear button to date/time input types
https://bugs.webkit.org/show_bug.cgi?id=111319

Reviewed by Kent Tamura.

Source/WebCore:

We want to remove the clear button from the calendar picker (Bug 109439)
so we are adding the clear button to the right side of the input element.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html

* CMakeLists.txt: Added ClearButtonElement.cpp
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/html.css:
(input::-webkit-clear-button): Styles for the clear button.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::requiredAttributeChanged): Hide clear button if the value is required.
(WebCore):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::focusAndSelectClearButtonOwner): Called on mouse down on clear button.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldClearButtonRespondToMouseEvents):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::clearValue):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateClearButtonVisibility): We want to hide the clear button if the value is required or the value is empty.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateClearButtonVisibility):
(WebCore):
(WebCore::HTMLInputElement::requiredAttributeChanged):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore::InputType::requiredAttributeChanged): Notifies the InputType that the required attribute has changed.
(WebCore):
(WebCore::InputType::updateClearButtonVisibility):
* html/InputType.h:
(InputType):
* html/shadow/ClearButtonElement.cpp: Added.
(WebCore):
(WebCore::ClearButtonElement::ClearButtonElement):
(WebCore::ClearButtonElement::create):
(WebCore::ClearButtonElement::detach):
(WebCore::ClearButtonElement::releaseCapture): Stop capturing mouse events.
(WebCore::ClearButtonElement::defaultEventHandler):
* html/shadow/ClearButtonElement.h: Added.
(WebCore):
(ClearButtonElement):
(ClearButtonOwner):
(WebCore::ClearButtonElement::ClearButtonOwner::~ClearButtonOwner):
(WebCore::ClearButtonElement::removeClearButtonOwner):
(WebCore::ClearButtonElement::isMouseFocusable):

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-mouse-events-expected.txt:
* fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events-expected.txt:
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html:
* fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-mouse-events-expected.txt:
* fast/forms/month-multiple-fields/month-multiple-fields-mouse-events.html:
* fast/forms/resources/common-clearbutton-change-and-input-events.js: Added.
(.testInput.onchange):
(.testInput.oninput):
(testClearButtonChangeAndInputEvents):
* fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-mouse-events-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html:
* fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html:
* fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt:
* fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html:
* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: Refactorings: Prepare SuggestBox for reuse.
eustas@chromium.org [Thu, 7 Mar 2013 09:49:44 +0000 (09:49 +0000)]
Web Inspector: Refactorings: Prepare SuggestBox for reuse.
https://bugs.webkit.org/show_bug.cgi?id=111301

Reviewed by Alexander Pavlov.

1) Remove userEnteredText from delegate interface.
   Pass prefix to updateSuggestions instead.
2) Clarify that suggestions array is never null.

* inspector/front-end/SuggestBox.js:
(WebInspector.SuggestBox): Renamed parameter/member.
(WebInspector.SuggestBox.prototype._updateItems):
Minor readability changes.
(WebInspector.SuggestBox.prototype._canShowBox):
Use userEnteredText parameter.
(WebInspector.SuggestBox.prototype.updateSuggestions):
Pass userEnteredText to _canShowBox.
* inspector/front-end/DatabaseQueryView.js: Fix JSDocs.
* inspector/front-end/RuntimeModel.js: Ditto.
* inspector/front-end/TextPrompt.js: Ditto.
(WebInspector.TextPrompt.prototype._completionsReady):
Pass userEnteredText to updateSuggestions.

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

7 years agoTextTrackRegion Constructor
vcarbune@chromium.org [Thu, 7 Mar 2013 09:29:10 +0000 (09:29 +0000)]
TextTrackRegion Constructor
https://bugs.webkit.org/show_bug.cgi?id=110511

Reviewed by Adam Barth.

Source/WebCore:

This is an initial patch for implementing the TextTrackRegion
defined in the "WebVTT Extension: Regions for rendering cue groups":
https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html

The feature components are hidden behind the WEBVTT_REGIONS flag
and is currently disabled by default in all ports and tests skipped.

Test: media/track/regions-webvtt/text-track-region-constructor.html

* WebCore.gypi: Added files to be included for building Chromium with
feature enabled (it is disabled by default).
* html/track/TextTrackRegion.cpp: Added.
(WebCore):
(WebCore::TextTrackRegion::TextTrackRegion):
(WebCore::TextTrackRegion::~TextTrackRegion):
(WebCore::TextTrackRegion::setId): Setter.
(WebCore::TextTrackRegion::setWidth): Setter.
(WebCore::TextTrackRegion::setHeight): Setter.
(WebCore::TextTrackRegion::setRegionAnchorX): Setter.
(WebCore::TextTrackRegion::setRegionAnchorY): Setter.
(WebCore::TextTrackRegion::setViewportAnchorX): Setter.
(WebCore::TextTrackRegion::setViewportAnchorY): Setter.
(WebCore::TextTrackRegion::scroll): Getter. Internally, the scroll
value is stored as a boolean, but when returned is converted to either
the empty string or "up".
(WebCore::TextTrackRegion::setScroll): Setter.
(WebCore::TextTrackRegion::setRegionSettings): Not used yet (see b/109818)
* html/track/TextTrackRegion.h: Added.
(WebCore):
(TextTrackRegion):
(WebCore::TextTrackRegion::create):
(WebCore::TextTrackRegion::track): Getter.
(WebCore::TextTrackRegion::id): Getter.
(WebCore::TextTrackRegion::width): Getter.
(WebCore::TextTrackRegion::height): Getter.
(WebCore::TextTrackRegion::regionAnchorX): Getter.
(WebCore::TextTrackRegion::regionAnchorY): Getter.
(WebCore::TextTrackRegion::viewportAnchorX): Getter.
(WebCore::TextTrackRegion::viewportAnchorY): Getter.
(WebCore::TextTrackRegion::regionSettings): Getter, used only internally (see b/109818).
* html/track/TextTrackRegion.idl: Added.
* page/DOMWindow.idl: Constructor support.

LayoutTests:

* TestExpectations:
* media/track/regions-webvtt/text-track-region-constructor-expected.txt: Added.
* media/track/regions-webvtt/text-track-region-constructor.html: Added.

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

7 years agoConvertThis should be turned into Identity based on predictions in Fixup, rather...
fpizlo@apple.com [Thu, 7 Mar 2013 09:04:57 +0000 (09:04 +0000)]
ConvertThis should be turned into Identity based on predictions in Fixup, rather than based on proofs in ConstantFolding
https://bugs.webkit.org/show_bug.cgi?id=111674

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This gets rid of the speculated forms of ConvertThis in the backend, and has Fixup
convert them to either Identity(Object:@child) if the child is predicted object, or
Phantom(Other:@child) ; WeakJSConstant(global this object) if it's predicted Other.

The goal of this is to ensure that the optimization fixpoint doesn't create
Identity's, since doing so requires a rerun of CSE. So far this isn't a speed-up
but I'm hoping this will be a step towards reducing the need to rerun the fixpoint
so as to ultimately reduce compile times.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::executeEffects):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(FixupPhase):
(JSC::DFG::FixupPhase::observeUseKindOnNode):
(JSC::DFG::FixupPhase::setUseKindAndUnboxIfProfitable):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::globalThisObjectFor):
(Graph):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::convertToIdentity):
(JSC::DFG::Node::convertToWeakConstant):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Oliver Hunt.

* fast/js/dfg-convert-this-object-then-exit-on-other-expected.txt: Added.
* fast/js/dfg-convert-this-object-then-exit-on-other.html: Added.
* fast/js/dfg-convert-this-other-then-exit-on-object-expected.txt: Added.
* fast/js/dfg-convert-this-other-then-exit-on-object.html: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other-expected.txt: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other.html: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string-expected.txt: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-convert-this-object-then-exit-on-other.js: Added.
(foo):
* fast/js/script-tests/dfg-convert-this-other-then-exit-on-object.js: Added.
(foo):
* fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js: Added.
(foo):
* fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js: Added.
(foo):

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 7 Mar 2013 08:52:51 +0000 (08:52 +0000)]
Unreviewed gardening.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:

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

7 years ago[v8] remove latin-1 transition flag
commit-queue@webkit.org [Thu, 7 Mar 2013 08:51:42 +0000 (08:51 +0000)]
[v8] remove latin-1 transition flag
https://bugs.webkit.org/show_bug.cgi?id=111692

Patch by Dan Carney <dcarney@google.com> on 2013-03-07
Reviewed by Jochen Eisinger.

No new tests. No change in functionality.

* bindings/v8/V8ValueCache.cpp:
(WebCore::makeExternalString):

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

7 years agoWeb Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
vsevik@chromium.org [Thu, 7 Mar 2013 08:27:14 +0000 (08:27 +0000)]
Web Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
https://bugs.webkit.org/show_bug.cgi?id=111691

Reviewed by Alexander Pavlov.

Source/WebCore:

Made String.prototype methods return string literal, not String object.

* inspector/front-end/utilities.js:
(String.prototype.escapeCharacters):

LayoutTests:

* inspector/debugger/navigator-view-expected.txt:
* inspector/debugger/navigator-view.html:

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

7 years agoChildren method in LLINT AST Not class should return [@child]
commit-queue@webkit.org [Thu, 7 Mar 2013 08:18:45 +0000 (08:18 +0000)]
Children method in LLINT AST Not class should return [@child]
https://bugs.webkit.org/show_bug.cgi?id=90740

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-03-07
Reviewed by Filip Pizlo.

* offlineasm/ast.rb: Fixed the return value of the children method in the Not AST class.

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

7 years ago[chromium] expose UserGestureToken via WebKit API so PPAPI plugins can correctly...
jochen@chromium.org [Thu, 7 Mar 2013 08:12:31 +0000 (08:12 +0000)]
[chromium] expose UserGestureToken via WebKit API so PPAPI plugins can correctly consume it
https://bugs.webkit.org/show_bug.cgi?id=104268

Reviewed by Darin Fisher.

Currently, the PPAPI creates a WebScopedUserGesture up to 10 seconds
after a call with an currently active user gesture was made. It should
use the newly added WebUserGestureToken to make sure this user gesture
is not consumed multiple times.

We can't require a WebUserGestureToken for a WebScopedUserGesture, since
e.g. the extension API needs to be able to create a WebScopedUserGesture
out of the blue.

* WebKit.gyp:
* WebKit.gypi:
* public/WebScopedUserGesture.h:
(WebKit):
(WebKit::WebScopedUserGesture::WebScopedUserGesture):
(WebScopedUserGesture):
* public/WebUserGestureIndicator.h:
(WebKit):
(WebUserGestureIndicator):
* public/WebUserGestureToken.h: Copied from Source/WebKit/chromium/public/WebScopedUserGesture.h.
(WebCore):
(WebKit):
(WebUserGestureToken):
(WebKit::WebUserGestureToken::WebUserGestureToken):
(WebKit::WebUserGestureToken::operator=):
(WebKit::WebUserGestureToken::~WebUserGestureToken):
(WebKit::WebUserGestureToken::isNull):
* src/WebScopedUserGesture.cpp:
(WebKit::WebScopedUserGesture::initializeWithToken):
(WebKit):
* src/WebUserGestureIndicator.cpp:
(WebKit::WebUserGestureIndicator::currentUserGestureToken):
(WebKit):
* src/WebUserGestureToken.cpp: Copied from Source/WebKit/chromium/src/WebUserGestureIndicator.cpp.
(WebKit):
(WebKit::WebUserGestureToken::WebUserGestureToken):
(WebKit::WebUserGestureToken::operator WebCore::UserGestureToken*):
(WebKit::WebUserGestureToken::assign):
(WebKit::WebUserGestureToken::reset):
* tests/WebUserGestureTokenTest.cpp: Copied from Source/WebKit/chromium/src/WebUserGestureIndicator.cpp.
(WebCore):
(WebCore::TEST):

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

7 years agoWeb Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
eustas@chromium.org [Thu, 7 Mar 2013 08:08:58 +0000 (08:08 +0000)]
Web Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
https://bugs.webkit.org/show_bug.cgi?id=111357

Reviewed by Pavel Feldman.

Allow panel shortcut handlers to bubble event.

* inspector/front-end/GoToLineDialog.js:
(WebInspector.GoToLineDialog.install): Minor refactoring, added JSDocs.
(WebInspector.GoToLineDialog._show): Added JSDocs and return value.
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.handleShortcut):
Mark event as handled iff handler returned true.
* inspector/front-end/ScriptsPanel.js: Added return values to handlers.
* inspector/front-end/TimelinePanel.js: Ditto.

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

7 years agoBox-shadow displayed improperly with border-radius.
tasak@google.com [Thu, 7 Mar 2013 07:52:44 +0000 (07:52 +0000)]
Box-shadow displayed improperly with border-radius.
https://bugs.webkit.org/show_bug.cgi?id=111256

Reviewed by Simon Fraser.

Source/WebCore:

RoundedRect::adjustRadii doesn't adjust radii correctly, because
the method compares maxRadiusWidth with maxRadiusHeight. However,
we have to compare maxRadiusWidth / rect.width() with
maxRadiusHeight / rect.height().

Test: fast/borders/border-radius-with-box-shadow-01.html

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::adjustRadii):
Should check which ratio is smaller.

LayoutTests:

* fast/borders/border-radius-with-box-shadow-01-expected.txt: Added.
* fast/borders/border-radius-with-box-shadow-01.html: Added.
* platform/chromium-linux/fast/borders/border-radius-with-box-shadow-01-expected.png: Added.

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

7 years ago[V8] Preprocess constant values to avoid a "static_cast<signed int>" in CodeGeneratorV8.
mkwst@chromium.org [Thu, 7 Mar 2013 07:49:06 +0000 (07:49 +0000)]
[V8] Preprocess constant values to avoid a "static_cast<signed int>" in CodeGeneratorV8.
https://bugs.webkit.org/show_bug.cgi?id=111625

Reviewed by Kentaro Hara.

When processing constants in IDL files, CodeGeneratorV8 currently runs
the values through 'static_cast<signed int>' in the generated code. We
can avoid this miniscule bit of overhead by preprocessing the hex value
in Perl when generating the code.

The FIXME has been in the code since it originally landed in 2009[1].
Now's as good a time as any to take care of it.

[1]: http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm?rev=144976#L2933

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
    If we're presented with a string which begins with '0x', run it
    through some fairly obtuse Perlisms to first convert from a hex
    string to an integer ('hex($value)'), "pack" the integer as an
    unsigned integer ('pack("I", ...)'), and then "unpack" it as a
    signed integer ('unpack("i", ...)'). Because that's _of course_
    how you would do things.

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

7 years ago SandboxExtension::createHandle raises an uncaught Objective-C exception if...
ap@apple.com [Thu, 7 Mar 2013 07:25:20 +0000 (07:25 +0000)]
    SandboxExtension::createHandle raises an uncaught Objective-C exception if path is empty
        https://bugs.webkit.org/show_bug.cgi?id=111689

        Reviewed by Filip Pizlo.

        * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::createHandle):
        Use a function from WebCore platform layer instead of Foundation one equivalent.
        We already do this elsewhere in this file.

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

7 years agoWebKit does not build without accelerated compositing after Changeset 144823
commit-queue@webkit.org [Thu, 7 Mar 2013 06:47:21 +0000 (06:47 +0000)]
WebKit does not build without accelerated compositing after Changeset 144823
https://bugs.webkit.org/show_bug.cgi?id=111597

Patch by Paweł Forysiuk <tuxator@o2.pl> on 2013-03-06
Reviewed by Kentaro Hara.

Properly guard functions ifdefed in ScrollingCoordinator.h.
Remove redundant checks and fallback code inside those functions.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
(WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
(WebCore):

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

7 years agoCustom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
morrita@google.com [Thu, 7 Mar 2013 06:32:27 +0000 (06:32 +0000)]
Custom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=111678

Reviewed by Kentaro Hara.

The latest Custom Elements standard supports non-HTML custom elements. Even though current implementation
support only HTML, it'd be better off to make API generic enough to support them.

This change

- eliminates HTMLElement from the API signature by replacing it with Element, and
- rename V8HTMLCustomElement to V8CustomElement.

No new tests, just changing signatures and a class name.

* WebCore.gypi:
* bindings/v8/V8CustomElement.cpp: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp.
(WebCore):
(WebCore::findWrapperTypeOf):
(WebCore::V8CustomElement::createWrapper):
* bindings/v8/V8CustomElement.h: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.h.
(WebCore):
(V8CustomElement):
(WebCore::V8CustomElement::toV8):
(WebCore::V8CustomElement::wrap):
(WebCore::HTMLCustomElement::wrap):
* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElement):
* dom/CustomElementConstructor.h:
(WebCore):
(CustomElementConstructor):
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::constructorOf):
(WebCore::CustomElementRegistry::createElement):
* dom/CustomElementRegistry.h:
(WebCore):
(CustomElementRegistry):
* dom/Document.cpp: Ensured that the document is an HTML.
(WebCore::Document::registerElement):
* dom/Document.idl:
* dom/make_names.pl:
(printWrapperFactoryCppFile):
* html/HTMLDocument.idl: Moved an API to Document.idl

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

7 years ago[wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame...
timothy_horton@apple.com [Thu, 7 Mar 2013 05:58:57 +0000 (05:58 +0000)]
[wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
https://bugs.webkit.org/show_bug.cgi?id=111662
<rdar://problem/13355808>

Reviewed by Simon Fraser.

Instead of setNeedsDisplay()ing the whole page overlay layer every time through
TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
necessary to keep things painted in the right place when we scroll (the overlay
is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.

This works with threaded scrolling because overlay installation forces us
into main-thread scrolling mode.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scroll):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

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

7 years agoTileCache debug minimap should fit inside the intersection of the visible rect and...
timothy_horton@apple.com [Thu, 7 Mar 2013 05:55:29 +0000 (05:55 +0000)]
TileCache debug minimap should fit inside the intersection of the visible rect and exposed rect
https://bugs.webkit.org/show_bug.cgi?id=111655
<rdar://problem/13355773>

Reviewed by Simon Fraser.

If content clips to the exposed rect, make the TileCache minimap fit in the exposed rect too.

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::updateTileCoverageMap):

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

7 years ago[wk2] Page overlays should use the accelerated drawing setting instead of hardcoding...
timothy_horton@apple.com [Thu, 7 Mar 2013 05:54:16 +0000 (05:54 +0000)]
[wk2] Page overlays should use the accelerated drawing setting instead of hardcoding it on
https://bugs.webkit.org/show_bug.cgi?id=111654
<rdar://problem/13364085>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):

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

7 years agoUnreviewed, rolling out r144726.
commit-queue@webkit.org [Thu, 7 Mar 2013 05:49:15 +0000 (05:49 +0000)]
Unreviewed, rolling out r144726.
http://trac.webkit.org/changeset/144726
https://bugs.webkit.org/show_bug.cgi?id=111681

caused performance regression for Dromaeo attribute tests.
(Requested by arpitab on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-06

Source/WebCore:

* dom/Element.h:
(WebCore::ElementData::getAttributeItemIndex):

LayoutTests:

* fast/dom/Element/getAttribute-case-insensitivity-expected.txt: Removed.
* fast/dom/Element/getAttribute-case-insensitivity.html: Removed.

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

7 years agoFile.lastModifiedDate() should return the current date/time if the file date/time...
kinuko@chromium.org [Thu, 7 Mar 2013 05:20:29 +0000 (05:20 +0000)]
File.lastModifiedDate() should return the current date/time if the file date/time is not available
https://bugs.webkit.org/show_bug.cgi?id=111403

Reviewed by Kent Tamura.

Source/WebCore:

Per the recent File API spec change:
http://www.w3.org/TR/2012/WD-FileAPI-20121025/#dfn-lastModifiedDate

Test: http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js:

* fileapi/File.cpp:
(WebCore::File::lastModifiedDate): Changed to return the current date/time instead null if the valid file date/time is not available.
* fileapi/File.h:
(File):

LayoutTests:

* http/tests/local/fileapi/file-last-modified-after-delete-expected.txt: Updated.
* http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js: Updated.

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

7 years agoMake RuleData support up to 8191 selectors
commit-queue@webkit.org [Thu, 7 Mar 2013 04:54:39 +0000 (04:54 +0000)]
Make RuleData support up to 8191 selectors
https://bugs.webkit.org/show_bug.cgi?id=111663

Patch by Philippe Liard <pliard@chromium.org> on 2013-03-06
Reviewed by Andreas Kling.

r125294 made RuleData consume less memory by replacing a pointer with
an index encoded on 12 bits.
This unfortunately breaks Chrome for Android (and others) when a lot of
CSS is used or more precisely when selectorIndex cannot be stored on 12
bits.

Threfore this change decreases the number of bits used to store
m_position by 1 (from 19 to 18) and adds this extra bit to
m_selectorIndex so that values up to 8191 can be stored safely without
overflowing.

* css/RuleSet.h:
(RuleData):

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

7 years ago[chromium] Fix typo: destoryPage() => destroyPage()
commit-queue@webkit.org [Thu, 7 Mar 2013 04:47:51 +0000 (04:47 +0000)]
[chromium] Fix typo: destoryPage() => destroyPage()
https://bugs.webkit.org/show_bug.cgi?id=111664

Patch by David Dorwin <ddorwin@chromium.org> on 2013-03-06
Reviewed by Kentaro Hara.

* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::closeHelperPlugin):
(WebKit::WebHelperPluginImpl::destroyPage):
* src/WebHelperPluginImpl.h:
(WebHelperPluginImpl):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::destroyPage):
(WebKit::WebPagePopupImpl::close):
(WebKit::WebPagePopupImpl::closePopup):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):

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

7 years agoWeb Inspector: Remove unused code from contextmenu of element panel
commit-queue@webkit.org [Thu, 7 Mar 2013 04:47:29 +0000 (04:47 +0000)]
Web Inspector: Remove unused code from contextmenu of element panel
https://bugs.webkit.org/show_bug.cgi?id=111658

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-03-06
Reviewed by Pavel Feldman.

No new tests (no functional changes).

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):

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

7 years agoSource/WebKit: Unreviewed partial roll-out of r145003. Disable
jer.noble@apple.com [Thu, 7 Mar 2013 04:46:16 +0000 (04:46 +0000)]
Source/WebKit: Unreviewed partial roll-out of r145003. Disable
ENABLE_CURSOR_VISIBILITY on win.

* WebKit.vcxproj/FeatureDefines.props:

WebKitLibraries: Unreviewed roll-out of r145011.

* win/tools/vsprops/FeatureDefines.vsprops:

LayoutTests: Unreviewed gardening.

* platform/win/TestExpectations:

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

7 years ago[CSS Grid Layout] Extend our grammar to support 2 positions for grid-{row|column}
jchaffraix@webkit.org [Thu, 7 Mar 2013 03:51:55 +0000 (03:51 +0000)]
[CSS Grid Layout] Extend our grammar to support 2 positions for grid-{row|column}
https://bugs.webkit.org/show_bug.cgi?id=110777

Reviewed by Tony Chang.

Source/WebCore:

Now that we support all the logical grid properties, we can change grid-{row|column}
into shorthands. That's what this change does along with extending our parsing support
to handle 2 positions.

Tests: fast/css-grid-layout/grid-item-column-row.html
       fast/css-grid-layout/grid-item-end-after-get-set.html
       fast/css-grid-layout/grid-item-start-before-get-set.html

* css/CSSComputedStyleDeclaration.cpp:
Removed grid-{row|column} from computedProperties as they are shorthands (see comments
at computedProperties definition).

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):
Switched to using the StylePropertyShorthand and reusing the existing longhand code.

* css/CSSComputedStyleDeclaration.h:
Added getCSSPropertyValuesForGridShorthand.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridItemPositionShorthand):
Added custom parsing for the shorthand, that builds on top of the longhand code.

* css/CSSParser.h:
Added parseGridItemPositionShorthand.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Removed the previous handling as shorthand are expanded at parse time.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
Added the new shorthands to the list.

* css/StylePropertyShorthand.cpp:
(WebCore::webkitGridColumnShorthand):
(WebCore::webkitGridRowShorthand):
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
Registered grid-{row|column} as shorthands.

LayoutTests:

* fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
* fast/css-grid-layout/grid-item-end-after-get-set.html:
* fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
* fast/css-grid-layout/grid-item-start-before-get-set.html:
Extended the following test to ensure that grid-{row|column} are a
shortand for resp. grid-{before|after} and grid-{start|end}.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:
Removed grid-{row|column} as they are now shorthands so they don't appear
in the list of supported properties.

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

7 years agoDashboard cleanup: Move all dashboard ui related code into ui.js.
jparent@chromium.org [Thu, 7 Mar 2013 03:48:16 +0000 (03:48 +0000)]
Dashboard cleanup: Move all dashboard ui related code into ui.js.
https://bugs.webkit.org/show_bug.cgi?id=111621

Reviewed by Ojan Vafai.

Creates ui.js, a package for the common UI code the various
dashboards use. HTML generation is now in the ui.html namespace
and popup handling is in ui.popup.
Also moves the event listening for popups to ui.popup.show and
removes it on ui.popup.hid rather than having listener always
around.

* TestResultServer/static-dashboards/aggregate_results.html:
* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(showPopupForBuild):
(htmlForNavBar):
(generatePageForIndividualTests.if):
(generatePageForIndividualTests):
* TestResultServer/static-dashboards/flakiness_dashboard_embedded_unittests.js:
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/run-embedded-unittests.html:
* TestResultServer/static-dashboards/run-unittests.html:
* TestResultServer/static-dashboards/timeline_explorer.html:
* TestResultServer/static-dashboards/treemap.html:
* TestResultServer/static-dashboards/ui.js: Added.
(.):

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

7 years ago[Chromium] Fix byte ordering bugs reading back WebGL canvases' content on Android
kbr@google.com [Thu, 7 Mar 2013 03:46:27 +0000 (03:46 +0000)]
[Chromium] Fix byte ordering bugs reading back WebGL canvases' content on Android
https://bugs.webkit.org/show_bug.cgi?id=111661

Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
    Better documented contract of readBackFrameBuffer.

Source/WebCore:

No new tests; covered by existing tests. Ran WebGL conformance
tests on Android and desktop Linux to verify fix.

* platform/chromium/support/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
    Avoid incorrect byte swap on Android and other OSs which don't
    swizzle R and B channels.

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 7 Mar 2013 03:43:11 +0000 (03:43 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: fast/js/exception-sequencing-binops.html

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

7 years ago[EFL] Improve warning messages when input value is out of range.
gyuyoung.kim@samsung.com [Thu, 7 Mar 2013 03:32:17 +0000 (03:32 +0000)]
[EFL] Improve warning messages when input value is out of range.
https://bugs.webkit.org/show_bug.cgi?id=111534

Reviewed by Laszlo Gombos.

Show input value range when user inputs greater or less value.

* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageRangeUnderflowText):

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

7 years ago[EFL][WK2] Enable interactive form validation for email and url input type validation
gyuyoung.kim@samsung.com [Thu, 7 Mar 2013 03:25:33 +0000 (03:25 +0000)]
[EFL][WK2] Enable interactive form validation for email and url input type validation
https://bugs.webkit.org/show_bug.cgi?id=111026

Reviewed by Laszlo Gombos.

WebKit EFL can check if input value is valid by enabling this feature.

Source/WebCore:

* platform/efl/LocalizedStringsEfl.cpp: Change validation messages of email and url the same with chromium port.
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
* platform/efl/RenderThemeEfl.cpp: Add type checking conditions for email and url.
(WebCore::RenderThemeEfl::supportsDataListUI):

Source/WebKit2:

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 7 Mar 2013 03:22:08 +0000 (03:22 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: media/encrypted-media/encrypted-media-events.html

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

7 years agoBuild fix: PageAllocationAligned no longer has executable flag
rniwa@webkit.org [Thu, 7 Mar 2013 03:03:05 +0000 (03:03 +0000)]
Build fix: PageAllocationAligned no longer has executable flag
https://bugs.webkit.org/show_bug.cgi?id=111659

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-03-06
Reviewed by Kentaro Hara.

Build fix: use false as parameter to execution flag.

* wtf/PageAllocationAligned.cpp:
(WTF::PageAllocationAligned::allocate):

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

7 years agoRemove WebCore::Node::isActiveNode() since it isn't called anywhere.
acolwell@chromium.org [Thu, 7 Mar 2013 02:30:15 +0000 (02:30 +0000)]
Remove WebCore::Node::isActiveNode() since it isn't called anywhere.
https://bugs.webkit.org/show_bug.cgi?id=111646

Reviewed by Kentaro Hara.

No new tests. This removes dead code.

* dom/Node.h:
(Node):
* html/HTMLAudioElement.h:

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

7 years agoAtomicStringImpls are not safe to send between threads
eric@webkit.org [Thu, 7 Mar 2013 02:22:36 +0000 (02:22 +0000)]
AtomicStringImpls are not safe to send between threads
https://bugs.webkit.org/show_bug.cgi?id=111652

Reviewed by Benjamin Poulain.

We don't have this problem yet, but it's good to be safe.

* wtf/text/WTFString.cpp:
(WTF::String::isSafeToSendToAnotherThread):

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

7 years agoDon't give PageAllocationAligned the option to allocate executable memory
oliver@apple.com [Thu, 7 Mar 2013 02:14:37 +0000 (02:14 +0000)]
Don't give PageAllocationAligned the option to allocate executable memory
https://bugs.webkit.org/show_bug.cgi?id=111657

Reviewed by Geoffrey Garen.

* wtf/PageAllocationAligned.cpp:
(WTF::PageAllocationAligned::allocate):
* wtf/PageAllocationAligned.h:
(PageAllocationAligned):

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

7 years agoUnreviewed gardening AppleWin port.
roger_fong@apple.com [Thu, 7 Mar 2013 01:39:20 +0000 (01:39 +0000)]
Unreviewed gardening AppleWin port.

* platform/win/TestExpectations:
* platform/win/cssom: Removed.
* platform/win/cssom/cssvalue-comparison-expected.txt: Removed.

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

7 years ago[EFL] Missing implementation of AccessibilityControllerEfl and AccessibilityUIElement...
commit-queue@webkit.org [Thu, 7 Mar 2013 01:27:49 +0000 (01:27 +0000)]
[EFL] Missing implementation of AccessibilityControllerEfl and AccessibilityUIElementEfl files
https://bugs.webkit.org/show_bug.cgi?id=110584

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-03-06
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Adds support for help text in DumpRenderTree.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::accessibilityHelpText):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Adds missing implementation of AccessibilityControllerEfl
and AccessibilityUIElementEfl files. Modify DumpRenderTreeChrome
so that it can make accessibilityController as a js object.

* DumpRenderTree/AccessibilityController.h:
(AccessibilityController):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityControllerAtk.cpp:
(AccessibilityController::childElementById): Moved declaration to base class.
Implementation can be shared among other ports.
* DumpRenderTree/efl/AccessibilityControllerEfl.cpp: Copied from Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp.
(AccessibilityController::focusedElement):
(AccessibilityController::rootElement):
(AccessibilityController::accessibleElementById):
* DumpRenderTree/efl/AccessibilityUIElementEfl.cpp: Copied from Tools/DumpRenderTree/atk/AccessibilityControllerAtk.cpp.
(AccessibilityUIElement::helpText):
* DumpRenderTree/efl/CMakeLists.txt:
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::DumpRenderTreeChrome):
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
(DumpRenderTreeChrome::onWindowObjectCleared):
(DumpRenderTreeChrome::accessibilityController):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:

LayoutTests:

Unskipping LayoutTests/accessibility folder.
Added failure tests. Skipping those with missing expected results.

* platform/efl-wk1/TestExpectations:

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

7 years agoCrash in SVGViewSpec::viewTarget
inferno@chromium.org [Thu, 7 Mar 2013 01:24:42 +0000 (01:24 +0000)]
Crash in SVGViewSpec::viewTarget
https://bugs.webkit.org/show_bug.cgi?id=111648

Reviewed by Philip Rogers.

* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewTarget):

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

7 years agoWebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
benjamin@webkit.org [Thu, 7 Mar 2013 01:17:41 +0000 (01:17 +0000)]
WebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
https://bugs.webkit.org/show_bug.cgi?id=42696

Reviewed by Andreas Kling.

Source/WebCore:

Since the method acts directly on a WebCore element and strictly test
HTMLInputElement::shouldAutoComplete(), the test function is moved to internals.

* testing/Internals.cpp:
(WebCore::Internals::elementShouldAutoComplete):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunnerQt):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:

LayoutTests:

* security/set-form-autocomplete-attribute.html: Update the test.
* platform/wk2/TestExpectations: Unskip it for WebKit2.

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

7 years agoUnreviewed build fix. Add ENABLE_CURSOR_VISIBILITY to the list of FEATURE_DEFINES for
jer.noble@apple.com [Thu, 7 Mar 2013 01:16:03 +0000 (01:16 +0000)]
Unreviewed build fix.  Add ENABLE_CURSOR_VISIBILITY to the list of FEATURE_DEFINES for
(non-Cairo) Windows builds.

* win/tools/vsprops/FeatureDefines.vsprops:

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

7 years agoREGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests
dino@apple.com [Thu, 7 Mar 2013 01:15:54 +0000 (01:15 +0000)]
REGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=111650

Unreviewed gardening.

* platform/mac/TestExpectations:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 01:04:20 +0000 (01:04 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: platform/chromium/fast/events/intercept-postmessage.html

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

7 years agoREGRESSION (r144748-r144750): sputnik/Conformance/07_Lexical_Conventions/7.8_Literals...
dino@apple.com [Thu, 7 Mar 2013 00:58:55 +0000 (00:58 +0000)]
REGRESSION (r144748-r144750): sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.html failing on Apple MountainLion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=111647

Unreviewed skip in test expectations for Mac.

* platform/mac/TestExpectations:

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