WebKit-https.git
6 years agoIDB: indexeddb/mozilla/add-twice-failure.html fails
beidson@apple.com [Wed, 5 Feb 2014 00:26:59 +0000 (00:26 +0000)]
IDB: indexeddb/mozilla/add-twice-failure.html fails
<rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208

Reviewed by Tim Horton.

Source/WebCore:

Covered specifically by indexeddb/mozilla/add-twice-failure.html and a handful of others.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onError): Improve logging.

* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::abort): Improve logging.

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::PutOperation::perform): Don’t abort the transaction when an error occurred.

* WebCore.exp.in:

Source/WebKit2:

Note that besides making indexeddb/mozilla/add-twice-failure.html pass this also makes some other tests
pass and also improves the failure modes of others.

A full accounting of which tests pass is coming soon.

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::putRecordInBackingStore): After checking for existence of the key and before
  adding the record, remove any previous record. (Defined by the spec, found exploring this test).

* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): Implement this.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Add a form to be used as mentioned above in
  UniqueIDBDatabase::putRecordInBackingStore.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): CAST the key argument properly.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): Ditto.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

LayoutTests:

* platform/mac-wk2/TestExpectations: Reenable this test for WK2

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

6 years agoStore StringImpl substring backpointers as tail data
andersca@apple.com [Wed, 5 Feb 2014 00:23:26 +0000 (00:23 +0000)]
Store StringImpl substring backpointers as tail data
https://bugs.webkit.org/show_bug.cgi?id=128220

Reviewed by Geoffrey Garen.

This lets us get rid of m_substringBuffer from the union.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::getData16SlowCase):
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::createSubstringSharingImpl8):
(WTF::StringImpl::createSubstringSharingImpl):
(WTF::StringImpl::cost):
(WTF::StringImpl::costDuringGC):
(WTF::StringImpl::substringBuffer):

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

6 years agoUse srcset's pixel density to determine intrinsic size
commit-queue@webkit.org [Wed, 5 Feb 2014 00:09:15 +0000 (00:09 +0000)]
Use srcset's pixel density to determine intrinsic size
https://bugs.webkit.org/show_bug.cgi?id=123832

Patch by Yoav Weiss <yoav@yoav.ws> on 2014-02-04
Reviewed by Dean Jackson.

The patch is a port of a similar Blink patch: https://codereview.chromium.org/25105004
According to the spec "When an img element has a current pixel density that is not 1.0,
the element's image data must be treated as if its resolution, in device pixels per CSS pixels,
was the current pixel density."

Source/WebCore:

I've added that support using the following changes:
- bestFitSourceForImageAttributes now returns the image candidate to HTMLImageElement.
- HTMLImageElement passes the devicePixelRatio data to RenderImage, which stores it.
- Bitmap images are scaled using the devicePixelRatio at RenderImageResource's intrinsicSize() and imageSize().
- SVG images are scaled using the devicePixelRatio at RenderReplaced::computeAspectRatioInformationForRenderBox.
- Canvas support added at CanvasRenderingContext2D::size.

Tests: fast/hidpi/image-srcset-intrinsic-size.html
       fast/hidpi/image-srcset-png-canvas.html
       fast/hidpi/image-srcset-png.html
       fast/hidpi/image-srcset-relative-svg-canvas-2x.html
       fast/hidpi/image-srcset-relative-svg.html
       fast/hidpi/image-srcset-space-left-nomodifier.html
       fast/hidpi/image-srcset-svg-canvas-2x.html
       fast/hidpi/image-srcset-svg-canvas.html
       fast/hidpi/image-srcset-svg.html
       fast/hidpi/image-srcset-svg2.html

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::createRenderer):
* html/HTMLImageElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::size):
(WebCore::CanvasRenderingContext2D::drawImage):
* html/parser/HTMLParserIdioms.cpp:
(WebCore::compareByScaleFactor):
(WebCore::parseImagesWithScaleFromSrcsetAttribute):
(WebCore::bestFitSourceForImageAttributes):
* html/parser/HTMLParserIdioms.h:
(WebCore::ImageWithScale::ImageWithScale):
(WebCore::ImageWithScale::imageURL):
(WebCore::ImageWithScale::scaleFactor):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderImage.h:
(WebCore::RenderImage::setImageDevicePixelRatio):
(WebCore::RenderImage::imageDevicePixelRatio):
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::imageSize):
(WebCore::RenderImageResource::intrinsicSize):
(WebCore::RenderImageResource::getImageSize):
* rendering/RenderImageResource.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):

LayoutTests:

Layout test changes include modifications of existing tests to accomodate the new image dimensions, as well as new tests for this
specific functionality.

* fast/hidpi/image-srcset-change-dynamically-from-js-2x-expected.txt:
* fast/hidpi/image-srcset-change-dynamically-from-js-2x.html:
* fast/hidpi/image-srcset-data-escaped-srcset-expected.txt:
* fast/hidpi/image-srcset-data-escaped-srcset.html:
* fast/hidpi/image-srcset-data-src.html:
* fast/hidpi/image-srcset-data-srcset.html:
* fast/hidpi/image-srcset-fraction.html:
* fast/hidpi/image-srcset-intrinsic-size-expected.txt: Added.
* fast/hidpi/image-srcset-intrinsic-size.html: Added.
* fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.txt:
* fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
* fast/hidpi/image-srcset-invalid-inputs.html:
* fast/hidpi/image-srcset-invalid-inputs-expected.txt: Added.
* fast/hidpi/image-srcset-only-src-attribute-expected.txt: Added.
* fast/hidpi/image-srcset-only-src-attribute.html:
* fast/hidpi/image-srcset-png-canvas-expected.html: Added.
* fast/hidpi/image-srcset-png-canvas.html: Added.
* fast/hidpi/image-srcset-png-expected.html: Added.
* fast/hidpi/image-srcset-png.html: Added.
* fast/hidpi/image-srcset-relative-svg-expected.html: Added.
* fast/hidpi/image-srcset-relative-svg.html: Added.
* fast/hidpi/image-srcset-remove-dynamically-from-js.html:
* fast/hidpi/image-srcset-simple-2x-expected.txt:
* fast/hidpi/image-srcset-simple-2x.html:
* fast/hidpi/image-srcset-space-left-nomodifier-expected.txt: Added.
* fast/hidpi/image-srcset-space-left-nomodifier.html: Copied from LayoutTests/fast/hidpi/image-srcset-data-srcset.html.
* fast/hidpi/image-srcset-svg-expected.html: Added.
* fast/hidpi/image-srcset-svg.html: Added.
* fast/hidpi/image-srcset-svg2-expected.html: Added.
* fast/hidpi/image-srcset-svg2.html: Added.
* fast/hidpi/resources/green-400-px-square.png: Added.
* fast/hidpi/resources/relativesrcset.svg: Added.
* fast/hidpi/resources/srcset-helper.js:
(runTest):
* fast/hidpi/resources/srcset.png: Added.
* fast/hidpi/resources/srcset.svg: Added.
* fast/hidpi/resources/srcset_100px.svg: Added.
* fast/hidpi/resources/svg_canvas_helper.js: Added.
(drawCanvas):
* fast/hidpi/resources/svg_tests.css: Added.
(.test):
(.test img, .test canvas):
(.test .stats):
(.expected, .actual):
* platform/mac/fast/hidpi/image-srcset-only-src-attribute-expected.png: Removed.
* platform/mac/fast/hidpi/image-srcset-only-src-attribute-expected.txt: Removed.

The following tests were added, but skipped, since they reveal an unrelated SVG on canvas rendering issue:
* fast/hidpi/image-srcset-svg-canvas-2x-expected.html: Added.
* fast/hidpi/image-srcset-svg-canvas-2x.html: Added.
* fast/hidpi/image-srcset-svg-canvas-expected.html: Added.
* fast/hidpi/image-srcset-svg-canvas.html: Added.
* fast/hidpi/image-srcset-relative-svg-canvas-2x-expected.html: Added.
* fast/hidpi/image-srcset-relative-svg-canvas-2x.html: Added.
* fast/hidpi/image-srcset-relative-svg-canvas-expected.html: Added.
* fast/hidpi/image-srcset-relative-svg-canvas.html: Added.

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

6 years agoRefactor MarkStackArray to allow more than JSCells to be stored
mhahnenberg@apple.com [Wed, 5 Feb 2014 00:08:40 +0000 (00:08 +0000)]
Refactor MarkStackArray to allow more than JSCells to be stored
https://bugs.webkit.org/show_bug.cgi?id=128203

Reviewed by Geoffrey Garen.

This patch refactors MarkStackArray into a separate template class named GCSegmentedArray.
This class allows subclassing to add functionality that only MarkStackArray wants.
Since it uses the JSC BlockAllocator instead of FastMalloc, this class can be used during
conservative stack scanning, which disallows using FastMalloc.

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/BlockAllocator.h:
* heap/GCSegmentedArray.h: Added.
(JSC::GCArraySegment::GCArraySegment):
(JSC::GCArraySegment::data):
* heap/GCSegmentedArrayInlines.h: Added.
(JSC::GCSegmentedArray<T>::GCSegmentedArray):
(JSC::GCSegmentedArray<T>::~GCSegmentedArray):
(JSC::GCSegmentedArray<T>::clear):
(JSC::GCSegmentedArray<T>::expand):
(JSC::GCSegmentedArray<T>::refill):
(JSC::GCSegmentedArray<T>::fillVector):
(JSC::GCArraySegment<T>::create):
(JSC::GCSegmentedArray<T>::postIncTop):
(JSC::GCSegmentedArray<T>::preDecTop):
(JSC::GCSegmentedArray<T>::setTopForFullSegment):
(JSC::GCSegmentedArray<T>::setTopForEmptySegment):
(JSC::GCSegmentedArray<T>::top):
(JSC::GCSegmentedArray<T>::validatePrevious):
(JSC::GCSegmentedArray<T>::append):
(JSC::GCSegmentedArray<T>::canRemoveLast):
(JSC::GCSegmentedArray<T>::removeLast):
(JSC::GCSegmentedArray<T>::isEmpty):
(JSC::GCSegmentedArray<T>::size):
* heap/MarkStack.cpp:
(JSC::MarkStackArray::MarkStackArray):
(JSC::MarkStackArray::~MarkStackArray):
(JSC::MarkStackArray::donateSomeCellsTo):
(JSC::MarkStackArray::stealSomeCellsFrom):
* heap/MarkStack.h:
* heap/MarkStackInlines.h:

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

6 years agoRolled out <http://trac.webkit.org/changeset/163280>:
ggaren@apple.com [Tue, 4 Feb 2014 23:57:22 +0000 (23:57 +0000)]
Rolled out <trac.webkit.org/changeset/163280>:

Source/WebCore:

    Push DOM attributes into the prototype chain
    ​https://bugs.webkit.org/show_bug.cgi?id=127969

It caused performance regressions, and broken websites on iOS.

Reviewed by Geoffrey Garen.

* bindings/js/JSDOMBinding.h:
(WebCore::getStaticValueSlotEntryWithoutCaching):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(InstanceOverridesGetOwnPropertySlot):
(PrototypeOverridesGetOwnPropertySlot):
(GenerateAttributesHashTable):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectConstructor):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::getOwnPropertySlot):
(WebCore::jsTestEventConstructorConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionConstructor):
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::getOwnPropertySlot):
(WebCore::jsTestGenerateIsReachableConstructor):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceConstructor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
(WebCore::jsTestMediaQueryListListenerConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::getOwnPropertySlot):
(WebCore::jsTestNamedConstructorConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::getOwnPropertySlot):
(WebCore::jsTestNodeConstructor):
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjConstructor):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
(WebCore::jsTestOverloadedConstructorsConstructor):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
(WebCore::jsTestTypedefsConstructor):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattribute::getOwnPropertySlot):
(WebCore::jsattributeConstructor):
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonly::getOwnPropertySlot):
(WebCore::jsreadonlyConstructor):
* bindings/scripts/test/JS/JSreadonly.h:

LayoutTests:

    Push DOM attributes into the prototype chain
    https://bugs.webkit.org/show_bug.cgi?id=127969

It caused performance regressions, and broken websites on iOS.

Reviewed by Geoffrey Garen.

* fast/dom/Geolocation/enabled-expected.txt:
* fast/dom/Geolocation/script-tests/enabled.js:
* fast/dom/wrapper-classes-expected.txt:
* http/tests/security/cross-frame-access-enumeration-expected.txt:
* js/dom/constructor-attributes-expected.txt:
* js/dom/delete-syntax-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/dom-attributes-on-mismatch-type.html:
* js/dom/dom-static-property-for-in-iteration-expected.txt:
* js/dom/script-tests/constructor-attributes.js:
* js/dom/script-tests/delete-syntax.js:

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

6 years ago[Cocoa] Expose more WKWebProcessPlugInNodeHandle properties
mitz@apple.com [Tue, 4 Feb 2014 23:55:20 +0000 (23:55 +0000)]
[Cocoa] Expose more WKWebProcessPlugInNodeHandle properties
https://bugs.webkit.org/show_bug.cgi?id=128219

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new
properties.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(-[WKWebProcessPlugInNodeHandle elementBounds]): Added.
(-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]): Added.
(-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]): Added.
(-[WKWebProcessPlugInNodeHandle HTMLInputELementIsUserEdited]): Added.
(-[WKWebProcessPlugInNodeHandle HTMLTextAreaELementIsUserEdited]): Added.
(-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Added.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Rolled
Internal category into the class extension.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Declared
-clearWrappers.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
(-[WKWebProcessPlugInScriptWorld clearWrappers]): Added. Calls through to clearWrappers().
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Rolled
Internal category into the class extension.

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

6 years agoexport-llvm-build should work with git checkouts
fpizlo@apple.com [Tue, 4 Feb 2014 23:50:03 +0000 (23:50 +0000)]
export-llvm-build should work with git checkouts
https://bugs.webkit.org/show_bug.cgi?id=128217

Reviewed by Mark Hahnenberg.

If svn export fails, just do ditto.

* Scripts/export-llvm-build:

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

6 years agoRename the substring sharing StringImpl::create variants to better indicate what...
andersca@apple.com [Tue, 4 Feb 2014 23:40:42 +0000 (23:40 +0000)]
Rename the substring sharing StringImpl::create variants to better indicate what they do
https://bugs.webkit.org/show_bug.cgi?id=128214

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/JSString.h:
(JSC::jsSingleCharacterSubstring):
(JSC::jsSubstring8):
(JSC::jsSubstring):
* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
* runtime/StringPrototype.cpp:
(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::replaceUsingStringSearch):

Source/WTF:

* wtf/text/AtomicString.cpp:
(WTF::SubstringTranslator::translate):
* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::reifyString):
(WTF::StringBuilder::resize):
* wtf/text/StringImpl.h:
(WTF::StringImpl::createSubstringSharingImpl8):
(WTF::StringImpl::createSubstringSharingImpl):
* wtf/text/WTFString.cpp:
(WTF::String::substringSharingImpl):

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

6 years agowebKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when...
ap@apple.com [Tue, 4 Feb 2014 23:33:55 +0000 (23:33 +0000)]
webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies
https://bugs.webkit.org/show_bug.cgi?id=128201

Reviewed by Sam Weinig.

* Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
Return null when NetworkProcess provided a null string, don't build a header dictionary
with an empty Cookie value.

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

6 years agoWebCrypto HMAC verification uses a non-constant-time memcmp
ap@apple.com [Tue, 4 Feb 2014 23:31:54 +0000 (23:31 +0000)]
WebCrypto HMAC verification uses a non-constant-time memcmp
https://bugs.webkit.org/show_bug.cgi?id=128198
<rdar://problem/15976961>

Reviewed by Oliver Hunt.

Source/WebCore:

* crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::CryptoAlgorithmHMAC::platformVerify):
Use a constant time memcmp.

Source/WTF:

Added a "constant time" memcmp that doesn't depend on data. The name is somewhat
strange, as the function is of course O(length) and not constant time at all,
but apparently this is how everyone calls such functions.

* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp):
* wtf/CryptographicUtilities.h: Added.

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

6 years agoAdd WK2 event handling path for iOS, and make Mac and iOS code more similar
simon.fraser@apple.com [Tue, 4 Feb 2014 23:24:00 +0000 (23:24 +0000)]
Add WK2 event handling path for iOS, and make Mac and iOS code more similar
https://bugs.webkit.org/show_bug.cgi?id=128199

Reviewed by Sam Weinig.

EventHandlerIOS need some changes for WebKit2, where we have no native
widget. Merge those changes from EventHandlerMac.

Make a few drive-by changes to match EventHandlerMac behavior.

Clean up EventHandlerMac, removing trailing whitespace and fixing
the odd comment.

* page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::EventHandler::mouseDown):
(WebCore::EventHandler::mouseMoved):
(WebCore::frameHasPlatformWidget):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::findViewInSubviews):
(WebCore::EventHandler::eventLoopHandleMouseUp):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::EventHandler::mouseMoved):

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

6 years agoAdd a WKNavigationAction object
andersca@apple.com [Tue, 4 Feb 2014 23:21:23 +0000 (23:21 +0000)]
Add a WKNavigationAction object
https://bugs.webkit.org/show_bug.cgi?id=128212

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKNavigationAction.h: Added.
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationAction.mm: Added.
* UIProcess/API/Cocoa/WKNavigationActionInternal.h: Added.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::toWKNavigationType):
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAdd back/forward related methods to WKWebView
andersca@apple.com [Tue, 4 Feb 2014 22:41:13 +0000 (22:41 +0000)]
Add back/forward related methods to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128209

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView canGoBack]):
(-[WKWebView canGoForward]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):

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

6 years agoRemove conflict markers from ChangeLog
mhahnenberg@apple.com [Tue, 4 Feb 2014 22:22:04 +0000 (22:22 +0000)]
Remove conflict markers from ChangeLog

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

6 years ago[OSX] Limit progress bar's dimensions to ushort
benjamin@webkit.org [Tue, 4 Feb 2014 21:52:25 +0000 (21:52 +0000)]
[OSX] Limit progress bar's dimensions to ushort
https://bugs.webkit.org/show_bug.cgi?id=128019

Wordaround a crash in Quartz until <rdar://problem/15855086> is fixed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-04
Reviewed by Sam Weinig.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::progressBarRectForBounds):

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

6 years agoRename StringImpl::getCharacters to StringImpl::characters
andersca@apple.com [Tue, 4 Feb 2014 21:50:25 +0000 (21:50 +0000)]
Rename StringImpl::getCharacters to StringImpl::characters
https://bugs.webkit.org/show_bug.cgi?id=128205

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Update for WTF changes.

* runtime/JSStringJoiner.cpp:
(JSC::joinStrings):
* runtime/StringPrototype.cpp:
(JSC::splitStringByOneCharacterImpl):

Source/WebCore:

Update for WTF changes.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::createTextRuns):

Source/WTF:

This lets us use StringImpl::getCharacters for the upconverting version.
Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters()
and audit all call sites to make sure we weren't relying on upconversion anywhere.

* wtf/text/AtomicString.cpp:
(WTF::findString):
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::simplifyMatchedCharactersToSpace):
* wtf/text/StringImpl.h:
(WTF::StringImpl::characters<LChar>):
(WTF::StringImpl::characters<UChar>):

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

6 years agoWK: Cannot select text inside clickable containers.
enrica@apple.com [Tue, 4 Feb 2014 21:40:21 +0000 (21:40 +0000)]
WK: Cannot select text inside clickable containers.
https://bugs.webkit.org/show_bug.cgi?id=128197
<rdar://problem/15970890>

Reviewed by Simon Fraser.

When retrieving position information, we first try to
find the node responding to click events because we want
to know whether we are on a link or an image to show
the appropriate action sheet.
We could still have a node responding to click events if
for example we have a DIV with a click handler but that
doesn't require any special handling and we still need to
perform regular hit testing.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):

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

6 years agoFix a mismatch of uint64_t and size_t on 32-bit platforms.
mhahnenberg@apple.com [Tue, 4 Feb 2014 21:39:04 +0000 (21:39 +0000)]
Fix a mismatch of uint64_t and size_t on 32-bit platforms.

* ftl/FTLDWARFDebugLineInfo.h:

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

6 years agoRename equalNonNull to equal and make it take const StringImpl& instead
andersca@apple.com [Tue, 4 Feb 2014 21:32:54 +0000 (21:32 +0000)]
Rename equalNonNull to equal and make it take const StringImpl& instead
https://bugs.webkit.org/show_bug.cgi?id=128206

Reviewed by Andreas Kling.

Source/WebCore:

* html/parser/HTMLParserIdioms.cpp:
(WebCore::threadSafeEqual):
(WebCore::threadSafeMatch):

Source/WTF:

* wtf/text/StringHash.h:
(WTF::StringHash::equal):
* wtf/text/StringImpl.cpp:
(WTF::stringImplContentEqual):
(WTF::equal):
* wtf/text/StringImpl.h:

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

6 years agoJSC needs to be able to parse DWARF debug_line info
mhahnenberg@apple.com [Tue, 4 Feb 2014 21:27:19 +0000 (21:27 +0000)]
JSC needs to be able to parse DWARF debug_line info
https://bugs.webkit.org/show_bug.cgi?id=127394

Reviewed by Geoffrey Garen.

If we want to encode IR maps in the DWARF debug line info metadata generated by LLVM,
we'll need to know how to decode the .debug_line DWARF section. This patch implements
an interpreter for the .debug_line DWARF section in accordance with the version 3 spec
published at http://www.dwarfstd.org.

* JavaScriptCore.xcodeproj/project.pbxproj:
* ftl/FTLDWARFDebugLineInfo.cpp: Added.
(JSC::FTL::DebugLineInterpreter::DebugLineInterpreter):
(JSC::FTL::read):
(JSC::FTL::DebugLineInterpreter::parseULEB128):
(JSC::FTL::DebugLineInterpreter::parseSLEB128):
(JSC::FTL::DebugLineInterpreter::run):
(JSC::FTL::DebugLineInterpreter::parsePrologue):
(JSC::FTL::DebugLineInterpreter::parseIncludeDirectories):
(JSC::FTL::DebugLineInterpreter::parseFileEntries):
(JSC::FTL::DebugLineInterpreter::parseFileEntry):
(JSC::FTL::DebugLineInterpreter::interpretStatementProgram):
(JSC::FTL::DebugLineInterpreter::interpretOpcode):
(JSC::FTL::DebugLineInterpreter::printLineInfo):
(JSC::FTL::DebugLineInterpreter::resetInterpreterState):
* ftl/FTLDWARFDebugLineInfo.h: Added.
(JSC::FTL::DebugLineInterpreter::Prologue::Prologue):
* ftl/FTLValueRange.cpp: Random build fix for !ENABLE(FTL_JIT).

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

6 years agoGet rid of StringImpl::m_buffer
andersca@apple.com [Tue, 4 Feb 2014 20:28:49 +0000 (20:28 +0000)]
Get rid of StringImpl::m_buffer
https://bugs.webkit.org/show_bug.cgi?id=128200

Reviewed by Michael Saboff.

Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl
constructor to initialize its character buffer to point to m_length instead
since it will always be null.

Also change it to be an 8-bit string because why not.

* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):

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

6 years agoRename String::getCharacters to String::characters
andersca@apple.com [Tue, 4 Feb 2014 19:32:56 +0000 (19:32 +0000)]
Rename String::getCharacters to String::characters
https://bugs.webkit.org/show_bug.cgi?id=128196

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Update for WTF::String changes.

* yarr/YarrParser.h:
(JSC::Yarr::Parser::Parser):

Source/WebCore:

Update for WTF::String changes.

* dom/Document.cpp:
(WebCore::canonicalizedTitle):

Source/WTF:

This means String::characters() will end up calling either characters8() or characters16() which
makes more logical sense. It also frees up the getCharacters name so we can use it for a new function
that will do upconversion.

* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::appendUninitializedSlow):
* wtf/text/WTFString.h:
(WTF::String::characters<LChar>):
(WTF::String::characters<UChar>):

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

6 years agoFix Release build after r163390.
eric.carlson@apple.com [Tue, 4 Feb 2014 19:22:15 +0000 (19:22 +0000)]
Fix Release build after r163390.

* platform/audio/MediaSession.cpp: Add "#if !LOG_DISABLED" around logging-only function.

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

6 years agoASSERT in speculateMachineInt on 32-bit platforms
mhahnenberg@apple.com [Tue, 4 Feb 2014 19:09:52 +0000 (19:09 +0000)]
ASSERT in speculateMachineInt on 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=128155

Reviewed by Filip Pizlo.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

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

6 years agoRefine MediaSession interruptions
eric.carlson@apple.com [Tue, 4 Feb 2014 19:09:34 +0000 (19:09 +0000)]
Refine MediaSession interruptions
https://bugs.webkit.org/show_bug.cgi?id=128125

Reviewed by Jer Noble.

Source/WebCore:

Test: media/video-background-playback.html

* WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
    Internals.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
    to see if it is interrupted directly.
(WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
    to see if it is interrupted directly.
(WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
    the information is available.
(WebCore::HTMLMediaElement::resumePlayback): New.
* html/HTMLMediaElement.h:

* html/HTMLMediaSession.cpp:
(WebCore::restrictionName): New, use for logging only.
(WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
(WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
* html/HTMLMediaSession.h:

* platform/audio/MediaSession.cpp:
(WebCore::stateName): New, used for logging.
(WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
(WebCore::MediaSession::setState): Log state changes.
(WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
    to restore state when the interruption ends.
(WebCore::MediaSession::endInterruption): Resume playback if appropriate.
(WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
(WebCore::MediaSession::clientWillPausePlayback): Ditto.
(WebCore::MediaSession::mediaType): Ask client for state.
* platform/audio/MediaSession.h:

* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
(WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
(WebCore::MediaSessionManager::endInterruption): Ditto.
(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
    allowed to play in the background.
(WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
    was stopped by an interruption.
* platform/audio/MediaSessionManager.h:

* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
(WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
    while the application is in the background. Register for application suspend/resume
    notifications.
(-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application
    state change.
(-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.

* platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.

* testing/Internals.cpp:
(WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
(WebCore::Internals::applicationWillEnterBackground): Ditto.
(WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Export applicationWillEnterForeground
    and applicationWillEnterBackground for Internals.

LayoutTests:

* media/video-background-playback-expected.txt: Added.
* media/video-background-playback.html: Added.
* media/video-interruption-active-when-element-created-expected.txt: Removed.
* media/video-interruption-active-when-element-created.html: Removed.
* media/video-interruption-with-resume-allowing-play-expected.txt:
* media/video-interruption-with-resume-allowing-play.html:
* media/video-interruption-with-resume-not-allowing-play-expected.txt:
* media/video-interruption-with-resume-not-allowing-play.html:

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

6 years agoRemove CPP bindings generator.
akling@apple.com [Tue, 4 Feb 2014 18:51:07 +0000 (18:51 +0000)]
Remove CPP bindings generator.
<https://webkit.org/b/128189>

Scrub out some leftover Blackberry gunk.

Reviewed by Anders Carlsson.

* Modules/webdatabase/SQLResultSet.idl:
* bindings/cpp/WebDOMCString.cpp: Removed.
* bindings/cpp/WebDOMCString.h: Removed.
* bindings/cpp/WebDOMDOMWindowCustom.cpp: Removed.
* bindings/cpp/WebDOMEventListenerCustom.cpp: Removed.
* bindings/cpp/WebDOMEventTarget.cpp: Removed.
* bindings/cpp/WebDOMEventTarget.h: Removed.
* bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Removed.
* bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Removed.
* bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Removed.
* bindings/cpp/WebDOMNodeCustom.cpp: Removed.
* bindings/cpp/WebDOMNodeFilterCustom.cpp: Removed.
* bindings/cpp/WebDOMObject.h: Removed.
* bindings/cpp/WebDOMString.cpp: Removed.
* bindings/cpp/WebDOMString.h: Removed.
* bindings/cpp/WebExceptionHandler.cpp: Removed.
* bindings/cpp/WebExceptionHandler.h: Removed.
* bindings/cpp/WebNativeEventListener.cpp: Removed.
* bindings/cpp/WebNativeEventListener.h: Removed.
* bindings/cpp/WebNativeNodeFilterCondition.cpp: Removed.
* bindings/cpp/WebNativeNodeFilterCondition.h: Removed.
* bindings/scripts/CodeGeneratorCPP.pm: Removed.
* bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Removed.
* bindings/scripts/test/CPP/CPPTestSupplemental.h: Removed.
* bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMFloat64Array.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestCallback.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestException.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestException.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestImplements.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestInterface.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestNode.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestNode.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Removed.
* bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Removed.
* bindings/scripts/test/CPP/WebDOMattribute.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMattribute.h: Removed.
* bindings/scripts/test/CPP/WebDOMreadonly.cpp: Removed.
* bindings/scripts/test/CPP/WebDOMreadonly.h: Removed.
* css/StyleSheet.idl:
* dom/CustomEvent.idl:
* dom/Document.idl:
* dom/Event.idl:
* dom/Node.idl:
* dom/PopStateEvent.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLInputElement.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
* page/Location.idl:
* workers/DedicatedWorkerGlobalScope.idl:

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

6 years agoWK2: Selection callout bar does not scroll with the selection.
enrica@apple.com [Tue, 4 Feb 2014 18:41:07 +0000 (18:41 +0000)]
WK2: Selection callout bar does not scroll with the selection.
https://bugs.webkit.org/show_bug.cgi?id=128142
<rdar://problem/15970812>

Reviewed by Benjamin Poulain.

Adding notifications to WKContentView to all the delegates
for scrolling and zooming to let WKInteractionView about it.
This allows the interaction assistants to hide the callout
while scrolling or zooming and to fade it in again at the end.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView scrollViewWillBeginDragging:]):
* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView didFinishScrollTo:]):
(-[WKContentView willStartZoomOrScroll]):
(-[WKContentView didZoomToScale:]):
* UIProcess/API/ios/WKInteractionView.h:
* UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView _willStartScrollingOrZooming]):
(-[WKInteractionView _didEndScrollingOrZooming]):
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView scrollViewWillBeginZooming:withView:]):
(-[WKView scrollViewWillBeginDragging:]):

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

6 years agoiOS build fix.
mitz@apple.com [Tue, 4 Feb 2014 18:05:06 +0000 (18:05 +0000)]
iOS build fix.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):

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

6 years agoManage MediaQuery and MediaQueryExp classes through std::unique_ptr instead of OwnPtr
zandobersek@gmail.com [Tue, 4 Feb 2014 18:00:11 +0000 (18:00 +0000)]
Manage MediaQuery and MediaQueryExp classes through std::unique_ptr instead of OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=128117

Reviewed by Darin Adler.

Replace uses of OwnPtr for the MediaQuery and MediaQueryExp classes with std::unique_ptr.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseMediaQuery):
* css/CSSParser.h:
* css/MediaList.cpp:
(WebCore::MediaQuerySet::parse):
(WebCore::MediaQuerySet::add):
(WebCore::MediaQuerySet::remove):
(WebCore::MediaQuerySet::addMediaQuery):
(WebCore::MediaList::item):
(WebCore::reportMediaQueryWarningIfNeeded):
* css/MediaList.h:
(WebCore::MediaQuerySet::queryVector):
* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery):
* css/MediaQuery.h:
(WebCore::MediaQuery::expressions):
(WebCore::MediaQuery::copy):
* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::eval):
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::MediaQueryExp):
* css/MediaQueryExp.h:
(WebCore::MediaQueryExp::copy):

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

6 years agoGC timer should always do a FullCollection
mhahnenberg@apple.com [Tue, 4 Feb 2014 17:56:11 +0000 (17:56 +0000)]
GC timer should always do a FullCollection
https://bugs.webkit.org/show_bug.cgi?id=128186

Reviewed by Michael Saboff.

Right now the GC timer does whatever type of collection the next collection
would have been, which is almost always an EdenCollection. It then thinks
that it has done all of the work it was supposed to do and never schedules
another GC. Ideally we'd like to have some heuristics for the timer that
would schedule both EdenCollections and FullCollections, but the easiest
fix for now is to always do FullCollections since that will at least be
a non-regression.

* heap/Heap.h:
(JSC::Heap::gcTimerDidFire):
* runtime/GCActivityCallback.cpp:
(JSC::DefaultGCActivityCallback::doWork):

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

6 years agoRemove SVG_DOM_OBJC_BINDINGS after r161638.
commit-queue@webkit.org [Tue, 4 Feb 2014 17:50:10 +0000 (17:50 +0000)]
Remove SVG_DOM_OBJC_BINDINGS after r161638.
https://bugs.webkit.org/show_bug.cgi?id=128182

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-04
Reviewed by Andreas Kling.

Removed ENABLE(SVG_DOM_OBJC_BINDINGS).

No tests required.

* bindings/objc/DOMUIKitExtensions.mm:
(-[DOMNode boundingBoxes]):
(-[DOMNode absoluteQuads]):

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

6 years agoREGRESSION (r159609): Images are corrupted when hovering over buttons @ github.com
stavila@adobe.com [Tue, 4 Feb 2014 17:27:52 +0000 (17:27 +0000)]
REGRESSION (r159609): Images are corrupted when hovering over buttons @ github.com
https://bugs.webkit.org/show_bug.cgi?id=127729

Reviewed by Antti Koivisto.

Source/WebCore:

When clipping a rect, the RenderLayer would not properly save the context when
the clipping rect is the same as the paint rect and the clipping rect
has radius.

Test: fast/regions/repaint/hover-border-radius.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):

LayoutTests:

Added test for the correct repainting of buttons with border radius when hovering.

* fast/regions/repaint/hover-border-radius-expected.txt: Added.
* fast/regions/repaint/hover-border-radius.html: Added.

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

6 years ago[EFL] Add expectations for two flaky media layout tests
commit-queue@webkit.org [Tue, 4 Feb 2014 16:48:13 +0000 (16:48 +0000)]
[EFL] Add expectations for two flaky media layout tests
https://bugs.webkit.org/show_bug.cgi?id=128183

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-02-04

* platform/efl/TestExpectations:

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

6 years agoCode cleanup: remove leftover occurrence of ENABLE(GESTURE_EVENTS)
commit-queue@webkit.org [Tue, 4 Feb 2014 16:39:52 +0000 (16:39 +0000)]
Code cleanup: remove leftover occurrence of ENABLE(GESTURE_EVENTS)
https://bugs.webkit.org/show_bug.cgi?id=128180

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-04
Reviewed by Csaba Osztrogonác.

Removed last occurrence of ENABLE(GESTURE_EVENTS).

* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::platformHandleMouseEvent):

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

6 years ago[CMAKE] Remove workaround for GCC 4.6
ryuan.choi@samsung.com [Tue, 4 Feb 2014 16:34:35 +0000 (16:34 +0000)]
[CMAKE] Remove workaround for GCC 4.6
https://bugs.webkit.org/show_bug.cgi?id=128176

Reviewed by Csaba Osztrogonác.

Since r162126, WebKit requires at least 4.7.

* CMakeLists.txt:

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

6 years agoManage RuleSet and RuleData classes through std::unique_ptr instead of OwnPtr
zandobersek@gmail.com [Tue, 4 Feb 2014 15:57:23 +0000 (15:57 +0000)]
Manage RuleSet and RuleData classes through std::unique_ptr instead of OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=128116

Reviewed by Darin Adler.

Replace uses of OwnPtr for the RuleSet and RuleData classes with std::unique_ptr.

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
(WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
(WebCore::CSSDefaultStyleSheets::viewSourceStyle):
* css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::initUserStyle):
(WebCore::makeRuleSet):
(WebCore::DocumentRuleSets::resetAuthorStyle):
* css/DocumentRuleSets.h:
* css/RuleSet.cpp:
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::addRegionRule):
* css/RuleSet.h:
(WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):

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

6 years agoUnreviewed, rolling out r163376.
commit-queue@webkit.org [Tue, 4 Feb 2014 15:52:21 +0000 (15:52 +0000)]
Unreviewed, rolling out r163376.
http://trac.webkit.org/changeset/163376
https://bugs.webkit.org/show_bug.cgi?id=128184

Unexpected test failures. (Requested by eric_carlson on
#webkit).

Source/WebCore:

* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::addBehaviorRestriction):
(WebCore::HTMLMediaSession::removeBehaviorRestriction):
(WebCore::HTMLMediaSession::clientWillBeginPlayback):
* html/HTMLMediaSession.h:
* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::beginInterruption):
(WebCore::MediaSession::endInterruption):
* platform/audio/MediaSession.h:
(WebCore::MediaSession::mediaType):
(WebCore::MediaSession::setState):
(WebCore::MediaSessionClient::beginInterruption):
(WebCore::MediaSessionClient::endInterruption):
* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager):
(WebCore::MediaSessionManager::beginInterruption):
(WebCore::MediaSessionManager::endInterruption):
(WebCore::MediaSessionManager::addSession):
* platform/audio/MediaSessionManager.h:
* platform/audio/ios/MediaSessionManagerIOS.h:
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions):
(-[WebMediaSessionHelper initWithCallback:]):
* platform/audio/mac/AudioDestinationMac.h:
* testing/Internals.cpp:
(WebCore::Internals::setMediaSessionRestrictions):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:

* media/video-background-playback-expected.txt: Removed.
* media/video-background-playback.html: Removed.
* media/video-interruption-active-when-element-created-expected.txt: Copied from LayoutTests/media/video-interruption-with-resume-allowing-play-expected.txt.
* media/video-interruption-active-when-element-created.html: Copied from LayoutTests/media/video-interruption-with-resume-not-allowing-play.html.
* media/video-interruption-with-resume-allowing-play-expected.txt:
* media/video-interruption-with-resume-allowing-play.html:
* media/video-interruption-with-resume-not-allowing-play-expected.txt:
* media/video-interruption-with-resume-not-allowing-play.html:

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

6 years agoRefine MediaSession interruptions
eric.carlson@apple.com [Tue, 4 Feb 2014 14:59:18 +0000 (14:59 +0000)]
Refine MediaSession interruptions
https://bugs.webkit.org/show_bug.cgi?id=128125

Reviewed by Jer Noble.

Source/WebCore:

Test: media/video-background-playback.html

* WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
    Internals.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
    to see if it is interrupted directly.
(WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
    to see if it is interrupted directly.
(WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
    the information is available.
(WebCore::HTMLMediaElement::resumePlayback): New.
* html/HTMLMediaElement.h:

* html/HTMLMediaSession.cpp:
(WebCore::restrictionName): New, use for logging only.
(WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
(WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
* html/HTMLMediaSession.h:

* platform/audio/MediaSession.cpp:
(WebCore::stateName): New, used for logging.
(WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
(WebCore::MediaSession::setState): Log state changes.
(WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
    to restore state when the interruption ends.
(WebCore::MediaSession::endInterruption): Resume playback if appropriate.
(WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
(WebCore::MediaSession::clientWillPausePlayback): Ditto.
(WebCore::MediaSession::mediaType): Ask client for state.
* platform/audio/MediaSession.h:

* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
(WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
(WebCore::MediaSessionManager::endInterruption): Ditto.
(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
    allowed to play in the background.
(WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
    was stopped by an interruption.
* platform/audio/MediaSessionManager.h:

* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
(WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
    while the application is in the background. Register for application suspend/resume
    notifications.
(-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application
    state change.
(-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.

* platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.

* testing/Internals.cpp:
(WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
(WebCore::Internals::applicationWillEnterBackground): Ditto.
(WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Export applicationWillEnterForeground
    and applicationWillEnterBackground for Internals.

LayoutTests:

* media/video-background-playback-expected.txt: Added.
* media/video-background-playback.html: Added.
* media/video-interruption-active-when-element-created-expected.txt: Removed.
* media/video-interruption-active-when-element-created.html: Removed.
* media/video-interruption-with-resume-allowing-play-expected.txt:
* media/video-interruption-with-resume-allowing-play.html:
* media/video-interruption-with-resume-not-allowing-play-expected.txt:
* media/video-interruption-with-resume-not-allowing-play.html:

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

6 years ago[Automake] Add missing $(feature_defines) when generating InjectedBundle bindings
commit-queue@webkit.org [Tue, 4 Feb 2014 14:50:36 +0000 (14:50 +0000)]
[Automake] Add missing $(feature_defines) when generating InjectedBundle bindings
https://bugs.webkit.org/show_bug.cgi?id=128170

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-04
Reviewed by Carlos Garcia Campos.

* WebKitTestRunner/GNUmakefile.am: Add missing $(feature_defines) when
generating the InjectedBundle bindings. So the various ENABLE_* defines
are available there.

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

6 years ago[EFL] Add expectations for three flaky media layout tests
commit-queue@webkit.org [Tue, 4 Feb 2014 13:43:20 +0000 (13:43 +0000)]
[EFL] Add expectations for three flaky media layout tests
https://bugs.webkit.org/show_bug.cgi?id=128104

Unreviewed EFL gardening

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-02-04

* platform/efl/TestExpectations:

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

6 years ago[GTK] Ensure generated events have given modifiers GDK understands
commit-queue@webkit.org [Tue, 4 Feb 2014 12:42:40 +0000 (12:42 +0000)]
[GTK] Ensure generated events have given modifiers GDK understands
https://bugs.webkit.org/show_bug.cgi?id=128171

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-04
Reviewed by Carlos Garcia Campos.

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::webkitModifiersToGDKModifiers): Move around
(WTR::EventSenderProxy::createMouseButtonEvent):
(WTR::EventSenderProxy::keyDown): Use webkitModifiersToGDKModifiers to
translate WKEventModifiers.

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

6 years agoFine tuning the ARM EFL bots
rgabor@webkit.org [Tue, 4 Feb 2014 11:54:17 +0000 (11:54 +0000)]
Fine tuning the ARM EFL bots
https://bugs.webkit.org/show_bug.cgi?id=128168

Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/build.webkit.org-config/config.json: Add custom SVN mirror.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(WaitForSVNServer): Make it not to halt before the first repository checkout.
(WaitForSVNServer.evaluateCommand):
(Factory.__init__): Disable kill-old-processes step on EFL ARM bots, because these
bots run on the same machine and they kill the processes of each other.

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

6 years ago[EFL] Add expectations for two flaky media layout tests
commit-queue@webkit.org [Tue, 4 Feb 2014 11:40:22 +0000 (11:40 +0000)]
[EFL] Add expectations for two flaky media layout tests
https://bugs.webkit.org/show_bug.cgi?id=127994

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-02-04

* platform/efl/TestExpectations:

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

6 years ago[EFL][WK2] ewk_context needs to route InjectedBundle messages correctly.
eunmi15.lee@samsung.com [Tue, 4 Feb 2014 10:25:11 +0000 (10:25 +0000)]
[EFL][WK2] ewk_context needs to route InjectedBundle messages correctly.
https://bugs.webkit.org/show_bug.cgi?id=90772

Reviewed by Gyuyoung Kim.

Add APIs to post message to injected bundle and register callback to
get message from injected bundle. When callback is registered,
WKContextInjectedBundleClient is set to get messages from injected bundle.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(toEwkContext):
(EwkContext::didReceiveMessageFromInjectedBundle):
(EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
(EwkContext::setMessageFromInjectedBundleCallback): register callback to get message from injected bundle.
(EwkContext::processReceivedMessageFromInjectedBundle): process message from injected bundle.
(ewk_context_message_post_to_injected_bundle):
(ewk_context_message_from_injected_bundle_callback_set):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:

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

6 years ago[CSS Regions] Fix Assert SHOULD NEVER BE REACHED in RenderLayer::enclosingElement()
commit-queue@webkit.org [Tue, 4 Feb 2014 10:10:42 +0000 (10:10 +0000)]
[CSS Regions] Fix Assert SHOULD NEVER BE REACHED in RenderLayer::enclosingElement()
https://bugs.webkit.org/show_bug.cgi?id=123329

Patch by Mihai Maerean <mmaerean@adobe.com> on 2014-02-04
Reviewed by Mihnea Ovidenie.

Source/WebCore:

The flowthread doesn't have an enclosing element, so when hitting the layer of the
flowthread (e.g. the descent area of the RootInlineBox for the image flowed alone
inside the flow thread) we're letting the hit testing continue so it will hit the region.

Tests: fast/regions/assert-hit-test-image.html
       fast/regions/auto-size/region-same-height-as-div-with-inline-child.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestContents):

LayoutTests:

* fast/regions/assert-hit-test-image.html: Added.
* fast/regions/assert-hit-test-image-expected.txt: Added.
* fast/regions/auto-size/region-same-height-as-div-with-inline-child.html: Added.
* fast/regions/auto-size/region-same-height-as-div-with-inline-child-expected.txt: Added.

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

6 years agoASSERTION FAILED: !object || (object->isRenderBlock())
mihnea@adobe.com [Tue, 4 Feb 2014 08:53:46 +0000 (08:53 +0000)]
ASSERTION FAILED: !object || (object->isRenderBlock())
https://bugs.webkit.org/show_bug.cgi?id=127687

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently, when computing the visible position for a point inside a region,
we transform the point into flow thread coordinates and delegate the processing
to the first child of the flow thread which we incorrectly assume is a block.
However, we can specify flow-into also on inline elements which leads to the
assertion.

Instead of delegating the processing to the first child when the flow thread
has children, delegate the computation of the visible position to the
flow thread and avoid any assumption about the nature of the flow thread
first child. If the flow thread does not have any children that should be
rendered by the region, let the region behave like an ordinary element
with no children.

Tests: fast/regions/selection/position-for-point-inline-content-node.html
       fast/regions/selection/selection-ended-in-empty-region.html

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::positionForPoint):

LayoutTests:

Added test showing that the content of an inline content node, having
flow-into specified, can be properly selected without hitting the assertion.
Also added another test to make sure that when the selection starts
outside an empty region and ends inside the empty region, the region behaves
like an ordinary element with no children.

* fast/regions/selection/position-for-point-inline-content-node-expected.txt: Added.
* fast/regions/selection/position-for-point-inline-content-node.html: Added.
* fast/regions/selection/selection-ended-in-empty-region-expected.txt: Added.
* fast/regions/selection/selection-ended-in-empty-region.html: Added.

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

6 years ago[EFL][WK2] Stop using COMPILE_ASSERT_MATCHING_ENUM macros in EFL WebKit2
jinwoo7.song@samsung.com [Tue, 4 Feb 2014 08:20:15 +0000 (08:20 +0000)]
[EFL][WK2] Stop using COMPILE_ASSERT_MATCHING_ENUM macros in EFL WebKit2
https://bugs.webkit.org/show_bug.cgi?id=128156

Reviewed by Anders Carlsson.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::requestPopupMenu):
* UIProcess/API/efl/ewk_context.cpp:
(toWKCacheModel):
(EwkContext::setCacheModel):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(ewk_cookie_manager_persistent_storage_set):
(ewk_cookie_manager_accept_policy_set):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(toEwkNavigationType):
(toEventMouseButton):
(toEventModifierKeys):
(EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
(EwkNavigationPolicyDecision::navigationType):
(EwkNavigationPolicyDecision::mouseButton):
(EwkNavigationPolicyDecision::modifiers):
(ewk_navigation_policy_decision_download):
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(EwkNavigationPolicyDecision::create):
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(EwkPopupMenuItem::type):
(EwkPopupMenuItem::textDirection):
* UIProcess/API/efl/ewk_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(toWKFindOptions):
(ewk_view_text_find):
(toWKPaginationMode):
(toEwkPaginationMode):
(ewk_view_pagination_mode_set):
(ewk_view_pagination_mode_get):

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

6 years agoLift the FTL tier-up threshold from 25000 to 100000
fpizlo@apple.com [Tue, 4 Feb 2014 05:50:42 +0000 (05:50 +0000)]
Lift the FTL tier-up threshold from 25000 to 100000
https://bugs.webkit.org/show_bug.cgi?id=128158

Rubber stamped by Michael Saboff.

* runtime/Options.h:

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

6 years agoUnreviewed build fix after http://trac.webkit.org/changeset/163364
beidson@apple.com [Tue, 4 Feb 2014 05:44:28 +0000 (05:44 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/163364

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
(WebKit::getObjectStoreStatement): Args need the new names, and I need to save the file before committing.  :(

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

6 years agoIDB: HTML5 Rocks Indexed Database demo fails
beidson@apple.com [Tue, 4 Feb 2014 05:42:05 +0000 (05:42 +0000)]
IDB: HTML5 Rocks Indexed Database demo fails
https://bugs.webkit.org/show_bug.cgi?id=128157

Reviewed by Anders Carlsson (Provisional review by Jon Lee)

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
(WebKit::getIndexStatement): Only increment the open/closed counters if those keys exist.
  Fix order of statements for no lower key.
(WebKit::getObjectStoreStatement): Only increment the open/closed counters if those keys exist.

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

6 years agoNeed regression test for the debugger modifying locals in a DFG frame.
mark.lam@apple.com [Tue, 4 Feb 2014 05:10:04 +0000 (05:10 +0000)]
Need regression test for the debugger modifying locals in a DFG frame.
https://bugs.webkit.org/show_bug.cgi?id=128120.

Reviewed by Geoffrey Garen.

Regression test for https://bugs.webkit.org/show_bug.cgi?id=128112.

This test does the following:
1. Warm up a DFG function.
2. Sets a breakpoint in a function breakpointBasic() that will be called
   by the DFG function, but has never been called yet.
3. Call a driver function which in turn calls the DFG function, and expect
   the debugger to break.
4. At the breakpoint in breakpointBasic(), evaluate an expression on its
   caller i.e. the DFG function, and change a local variable in it.
5. Resume from the debugger, and let the DFG function and its driver
   function run to completion. The DFG function will return a value
   computed using the modified local.
6. At the end of the driver function, verify that the returned computed
   value reflects the modified value.

This test has been verified with tracing enabled to ensure that the test
DFG function was indeed DFG compiled, and that the test passed with the
expected results.

* inspector-protocol/debugger/resources/breakpoint.js:
(notInlineable2):
(dfgWithoutInline2):
(callNotInlineable2):
* inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local.html: Added.

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

6 years agoUse nullptr in ShareableBitmap
jae.park@company100.net [Tue, 4 Feb 2014 05:05:43 +0000 (05:05 +0000)]
Use nullptr in ShareableBitmap
https://bugs.webkit.org/show_bug.cgi?id=128153

Reviewed by Gyuyoung Kim.

* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create):
(WebKit::ShareableBitmap::createShareable):

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

6 years agoNeed regression test to ensure that the debugger does not attempt to execute a bad...
mark.lam@apple.com [Tue, 4 Feb 2014 04:13:54 +0000 (04:13 +0000)]
Need regression test to ensure that the debugger does not attempt to execute a bad script from its console.
<https://webkit.org/b/128121>

Reviewed by Geoffrey Garen.

Regression test for https://bugs.webkit.org/show_bug.cgi?id=127600.

* inspector-protocol/debugger/breakpoint-condition-with-bad-script-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-condition-with-bad-script.html: Added.
- Sets up a breakpoint with a condition script. The condition script
  will fail to parse with a syntax error.
  I've tested that without the fix in http://trac.webkit.org/r162752,
  this will crash the VM. With the fix, it works fine.

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

6 years agoRemove stray vestige from ::-webkit-distributed selector.
akling@apple.com [Tue, 4 Feb 2014 04:08:25 +0000 (04:08 +0000)]
Remove stray vestige from ::-webkit-distributed selector.
<https://webkit.org/b/128154>

Reviewed by Anders Carlsson.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType):

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

6 years agoRemove the CSS @host rule.
akling@apple.com [Tue, 4 Feb 2014 03:47:09 +0000 (03:47 +0000)]
Remove the CSS @host rule.
<https://webkit.org/b/128146>

The @host rule is no longer part of the spec, and besides this code
was behind ENABLE(SHADOW_DOM) so nobody was building it.

Reviewed by Anders Carlsson.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/objc/DOMCSS.mm:
(kitClass):
* css/CSSAllInOne.cpp:
* css/CSSGrammar.y.in:
* css/CSSHostRule.cpp: Removed.
* css/CSSHostRule.h: Removed.
* css/CSSHostRule.idl: Removed.
* css/CSSParser.cpp:
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::detectAtToken):
* css/CSSParser.h:
* css/CSSRule.h:
* css/CSSRule.idl:
* css/InspectorCSSOMWrappers.cpp:
(WebCore::InspectorCSSOMWrappers::collect):
* css/StyleResolver.h:
* css/StyleRule.cpp:
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):
* css/StyleRule.h:
* css/StyleSheetContents.cpp:
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* inspector/InspectorStyleSheet.cpp:
(flattenSourceData):
(WebCore::asCSSRuleList):

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

6 years agoAdd title and hasOnlySecureContent properties to WKWebView
andersca@apple.com [Tue, 4 Feb 2014 03:10:15 +0000 (03:10 +0000)]
Add title and hasOnlySecureContent properties to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128152

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView title]):
(-[WKWebView hasOnlySecureContent]):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didChangeIsLoading):
(WebKit::NavigationState::willChangeTitle):
(WebKit::NavigationState::didChangeTitle):
(WebKit::NavigationState::willChangeHasOnlySecureContent):
(WebKit::NavigationState::didChangeHasOnlySecureContent):

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

6 years agoSubpixel rendering: Do not query the scaling factor when the graphics context is...
zalan@apple.com [Tue, 4 Feb 2014 03:04:22 +0000 (03:04 +0000)]
Subpixel rendering: Do not query the scaling factor when the graphics context is invalid.
https://bugs.webkit.org/show_bug.cgi?id=128131

Reviewed by Simon Fraser.

No existing context to test it.

* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::platformInit):

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

6 years agoFix spelling.
weinig@apple.com [Tue, 4 Feb 2014 02:58:02 +0000 (02:58 +0000)]
Fix spelling.

* Shared/WebPreferencesStore.h:

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

6 years ago[WebKit2, iOS] Enable frame flattening by default on iOS
weinig@apple.com [Tue, 4 Feb 2014 02:52:12 +0000 (02:52 +0000)]
[WebKit2, iOS] Enable frame flattening by default on iOS
<rdar://problem/15975983>
https://bugs.webkit.org/show_bug.cgi?id=128151

Reviewed by Tim Horton.

* Shared/WebPreferencesStore.h:

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

6 years ago[iOS][wk2] Temporarily disable accelerated drawing for canvas
timothy_horton@apple.com [Tue, 4 Feb 2014 02:09:25 +0000 (02:09 +0000)]
[iOS][wk2] Temporarily disable accelerated drawing for canvas
https://bugs.webkit.org/show_bug.cgi?id=128147

Reviewed by Simon Fraser.

* Shared/WebPreferencesStore.h:
Temporarily disable accelerated canvas for WebKit2 on iOS.

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

6 years agoLLInt: Regex for pseudo-instructions is too big
mhahnenberg@apple.com [Tue, 4 Feb 2014 02:08:23 +0000 (02:08 +0000)]
LLInt: Regex for pseudo-instructions is too big
https://bugs.webkit.org/show_bug.cgi?id=128148

Reviewed by Mark Lam.

* offlineasm/instructions.rb:
* offlineasm/parser.rb:

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

6 years agoAdd loading property to WKWebView
andersca@apple.com [Tue, 4 Feb 2014 02:02:53 +0000 (02:02 +0000)]
Add loading property to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128144

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView isLoading]):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::willChangeIsLoading):
(WebKit::NavigationState::didChangeIsLoading):

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

6 years agoFix Windows build.
andersca@apple.com [Tue, 4 Feb 2014 01:13:45 +0000 (01:13 +0000)]
Fix Windows build.

* wtf/text/StringImpl.h:
(WTF::StringImpl::tailOffset):

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

6 years ago[Cairo] GraphicsContext::m_pixelSnappingFactor is uninitialized
commit-queue@webkit.org [Tue, 4 Feb 2014 01:07:00 +0000 (01:07 +0000)]
[Cairo] GraphicsContext::m_pixelSnappingFactor is uninitialized
https://bugs.webkit.org/show_bug.cgi?id=128102

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-02-03
Reviewed by Csaba Osztrogonác.

Initalize m_pixelSnappingFactor to 1

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::GraphicsContext): Initialized pixelSnappingFactor to 1 and
fixed the coding style violation.

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

6 years agoStringImpl::tailOffset() should return the offset right after m_hashAndFlags
andersca@apple.com [Tue, 4 Feb 2014 01:03:38 +0000 (01:03 +0000)]
StringImpl::tailOffset() should return the offset right after m_hashAndFlags
https://bugs.webkit.org/show_bug.cgi?id=128141

Reviewed by Andreas Kling.

* wtf/text/StringImpl.h:
(WTF::StringImpl::tailOffset):

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

6 years agoFix for 128110
bburg@apple.com [Tue, 4 Feb 2014 01:02:23 +0000 (01:02 +0000)]
Fix for 128110

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

6 years agoFix the cloop due to GenGC
mhahnenberg@apple.com [Tue, 4 Feb 2014 00:54:16 +0000 (00:54 +0000)]
Fix the cloop due to GenGC
https://bugs.webkit.org/show_bug.cgi?id=128137

Reviewed by Geoffrey Garen.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.cpp:
(JSC::CLoopRegister::operator JSCell*):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/cloop.rb:
* offlineasm/instructions.rb:

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

6 years agoRemove unused code in CSSParser.cpp
jinwoo7.song@samsung.com [Tue, 4 Feb 2014 00:45:02 +0000 (00:45 +0000)]
Remove unused code in CSSParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=128135

Reviewed by Darin Adler.

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

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

6 years agoREGRESSION (r163011-r163031): Web Inspector: Latest nightly crashes when showing...
msaboff@apple.com [Tue, 4 Feb 2014 00:37:51 +0000 (00:37 +0000)]
REGRESSION (r163011-r163031): Web Inspector: Latest nightly crashes when showing the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=127901

Reviewed by Geoffrey Garen.

Set VM::topCallFrame before making calls to possible C++ code in
generateProtoChainAccessStub() and tryBuildGetByIDList().

* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

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

6 years agoMore tail pointer consolidation
andersca@apple.com [Tue, 4 Feb 2014 00:37:15 +0000 (00:37 +0000)]
More tail pointer consolidation
https://bugs.webkit.org/show_bug.cgi?id=128139

Reviewed by Andreas Kling.

Add a new tailOffset() function and reimplement allocationSize() and tailPointer()
in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createUninitializedInternalNonEmpty):
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::requiresCopy):
(WTF::StringImpl::allocationSize):
(WTF::StringImpl::tailOffset):
(WTF::StringImpl::tailPointer):

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

6 years agokill-old-processes doesn't kill plugin processes
rniwa@webkit.org [Tue, 4 Feb 2014 00:29:22 +0000 (00:29 +0000)]
kill-old-processes doesn't kill plugin processes
https://bugs.webkit.org/show_bug.cgi?id=128138

Reviewed by Andreas Kling.

Add plugin process names to the list of processes to kill.

* BuildSlaveSupport/kill-old-processes:
(main):

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

6 years ago[GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
gns@gnome.org [Tue, 4 Feb 2014 00:26:58 +0000 (00:26 +0000)]
[GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
https://bugs.webkit.org/show_bug.cgi?id=128136

Reviewed by Martin Robinson.

* wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.

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

6 years ago[Mac] WK1 Clients Only Latch on Momentum Scroll
bfulgham@apple.com [Tue, 4 Feb 2014 00:17:05 +0000 (00:17 +0000)]
[Mac] WK1 Clients Only Latch on Momentum Scroll
https://bugs.webkit.org/show_bug.cgi?id=128133

Reviewed by Simon Fraser.

* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::useLatchedEventElement): Update
predicate to recognize the start and change phases of the wheel
event as latchable (not just momentum start/change).

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

6 years agoKeep only captured symbols in CodeBlock symbol tables.
akling@apple.com [Tue, 4 Feb 2014 00:13:01 +0000 (00:13 +0000)]
Keep only captured symbols in CodeBlock symbol tables.
<https://webkit.org/b/128050>

Discard all uncaptured symbols at the end of codegen since only
the captured ones will be used after that point.

~2MB progression on Membuster OSUS.

Reviewed by Geoffrey Garen.

* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::setSymbolTable):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):

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

6 years agoAllow WK2 to read from NSUserDefaults when it has no prefs identifier
simon.fraser@apple.com [Tue, 4 Feb 2014 00:00:46 +0000 (00:00 +0000)]
Allow WK2 to read from NSUserDefaults when it has no prefs identifier
https://bugs.webkit.org/show_bug.cgi?id=128124

Reviewed by Sam Weinig.

WebPreferences would never read from NSUserDefaults if no identifier
had been set, but this prevents us from reading useful debugging prefs.

Fix to read pref names using a "WebKit2" prefix when no identifier
is set.

* UIProcess/mac/WebPreferencesMac.mm:
(WebKit::makeKey):
(WebKit::WebPreferences::platformInitializeStore):

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

6 years ago[WK2] Remove the VideoPluginProxyEnabled preference in WK2
jer.noble@apple.com [Mon, 3 Feb 2014 23:39:53 +0000 (23:39 +0000)]
[WK2] Remove the VideoPluginProxyEnabled preference in WK2
https://bugs.webkit.org/show_bug.cgi?id=128128

Reviewed by Brady Eidson.

The plugin proxy is iOS WK1 only, and has no meaning in WebKit2. Just set the preference to false.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
* UIProcess/API/C/WKPreferencesRef.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

6 years agoFix the LLInt C loop
mhahnenberg@apple.com [Mon, 3 Feb 2014 23:36:42 +0000 (23:36 +0000)]
Fix the LLInt C loop

Rubber stamped by Mark Lam.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* llint/LLIntSlowPaths.h:

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

6 years agoFeature flag for shape-inside
dino@apple.com [Mon, 3 Feb 2014 23:35:34 +0000 (23:35 +0000)]
Feature flag for shape-inside
https://bugs.webkit.org/show_bug.cgi?id=128001

Reviewed by Simon Fraser.

Source/JavaScriptCore:

Add CSS_SHAPE_INSIDE flag.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add CSS_SHAPE_INSIDE flag.

I wrapped everything that is specific to shape-inside in
this flag. It is now possible to build with CSS Shapes enabled
but shape-inside disabled. CSS_SHAPE_INSIDE is dependent on
CSS_SHAPES, so disabling the latter should also disable the former.

* Configurations/FeatureDefines.xcconfig:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseShapeProperty):
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::loadPendingImages):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/LayoutState.h:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::updateShapesBeforeBlockLayout):
(WebCore::RenderBlock::updateShapesAfterBlockLayout):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
(WebCore::constructBidiRunsForLine):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::~RenderElement):
(WebCore::RenderElement::initializeStyle):
(WebCore::RenderElement::setStyle):
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::createStyle):
* rendering/RenderView.h:
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::handleEndOfLine):
* rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::nextLineBreak):
* rendering/line/LineWidth.cpp:
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::fitBelowFloats):
* rendering/line/LineWidth.h:
* rendering/shapes/ShapeInsideInfo.cpp:
* rendering/shapes/ShapeInsideInfo.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

Source/WebKit/mac:

Add CSS_SHAPE_INSIDE flag.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add CSS_SHAPE_INSIDE flag.

* Configurations/FeatureDefines.xcconfig:

Tools:

Add CSS_SHAPE_INSIDE flag, and -css-shape-inside build
flag.

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoNavigationState should be a PageLoadState::Observer
andersca@apple.com [Mon, 3 Feb 2014 23:33:20 +0000 (23:33 +0000)]
NavigationState should be a PageLoadState::Observer
https://bugs.webkit.org/show_bug.cgi?id=128130

Reviewed by Darin Adler.

This will make it easier to provide load related KVO properties on WKWebView.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h: Added.
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::~NavigationState):
(WebKit::NavigationState::willChangeIsLoading):
(WebKit::NavigationState::didChangeIsLoading):
(WebKit::NavigationState::willChangeTitle):
(WebKit::NavigationState::didChangeTitle):
(WebKit::NavigationState::willChangeActiveURL):
(WebKit::NavigationState::didChangeActiveURL):
(WebKit::NavigationState::willChangeHasOnlySecureContent):
(WebKit::NavigationState::didChangeHasOnlySecureContent):
(WebKit::NavigationState::willChangeEstimatedProgress):
(WebKit::NavigationState::didChangeEstimatedProgress):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoTurn GenGC on
mhahnenberg@apple.com [Mon, 3 Feb 2014 23:12:11 +0000 (23:12 +0000)]
Turn GenGC on
https://bugs.webkit.org/show_bug.cgi?id=128109

Reviewed by Oliver Hunt.

* wtf/Platform.h: Initially it will only be enabled for X86-64.

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

6 years agoREGRESSION (r163018): Can’t scroll in <select> lists
bfulgham@apple.com [Mon, 3 Feb 2014 23:10:31 +0000 (23:10 +0000)]
REGRESSION (r163018): Can’t scroll in <select> lists
https://bugs.webkit.org/show_bug.cgi?id=128090

Source/WebCore:

The regression was caused by the fact that a new method scrollWithWheelEventLocation() was added
to RenderBox to replace the generic scroll() method for the particular case of scrolling using
the mouse wheel. This turned out to be a mistake because in the case of some elements, like select lists,
the scroll method was overriden and now the incorrect method was being called.
The solution was to remove the new method and just add two default parameters to the generic
scroll method.

Patch by Radu Stavila <stavila@adobe.com> on 2014-02-03
Reviewed by Simon Fraser.

Test: fast/scrolling/scroll-select-list.html

* page/EventHandler.cpp:
(WebCore::scrollNode):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scroll):
* rendering/RenderBox.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::scroll):
* rendering/RenderEmbeddedObject.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scroll):
* rendering/RenderListBox.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::scroll):
* rendering/RenderTextControlSingleLine.h:

LayoutTests:

New test validates scrolling using the mouse wheel inside a select list.
This test is for the moment added as a ImageOnlyFailure expectation
because the current implementation of eventSender cannot simulate mouse wheel events.

Patch by Radu Stavila <stavila@adobe.com> on 2014-02-03
Reviewed by Simon Fraser.

* TestExpectations:
* fast/scrolling/scroll-select-list-expected.html: Added.
* fast/scrolling/scroll-select-list.html: Added.

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

6 years agoDeconstructed parameters aren't being placed in the correct scope
oliver@apple.com [Mon, 3 Feb 2014 22:43:28 +0000 (22:43 +0000)]
Deconstructed parameters aren't being placed in the correct scope
https://bugs.webkit.org/show_bug.cgi?id=128126

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Make sure we declare the bound parameter names as variables when
we reparse.  In the BytecodeGenerator we now also directly ensure
that bound parameters are placed in the symbol table of the function
we're currently compiling.  We then delay binding until just before
we start codegen for the body of the function so that we can ensure
the function has completely initialised all scope details.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::createBindingPattern):

LayoutTests:

Added tests for correct behaviour.

* js/deconstructing-parameters-should-be-locals-expected.txt: Added.
* js/deconstructing-parameters-should-be-locals.html: Added.
* js/script-tests/deconstructing-parameters-should-be-locals.js: Added.
(description.value.string_appeared_here.readDeconstructedParameter):
(overwriteDeconstructedParameter):
(readCapturedDeconstructedParameter):
(overwriteCapturedDeconstructedParameter):

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

6 years agoUnreviewed. Reorder my e-mail addresses in contributors.json,
zoltan@webkit.org [Mon, 3 Feb 2014 22:39:38 +0000 (22:39 +0000)]
Unreviewed. Reorder my e-mail addresses in contributors.json,
so bugzilla will auto complete my actual bugzilla username.

* Scripts/webkitpy/common/config/contributors.json:

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

6 years agoConsolidate StringImpl tail handling into two functions
andersca@apple.com [Mon, 3 Feb 2014 22:04:56 +0000 (22:04 +0000)]
Consolidate StringImpl tail handling into two functions
https://bugs.webkit.org/show_bug.cgi?id=128122

Reviewed by Andreas Kling.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::reallocateInternal):
* wtf/text/StringImpl.h:
(WTF::StringImpl::tryCreateUninitialized):
(WTF::StringImpl::allocationSize):
(WTF::StringImpl::tailPointer):

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

6 years agoUpdate JS whitespace definition for changes in Unicode 6.3
ap@apple.com [Mon, 3 Feb 2014 21:52:55 +0000 (21:52 +0000)]
Update JS whitespace definition for changes in Unicode 6.3
https://bugs.webkit.org/show_bug.cgi?id=127450

Reviewed by Oliver Hunt.

* parser/Lexer.h: (JSC::Lexer<UChar>::isWhiteSpace): Part 2 of the fix, update lexer too.

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

6 years agoAdded GetTypedArrayByteOffset to FTL
commit-queue@webkit.org [Mon, 3 Feb 2014 21:51:47 +0000 (21:51 +0000)]
Added GetTypedArrayByteOffset to FTL
https://bugs.webkit.org/show_bug.cgi?id=127589

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-03
Reviewed by Filip Pizlo.

* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetTypedArrayByteOffset):
* tests/stress/ftl-gettypedarrayoffset-simple.js: Added.
(foo):
* tests/stress/ftl-gettypedarrayoffset-wasteful.js: Added.
(foo):

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

6 years agoWebKit2 View Gestures: Two smart magnifications in a row without moving the mouse...
timothy_horton@apple.com [Mon, 3 Feb 2014 21:46:46 +0000 (21:46 +0000)]
WebKit2 View Gestures: Two smart magnifications in a row without moving the mouse should zoom out
https://bugs.webkit.org/show_bug.cgi?id=128108
<rdar://problem/15914539>

Reviewed by Darin Adler.

* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureController.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::handleMagnificationGesture):
Clear the bit that tells us that we should do "smart" things (because the
last gesture was also a smart magnification gesture) when the user manually pinch-magnifies.

(WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
Zoom out if the mouse hasn't moved since the last pinch-magnification gesture.

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

6 years agoDebugger created JSActivations should account for CodeBlock::framePointerOffsetToGetA...
mark.lam@apple.com [Mon, 3 Feb 2014 20:59:40 +0000 (20:59 +0000)]
Debugger created JSActivations should account for CodeBlock::framePointerOffsetToGetActivationRegisters().
<https://webkit.org/b/128112>

Reviewed by Geoffrey Garen.

Currently, when the DebuggerCallFrame creates the JSActivation object
for a frame, it does not account for the framePointerOffsetToGetActivationRegisters()
offset that needs to be added for DFG frames.

Instead of special casing the fix in DebuggerCallFrame::scope(), we fix
this by adding CodeBlock::framePointerOffsetToGetActivationRegisters() to
callFrame->registers() in the JSActivation::create() method that does not
explicitly take a Register*. This ensures that JSActivation::create() will
always do the right thing instead of only being a special case for the
LLINT and baselineJIT.

Apart from the DebuggerCallFrame, this create() function is only called by
slow paths in the LLINT and baselineJIT. Hence, it is not performance
critical.

* runtime/JSActivation.h:
(JSC::JSActivation::create):

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

6 years agoSimplified name scope creation for function expressions
ggaren@apple.com [Mon, 3 Feb 2014 20:39:38 +0000 (20:39 +0000)]
Simplified name scope creation for function expressions
https://bugs.webkit.org/show_bug.cgi?id=128031

Reviewed by Mark Lam.

Source/JavaScriptCore:

3X speedup on js/regress/script-tests/function-with-eval.js.

We used to emit bytecode to push a name into local scope every
time a function that needed such a name executed. Now, we push the name
into scope once on the function object, and leave it there.

This is faster, and it also reduces the number of variable resolution
modes you have to worry about when thinking about bytecode and the
debugger.

This patch is slightly complicated by the fact that we don't know if
a function needs a name scope until we parse its body. So, there's some
glue code in here to delay filling in a function's scope until we parse
its body for the first time.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::functionMode): Renamed
functionNameIsInScopeToggle to functionMode.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): No need to emit convert_this
when debugging. The debugger will perform the conversion as needed.

(JSC::BytecodeGenerator::resolveCallee):
(JSC::BytecodeGenerator::addCallee): Simplified this code by removing
the "my function needs a name scope, but didn't allocate one" mode.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall): Pass a scope slot through to
CodeBlock generation, so we can add a function name scope if the parsed
function body requires one.

* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall): Ditto.

* parser/NodeConstructors.h:
(JSC::FuncExprNode::FuncExprNode):
(JSC::FuncDeclNode::FuncDeclNode):
* parser/Nodes.cpp:
(JSC::FunctionBodyNode::finishParsing):
* parser/Nodes.h:
(JSC::FunctionBodyNode::functionMode): Updated for rename.

* parser/ParserModes.h:
(JSC::functionNameIsInScope):
(JSC::functionNameScopeIsDynamic): Helper functions for reasoning about
how crazy JavaScript language semantics are.

* runtime/ArrayPrototype.cpp:
(JSC::isNumericCompareFunction):
(JSC::attemptFastSort): Updated for interface changes above.

* runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):
(JSC::FunctionExecutable::FunctionExecutable):
* runtime/Executable.h:
(JSC::ScriptExecutable::prepareForExecution):
(JSC::FunctionExecutable::functionMode):
* runtime/JSFunction.cpp:
(JSC::JSFunction::addNameScopeIfNeeded):
* runtime/JSFunction.h:
* runtime/JSNameScope.h:
(JSC::JSNameScope::create):
(JSC::JSNameScope::JSNameScope): Added machinery for pushing a function
name scope onto a function when we first discover that it's needed.

LayoutTests:

Added a performance regression test.

* js/regress/function-with-eval-expected.txt: Added.
* js/regress/function-with-eval.html: Added.
* js/regress/script-tests/function-with-eval.js: Added.
(foo):
(bar):

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

6 years agoAX: WebKit should support @headers/@id for complex accessible web tables
cfleizach@apple.com [Mon, 3 Feb 2014 20:34:39 +0000 (20:34 +0000)]
AX: WebKit should support @headers/@id for complex accessible web tables
https://bugs.webkit.org/show_bug.cgi?id=128114

Reviewed by Darin Adler.

Source/WebCore:

Expose the headers attribute for table cells to accessibility.

Test: platform/mac/accessibility/table-headers-attribute.html

* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::columnHeaders):

LayoutTests:

* platform/mac/accessibility/table-headers-attribute-expected.txt: Added.
* platform/mac/accessibility/table-headers-attribute.html: Added.

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

6 years agoCTTE: RenderSVGGradientStop always has a SVGStopElement.
akling@apple.com [Mon, 3 Feb 2014 20:26:09 +0000 (20:26 +0000)]
CTTE: RenderSVGGradientStop always has a SVGStopElement.
<https://webkit.org/b/128107>

RenderSVGGradientStop is never anonymous and always has a
corresponding SVGStopElement. Codify this by adding an element()
overload that returns an SVGStopElement&.

Also added missing overrides and made most functions private.

Reviewed by Darin Adler.

* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange):
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGGradientStop):

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

6 years agoRemove CachedImageManual class
ddkilzer@apple.com [Mon, 3 Feb 2014 19:34:30 +0000 (19:34 +0000)]
Remove CachedImageManual class
<http://webkit.org/b/128043>

Reviewed by Darin Adler.

Get rid of the CachedImageManual class by inlining its
functionality into CachedImage.  This makes it possible to
de-virtual-ize isManual() (renamed to isManuallyCached()) and to
make CachedImage final.  The size of CachedImage does not
increase because we turn an existing bool into a bitfield to add
an m_isManuallyCached bit, and create a static CachedImageClient
in MemoryCache.cpp as the "fake" client to keep the manually
cached image alive in the cache.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage): Set m_isManuallyCached
bitfield.  For one overloaded constructor, move the
CachedImageManual code into the CachedImage constructor.
(WebCore::CachedImageManual::CachedImageManual): Remove.
(WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Move
method from CachedImageManual to CachedImage, and put
ManuallyCached behavior behind a check.
* loader/cache/CachedImage.h: Update includes.  Make CachedImage
final.  Add CachedImage::CacheBehaviorType enum when manually
cached images are created.  Move CachedImageManual methods into
CachedImage, remove addFakeClient() and removeFakeClient()
methods (MemoryCache methods use addClient() and removeClient()
with a static CachedImageClient), and remove the
CachedImageManual class definition.  Change
m_shouldPaintBrokenImage to a bitfield and add
m_isManuallyCached bitfield.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::addImageToCache): Use std::unique_ptr and
remove useless NULL check after calling CachedImage constructor.
(WebCore::MemoryCache::removeImageFromCache):
- Update to use CachedImage class instead of CachedImageManual.

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

6 years agoMove the webdatabase module source code to std::unique_ptr
zandobersek@gmail.com [Mon, 3 Feb 2014 19:07:29 +0000 (19:07 +0000)]
Move the webdatabase module source code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127278

Reviewed by Antti Koivisto.

Replace the majority of OwnPtr uses in the webdatabase module with std::unique_ptr.
The only remaining uses are due to ScriptExecutionContext::Task subclasses.

* Modules/webdatabase/AbstractSQLTransactionBackend.h:
* Modules/webdatabase/Database.cpp:
* Modules/webdatabase/DatabaseTask.h:
* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::DatabaseThread):
* Modules/webdatabase/DatabaseThread.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/OriginLock.cpp:
* Modules/webdatabase/SQLStatement.cpp:
* Modules/webdatabase/SQLStatement.h:
* Modules/webdatabase/SQLStatementBackend.cpp:
(WebCore::SQLStatementBackend::create):
(WebCore::SQLStatementBackend::SQLStatementBackend):
* Modules/webdatabase/SQLStatementBackend.h:
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSQL):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
(WebCore::SQLTransactionBackend::executeSQL):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
* Modules/webdatabase/SQLTransactionBackend.h:
* Modules/webdatabase/SQLTransactionBackendSync.cpp:
(WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
(WebCore::SQLTransactionBackendSync::begin):
(WebCore::SQLTransactionBackendSync::commit):
(WebCore::SQLTransactionBackendSync::rollback):
* Modules/webdatabase/SQLTransactionBackendSync.h:

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

6 years agoCTTE: Grab bag of SVGRenderTreeAsText cleanups.
akling@apple.com [Mon, 3 Feb 2014 18:52:12 +0000 (18:52 +0000)]
CTTE: Grab bag of SVGRenderTreeAsText cleanups.
<https://webkit.org/b/128099>

Made some of the DRT SVG functions take more specific types than
RenderObject. Removed some redundant casts.

Reviewed by Anders Carlsson.

* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* rendering/svg/SVGRenderTreeAsText.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
(WebCore::writeSVGContainer):

    Make writeSVGResourceContainer() and writeSVGContainer() take the
    final type instead of RenderObject.

(WebCore::writeStyle):
(WebCore::writePositionAndStyle):

    Make these take RenderElement instead of RenderObject.

(WebCore::writeChildren):

    Use child renderer iterator.

(WebCore::writeResources):

    Remove unnecessary cast.

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

6 years agoRemove Unicode.h
darin@apple.com [Mon, 3 Feb 2014 18:38:54 +0000 (18:38 +0000)]
Remove Unicode.h
https://bugs.webkit.org/show_bug.cgi?id=128106

Reviewed by Anders Carlsson.

* GNUmakefile.list.am: Removed files.
* WTF.vcxproj/WTF.vcxproj: Ditto.
* WTF.vcxproj/WTF.vcxproj.filters: Ditto.
* WTF.xcodeproj/project.pbxproj: Ditto.
* wtf/CMakeLists.txt: Ditto.

* wtf/unicode/ScriptCodesFromICU.h: Removed.
* wtf/unicode/Unicode.h: Removed.
* wtf/unicode/UnicodeMacrosFromICU.h: Removed.
* wtf/unicode/icu/UnicodeIcu.h: Removed.
* wtf/unicode/wchar/UnicodeWchar.cpp: Removed.
* wtf/unicode/wchar/UnicodeWchar.h: Removed.

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

6 years agoWebKit Bot Watcher's Dashboard: Defer subsequent resource loads from access-restricte...
dbates@webkit.org [Mon, 3 Feb 2014 18:37:11 +0000 (18:37 +0000)]
WebKit Bot Watcher's Dashboard: Defer subsequent resource loads from access-restricted build bot when
iteration fails to load with HTTP 401 status code
https://bugs.webkit.org/show_bug.cgi?id=128077

Reviewed by Alexey Proskuryakov.

Similar to the fix for <https://bugs.webkit.org/show_bug.cgi?id=127849>, we should only prompt for
the HTTP credentials of a build bot so long as an earlier authentication request wasn't cancelled
(i.e. failed with an HTTP 401 Unauthorized status code). Currently an authentication dialog will be
presented for an iteration each time the update queue timer fires until a person successfully
authenticates. Instead we should update the authentication status of the build bot on receiving an
HTTP 401 response code such that we defer subsequent requests to load any resource from the access-
restricted build bot when the queue update timer fires.

A person must explicitly click the "unauthorized" status line shown for the queue associated with the
iteration in the dashboard and authenticate successfully for the iteration to be loaded once an
authentication request for an iteration is cancelled.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.update): Early return if the associated Buildbot was given invalid credentials.
Also notify the associated Buildbot and update the queue view when a load failed with an HTTP 401 status code.
(BuildbotIteration.prototype.loadLayoutTestResults): Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView): Modified to call BuildbotQueueView.prototype._unauthorizedAccess instead of
QueueView.prototype._updateSoon when event BuildbotQueue.Event.UnauthorizedAccess is received.
(BuildbotQueueView.prototype._unauthorizedAccess): Added.

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

6 years agoWebKit Bot Watcher's Dashboard: Teach JSON.load() to interpret third argument as...
dbates@webkit.org [Mon, 3 Feb 2014 18:08:59 +0000 (18:08 +0000)]
WebKit Bot Watcher's Dashboard: Teach JSON.load() to interpret third argument as either an
option dictionary or a failure callback
https://bugs.webkit.org/show_bug.cgi?id=128080

Reviewed by Alexey Proskuryakov.

Currently JSON.load() takes a failure callback function as its third argument and
an option dictionary as its fourth argument. So, a caller that wants to ignore errors
and pass an option dictionary must pass null or a reference to an empty function for
the value of third argument. Instead, we should make the third argument polymorphic for
convenience. Then a caller can either pass a failure callback function or an option dictionary.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

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

6 years agoTry to fix the WinCairo build.
darin@apple.com [Mon, 3 Feb 2014 17:39:25 +0000 (17:39 +0000)]
Try to fix the WinCairo build.

* WebDownloadCurl.cpp:
(WebDownload::didReceiveResponse): characters -> deprecatedCharacters.

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

6 years agoTry to fix 32-bit Mac build.
darin@apple.com [Mon, 3 Feb 2014 17:39:22 +0000 (17:39 +0000)]
Try to fix 32-bit Mac build.

* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::convertStringToKeyCodes): Use deprecatedCharacters.

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

6 years agoStop using Unicode.h
darin@apple.com [Mon, 3 Feb 2014 17:30:04 +0000 (17:30 +0000)]
Stop using Unicode.h
https://bugs.webkit.org/show_bug.cgi?id=127633

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* parser/Lexer.h:
* runtime/JSGlobalObjectFunctions.h:
* yarr/YarrCanonicalizeUCS2.h:
* yarr/YarrInterpreter.h:
* yarr/YarrParser.h:
* yarr/YarrPattern.h:
Removed includes of <wtf/unicode/Unicode.h>, adding includes of
ICU headers and <wtf/text/LChar.h> as needed to replace it.

Source/WebCore:

* Modules/indexeddb/IDBKeyPath.cpp:
* css/CSSFontFace.h:
* css/CSSOMUtils.h:
* css/CSSSegmentedFontFace.h:
* css/CSSUnicodeRangeValue.h:
* editing/Editor.cpp:
* editing/SmartReplace.h:
* html/parser/HTMLTokenizer.cpp:
* loader/DocumentLoader.cpp:
* page/ContextMenuController.cpp:
* page/Settings.h:
* platform/DateComponents.h:
* platform/SharedBuffer.cpp:
* platform/graphics/Color.h:
* platform/graphics/FontCache.h:
* platform/graphics/FontData.h:
* platform/graphics/FontDescription.h:
* platform/graphics/FontFastPath.cpp:
* platform/graphics/FontGenericFamilies.h:
* platform/graphics/FontGlyphs.cpp:
* platform/graphics/GlyphMetricsMap.h:
* platform/graphics/GlyphPage.h:
* platform/graphics/GlyphPageTreeNode.cpp:
* platform/graphics/GlyphPageTreeNode.h:
* platform/graphics/SVGGlyph.cpp:
* platform/graphics/WidthIterator.h:
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/win/QTMovie.h:
* platform/graphics/wince/FontWinCE.cpp:
* platform/text/BidiContext.h:
* platform/text/Hyphenation.h:
* platform/text/LocaleToScriptMapping.h:
* platform/text/TextBoundaries.cpp:
* platform/text/TextBoundaries.h:
* platform/text/TextBreakIterator.h:
* platform/text/TextCodec.h:
* platform/text/TextEncoding.h:
* platform/text/TextEncodingRegistry.h:
* platform/text/TextStream.h:
* platform/text/icu/UTextProvider.h:
* platform/text/icu/UTextProviderLatin1.h:
* platform/text/icu/UTextProviderUTF16.h:
* platform/text/wchar/TextBreakIteratorWchar.cpp:
* platform/win/WebCoreTextRenderer.cpp:
* rendering/RootInlineBox.cpp:
* rendering/SimpleLineLayout.cpp:
* rendering/SimpleLineLayoutFunctions.cpp:
* rendering/break_lines.h:
* svg/SVGFontData.cpp:
Removed includes of <wtf/unicode/Unicode.h>, adding includes of
ICU headers and <wtf/text/LChar.h> as needed to replace it.

Source/WTF:

* wtf/StringHasher.h:
* wtf/dtoa.h:
* wtf/text/ASCIIFastPath.h:
* wtf/text/LChar.h:
* wtf/text/StringBuffer.h:
* wtf/text/StringImpl.h:
* wtf/text/WTFString.cpp:
* wtf/unicode/CharacterNames.h:
* wtf/unicode/Collator.h:
* wtf/unicode/UTF8.h:
Removed includes of <wtf/unicode/Unicode.h>, adding includes of
ICU headers and <wtf/text/LChar.h> as needed to replace it.

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