WebKit-https.git
5 years agoSkip the new test, fast/canvas/canvas-too-large-to-draw.html
ap@apple.com [Tue, 16 Jun 2015 21:21:01 +0000 (21:21 +0000)]
Skip the new test, fast/canvas/canvas-too-large-to-draw.html

* platform/mac/TestExpectations:

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

5 years agoRollout accidental Xcode project change.
bfulgham@apple.com [Tue, 16 Jun 2015 21:11:52 +0000 (21:11 +0000)]
Rollout accidental Xcode project change.

* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:

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

5 years agoAX: iOS accessibility tests are not running because we need WKTR support
cfleizach@apple.com [Tue, 16 Jun 2015 20:58:39 +0000 (20:58 +0000)]
AX:  iOS accessibility tests are not running because we need WKTR support
https://bugs.webkit.org/show_bug.cgi?id=145991

Reviewed by Daniel Bates.

Source/WebCore:

Make some minor modifications to support notification handling in WKTR.

* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
(-[WebAccessibilityObjectWrapper description]):
(-[WebAccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]): Deleted.
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]): Deleted.

Tools:

Add support for WKTR iOS accessibility.
Utilize the notification handling mechanisms that Mac already uses.
Rename iphone* DRT methods to either use existing methods that are similar, or rename to more generic names.

* DumpRenderTree/AccessibilityUIElement.cpp:
(stringForSelectionCallback):
(getIdentifierCallback):
(getTraitsCallback):
(getElementTextPositionCallback):
(getElementTextLengthCallback):
(AccessibilityUIElement::getJSClass):
(getIPhoneLabelCallback): Deleted.
(getIPhoneHintCallback): Deleted.
(getIPhoneValueCallback): Deleted.
(getIPhoneIdentifierCallback): Deleted.
(getIPhoneTraitsCallback): Deleted.
(getIPhoneIsElementCallback): Deleted.
(getIPhoneElementTextPositionCallback): Deleted.
(getIPhoneElementTextLengthCallback): Deleted.
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::identifier):
(AccessibilityUIElement::traits):
(AccessibilityUIElement::elementTextPosition):
(AccessibilityUIElement::elementTextLength):
(AccessibilityUIElement::description):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::isSelected):
(AccessibilityUIElement::isExpanded):
(AccessibilityUIElement::documentURI):
(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):
(AccessibilityUIElement::isFocusable):
(AccessibilityUIElement::isIgnored):
(AccessibilityUIElement::hasPopup):
(AccessibilityUIElement::iphoneLabel): Deleted.
(AccessibilityUIElement::iphoneHint): Deleted.
(AccessibilityUIElement::iphoneValue): Deleted.
(AccessibilityUIElement::iphoneIdentifier): Deleted.
(AccessibilityUIElement::iphoneTraits): Deleted.
(AccessibilityUIElement::iphoneIsElement): Deleted.
(AccessibilityUIElement::iphoneElementTextPosition): Deleted.
(AccessibilityUIElement::iphoneElementTextLength): Deleted.
(_accessibilityNotificationCallback): Deleted.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isValid):
(WTR::AccessibilityUIElement::identifier):
(WTR::AccessibilityUIElement::traits):
(WTR::AccessibilityUIElement::elementTextPosition):
(WTR::AccessibilityUIElement::elementTextLength):
(WTR::AccessibilityUIElement::stringForSelection):
(WTR::AccessibilityUIElement::elementsForRange):
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
(WTR::AccessibilityUIElement::linkedElement):
(WTR::AccessibilityUIElement::headerElementAtIndex):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::characterAtOffset):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(+[NSString stringWithJSStringRef:]):
(-[NSString createJSStringRef]):
(WTR::convertNSArrayToVector):
(WTR::concatenateAttributeAndValue):
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::AccessibilityUIElement::headerElementAtIndex):
(WTR::AccessibilityUIElement::linkedElement):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::convertElementsToObjectArray):
(WTR::AccessibilityUIElement::elementsForRange):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isSelectedOptionActive):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::traits):
(WTR::AccessibilityUIElement::identifier):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
(WTR::AccessibilityUIElement::stringForSelection):
(WTR::AccessibilityUIElement::elementTextPosition):
(WTR::AccessibilityUIElement::elementTextLength):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isIgnored):
(WTR::AccessibilityUIElement::hasPopup):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::_CGPathEnumerationIteration):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::supportedActions):

LayoutTests:

Alter tests so that it addresses:
   1) Utilize the new AX methods which created new expectations.
   2) There were some expectations checked in with failures that are now fixed.
   3) Remove failing test expectations from TestExpectations.

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/accessibility: Replaced with LayoutTests/platform/ios-simulator/accessibility.
* platform/ios-simulator/accessibility/accessibility-crash-in-axcontainer-expected.txt:
* platform/ios-simulator/accessibility/accessibility-crash-in-axcontainer.html:
* platform/ios-simulator/accessibility/accessibility-hint-expected.txt:
* platform/ios-simulator/accessibility/accessibility-hint.html:
* platform/ios-simulator/accessibility/aria-label-with-internal-text-expected.txt:
* platform/ios-simulator/accessibility/aria-label-with-internal-text.html:
* platform/ios-simulator/accessibility/disabled-states-expected.txt:
* platform/ios-simulator/accessibility/disabled-states.html:
* platform/ios-simulator/accessibility/dom-focus-fires-on-correct-element-expected.txt:
* platform/ios-simulator/accessibility/dom-focus-fires-on-correct-element.html:
* platform/ios-simulator/accessibility/file-upload-button-expected.txt:
* platform/ios-simulator/accessibility/file-upload-button.html:
* platform/ios-simulator/accessibility/focus-change-notifications.html:
* platform/ios-simulator/accessibility/identifier-expected.txt:
* platform/ios-simulator/accessibility/identifier.html:
* platform/ios-simulator/accessibility/internal-link-expected.txt:
* platform/ios-simulator/accessibility/internal-link.html:
* platform/ios-simulator/accessibility/landmark-type-expected.txt:
* platform/ios-simulator/accessibility/landmark-type.html:
* platform/ios-simulator/accessibility/link-with-images-text-expected.txt:
* platform/ios-simulator/accessibility/link-with-images-text.html:
* platform/ios-simulator/accessibility/link-with-only-image-expected.txt:
* platform/ios-simulator/accessibility/link-with-only-image.html:
* platform/ios-simulator/accessibility/math-expected.txt:
* platform/ios-simulator/accessibility/math.html:
* platform/ios-simulator/accessibility/mixed-checkboxes-expected.txt:
* platform/ios-simulator/accessibility/mixed-checkboxes.html:
* platform/ios-simulator/accessibility/no-child-link-header.html:
* platform/ios-simulator/accessibility/non-contiguous-link-expected.txt:
* platform/ios-simulator/accessibility/non-contiguous-link.html:
* platform/ios-simulator/accessibility/password-value-expected.txt:
* platform/ios-simulator/accessibility/password-value.html:
* platform/ios-simulator/accessibility/placeholder-value-expected.txt:
* platform/ios-simulator/accessibility/placeholder-value.html:
* platform/ios-simulator/accessibility/popup-button-value-label-expected.txt:
* platform/ios-simulator/accessibility/popup-button-value-label.html:
* platform/ios-simulator/accessibility/progressbar-expected.txt:
* platform/ios-simulator/accessibility/progressbar.html:
* platform/ios-simulator/accessibility/radio-button-expected.txt:
* platform/ios-simulator/accessibility/radio-button.html:
* platform/ios-simulator/accessibility/secure-text-field.html:
* platform/ios-simulator/accessibility/selected-buttons-expected.txt:
* platform/ios-simulator/accessibility/svg-group-element-with-title-expected.txt:
* platform/ios-simulator/accessibility/svg-group-element-with-title.html:
* platform/ios-simulator/accessibility/tab-role-expected.txt:
* platform/ios-simulator/accessibility/tab-role.html:
* platform/ios-simulator/accessibility/tables-lists-expected.txt:
* platform/ios-simulator/accessibility/tables-lists.html:
* platform/ios-simulator/accessibility/text-marker-list-item-expected.txt:
* platform/ios-simulator/accessibility/text-marker-list-item.html:
* platform/ios-simulator/accessibility/text-marker-validation.html:
* platform/ios-simulator/accessibility/text-role-expected.txt:
* platform/ios-simulator/accessibility/text-role.html:
* platform/ios-simulator/accessibility/textfield-in-axvalue-expected.txt:
* platform/ios-simulator/accessibility/textfield-in-axvalue.html:
* platform/ios-simulator/accessibility/toggle-button.html:
* platform/ios-simulator/accessibility/url-test.html:

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

5 years agoUse NakedPtr<Exception>& to return exception results.
mark.lam@apple.com [Tue, 16 Jun 2015 20:51:04 +0000 (20:51 +0000)]
Use NakedPtr<Exception>& to return exception results.
https://bugs.webkit.org/show_bug.cgi?id=145870

Reviewed by Anders Carlsson and Filip Pizlo.

Source/JavaScriptCore:

Before r185259, calls into the VM takes a JSValue* exception result argument for
returning any uncaught exception that may have been thrown while executing JS code.
As a result, clients of the VM functions will declare a local JSValue exception
result which is automatically initialized to a null value (i.e. the empty value,
not the JS null value).

With r185259, the VM functions were changed to take an Exception*& exception result
instead, and the VM functions are responsible for initializing the exception result
to null if no exception is thrown.

This introduces 2 issues:

1. the VM functions are vulnerable to modifications that may add early returns
   before the exception result is nullified.  This can result in the exception
   result being used without initialization.

2. Previously, a client could technically use the same exception result for more
   than one calls into the VM functions.  If an earlier call sets it to a thrown
   value, the thrown value will stick unless a subsequent call throws a different
   exception.

   With the new Exception*& exception result, the VM functions will always clear
   the exception result before proceeding.  As a result, the client's exception
   result will be null after the second call even though the first call saw an
   exception thrown.  This is a change in the expected behavior.

To fix these issues, we'll introduce a NakedPtr smart pointer whose sole purpose
is to guarantee that the pointer is initialized.  The VM functions will now take
a NakedPtr<Exception>& instead of the Exception*&.  This ensures that the
exception result is initialized.

The VM functions be also reverted to only set the exception result if a new
exception is thrown.

* API/JSBase.cpp:
(JSEvaluateScript):
* API/JSScriptRef.cpp:
* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
* bindings/ScriptFunctionCall.h:
* debugger/Debugger.cpp:
(JSC::Debugger::hasBreakpoint):
* debugger/Debugger.h:
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::thisValue):
(JSC::DebuggerCallFrame::evaluate):
* debugger/DebuggerCallFrame.h:
(JSC::DebuggerCallFrame::isValid):
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript):
* inspector/InspectorEnvironment.h:
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::evaluate):
* inspector/JavaScriptCallFrame.h:
(Inspector::JavaScriptCallFrame::vmEntryGlobalObject):
(Inspector::JavaScriptCallFrame::thisValue):
(Inspector::JavaScriptCallFrame::evaluate):
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::evaluateBreakpointAction):
* jsc.cpp:
(functionRun):
(functionLoad):
(runWithScripts):
(runInteractive):
* runtime/CallData.cpp:
(JSC::call):
* runtime/CallData.h:
* runtime/Completion.cpp:
(JSC::checkSyntax):
(JSC::evaluate):
* runtime/Completion.h:
(JSC::evaluate):

Source/WebCore:

No new WebCore tests because this functionality is already covered by existing tests.
API tests added for WTF::NakedPtr.

* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::JSMainThreadExecState::didLeaveScriptContext):
(WebCore::functionCallHandlerFromAnyThread):
(WebCore::evaluateHandlerFromAnyThread):
* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::currentState):
(WebCore::JSMainThreadExecState::call):
(WebCore::JSMainThreadExecState::evaluate):
* bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):
* bindings/js/WorkerScriptController.h:
(WebCore::WorkerScriptController::workerGlobalScopeWrapper):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject callWebScriptMethod:withArguments:]):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):

Source/WTF:

Introducing the NakedPtr class.

* WTF.xcodeproj/project.pbxproj:
* wtf/NakedPtr.h: Added.
(WTF::NakedPtr::NakedPtr):
(WTF::NakedPtr::get):
(WTF::NakedPtr::clear):
(WTF::NakedPtr::operator*):
(WTF::NakedPtr::operator->):
(WTF::NakedPtr::operator T*):
(WTF::NakedPtr::operator!):
(WTF::NakedPtr::operator bool):
(WTF::=):
(WTF::NakedPtr<T>::swap):
(WTF::swap):

Tools:

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/NakedPtr.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::nakedPtrFoo):

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

5 years agoCMake build fix after r185601.
achristensen@apple.com [Tue, 16 Jun 2015 20:50:21 +0000 (20:50 +0000)]
CMake build fix after r185601.

* CMakeLists.txt:
Remove application cache manager classes.

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

5 years agoCSS Scroll Snap - support snapping to nested elements
bfulgham@apple.com [Tue, 16 Jun 2015 20:44:18 +0000 (20:44 +0000)]
CSS Scroll Snap - support snapping to nested elements
https://bugs.webkit.org/show_bug.cgi?id=145843
<rdar://problem/21339581>

Reviewed by Darin Adler.

Source/WebCore:

Tested by css3/scroll-snap/nested-elements.html

The Scroll Snap Point implementation was not properly handling nested elements.
This could be resolved by recursively calling 'appendChildSnapOffsets', but this
seemed like an inefficient approach, especially considering how often this method
is called during various scaling and other operations.

Instead, do the following:
(1) Add a new HashSet to RenderView that holds a collection of RenderElements that
    have scroll-snap-coordinates.
(2) During RenderElement::styleWillChange, register all elements that have the
    scroll-snap-coordinates style with the RenderView.
(3) When performing 'appendChildSnapOffsets', refer to the HashSet of elements, select the
    subset of these entries relevant to the current scrolling container, and build up the
    set of scroll-snap-coordinates needed for the current scrolling container.

* page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Check the scroll-snap-coordinate RenderElement HashSet
for the RenderView to find all elements that are children of the current scrolling container.
Add the scroll-snap-coordinates for these RenderElements to the current set of snap points.
* rendering/RenderElement.cpp:
(WebCore::findEnclosingScrollableContainer): New helper function.
(WebCore::RenderElement::styleWillChange): If the current element has scroll-snap-coordinate
defined, remember it for later so we can use it with the relevant scrolling container
after layout completes.
(WebCore::RenderElement::willBeRemovedFromTree): Unregister the current element from the
RenderView.
(WebCore::RenderElement::findEnclosingScrollableContainer): Added. Locate the relevant
scrolling container for the current object.
* rendering/RenderElement.h:
* rendering/RenderView.cpp:
(WebCore::Document::registerRenderElementWithScrollSnapCoordinates): Added.
(WebCore::Document::unregisterRenderElementWithScrollSnapCoordinates): Added.
* rendering/RenderView.h:

LayoutTests:

* css3/scroll-snap/nested-elements-expected.txt: Added.
* css3/scroll-snap/nested-elements.html: Added.
* css3/scroll-snap/scroll-snap-offsets-expected.txt: Updated to
  account for 50%/50% scroll-snap-coordinates.

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

5 years agoStop calling into WebResourceCacheManager
andersca@apple.com [Tue, 16 Jun 2015 20:27:51 +0000 (20:27 +0000)]
Stop calling into WebResourceCacheManager
https://bugs.webkit.org/show_bug.cgi?id=146026

Reviewed by Andreas Kling.

Copy the cache clearing code into NetworkProcessCocoa in preparation of getting rid of
the WebResourceCacheManager code.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
(WebKit::clearDiskCacheEntries):
(WebKit::cfURLCacheOrigins): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::partitionName):
(WebKit::NetworkProcess::cfURLCacheOrigins):
(WebKit::NetworkProcess::clearCFURLCacheForOrigins):

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

5 years ago[IndexedDB] array index keys are concatenated across cursor lifetime
beidson@apple.com [Tue, 16 Jun 2015 20:24:55 +0000 (20:24 +0000)]
[IndexedDB] array index keys are concatenated across cursor lifetime
<rdar://problem/19684902> and https://bugs.webkit.org/show_bug.cgi?id=138504

Reviewed by Brady Eidson, patch by Mark Dixon <mark@lowla.io>

Source/WebCore:

Tested by:
storage/indexeddb/keypath-arrays.html

IDBKeyData and IDBKeyPath need to clear any existing array values before calling
decodeObjects to update the value of an existing object.

* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::decode):
* Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::IDBKeyPath::decode):

LayoutTests:

* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/resources/keypath-arrays.js:
Verify that iterating cursors with array keypaths returns correct keys for all
records, not just the first.

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

5 years agoCanvas dimensions should be limited to 4096x4096 pixels on iOS devices.
commit-queue@webkit.org [Tue, 16 Jun 2015 19:50:59 +0000 (19:50 +0000)]
Canvas dimensions should be limited to 4096x4096 pixels on iOS devices.
https://bugs.webkit.org/show_bug.cgi?id=145998

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-16
Reviewed by Darin Adler.

Source/WebCore:

The value of MaxCanvasArea should depend on the platform. If the platform
is iOS, the limit should be 64M. Otherwise the limit should be 1G.

Test: fast/canvas/pattern-too-large-to-create-2.html

* html/HTMLCanvasElement.cpp: Change MaxCanvasArea value based on the platform.

* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement): Remove un-implemented constructor.

LayoutTests:

* fast/canvas/canvas-toDataURL-crash-expected.txt:
* fast/canvas/pattern-too-large-to-create-expected.txt: Change the expected
results due to changing the type of MaxCanvasArea from float to unsigned.

* fast/canvas/canvas-too-large-to-draw-expected.txt: Added.
* fast/canvas/canvas-too-large-to-draw.html: Added.

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

5 years agoREGRESSION(r185012): chat frame in Gmail now says "Something's not right"
cdumez@apple.com [Tue, 16 Jun 2015 19:47:49 +0000 (19:47 +0000)]
REGRESSION(r185012): chat frame in Gmail now says "Something's not right"
https://bugs.webkit.org/show_bug.cgi?id=146025
<rdar://problem/21391412>

Reviewed by Darin Adler.

Only throttle timers in non-visible iframes once they've reached the
max nesting level to avoid throttling critical one-shot timers. This is
consistent with the default DOMTimer throttling behavior that is
defined in the specification.

Power-wise, we are mostly interested in DOMTimers that fire frequently
and cause high CPU usage over an extended period of time anyway.

* dom/Document.cpp:
(WebCore::Document::setTimerThrottlingEnabled):
(WebCore::Document::timerAlignmentInterval):
* dom/Document.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::timerAlignmentInterval):
* dom/ScriptExecutionContext.h:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::alignedFireTime):

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

5 years agoGet rid of the application cache manager classes, they are no longer used
andersca@apple.com [Tue, 16 Jun 2015 19:43:11 +0000 (19:43 +0000)]
Get rid of the application cache manager classes, they are no longer used
https://bugs.webkit.org/show_bug.cgi?id=146024

Reviewed by Sam Weinig.

* DerivedSources.make:
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKContext.cpp:
* UIProcess/WebApplicationCacheManagerProxy.cpp: Removed.
(WebKit::WebApplicationCacheManagerProxy::supplementName): Deleted.
(WebKit::WebApplicationCacheManagerProxy::create): Deleted.
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy): Deleted.
(WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy): Deleted.
(WebKit::WebApplicationCacheManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebApplicationCacheManagerProxy::processDidClose): Deleted.
(WebKit::WebApplicationCacheManagerProxy::shouldTerminate): Deleted.
(WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement): Deleted.
(WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): Deleted.
(WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Deleted.
(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): Deleted.
(WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): Deleted.
* UIProcess/WebApplicationCacheManagerProxy.h: Removed.
* UIProcess/WebApplicationCacheManagerProxy.messages.in: Removed.
* UIProcess/WebProcessPool.cpp:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Removed.
(WebKit::WebApplicationCacheManager::supplementName): Deleted.
(WebKit::WebApplicationCacheManager::WebApplicationCacheManager): Deleted.
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): Deleted.
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): Deleted.
(WebKit::WebApplicationCacheManager::deleteAllEntries): Deleted.
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize): Deleted.
* WebProcess/ApplicationCache/WebApplicationCacheManager.h: Removed.
* WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Removed.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Deleted.

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

5 years agoFTL boolify() UntypedUse is wrong in the masquerades-as-undefined case
fpizlo@apple.com [Tue, 16 Jun 2015 19:17:40 +0000 (19:17 +0000)]
FTL boolify() UntypedUse is wrong in the masquerades-as-undefined case
https://bugs.webkit.org/show_bug.cgi?id=146002

Reviewed by Darin Adler.

* ftl/FTLLowerDFGToLLVM.cpp: Put this in an anonymous namespace. We should have done that all along. It makes it easier to add debug code.
(JSC::FTL::DFG::LowerDFGToLLVM::boolify): Fix the bug.
* tests/stress/logical-not-masquerades.js: Added. This test creates a masquerader so that the watchpoint is invalid. Previously this would fail for the normal object cases.
(foo):

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

5 years agoIDB: Records table migration doesn't work with all versions of SQLite.
beidson@apple.com [Tue, 16 Jun 2015 18:41:21 +0000 (18:41 +0000)]
IDB: Records table migration doesn't work with all versions of SQLite.
https://bugs.webkit.org/show_bug.cgi?id=145993

Reviewed by Darin Adler, provisionally reviewed by Jon Lee.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::v1RecordsTableSchema):
(WebKit::v1RecordsTableSchemaAlternate):
(WebKit::v2RecordsTableSchema):
(WebKit::v2RecordsTableSchemaAlternate):
(WebKit::createOrMigrateRecordsTableIfNecessary): Check both v1 and v1 Alternate whenever we check for the v1 schema.
  Ditto for the v2 schema. Crash all builds if the current schema is none of these.

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

5 years agoREGRESSION: js/dom/navigator-plugins-crash.html asserts a lot
ap@apple.com [Tue, 16 Jun 2015 18:39:53 +0000 (18:39 +0000)]
REGRESSION: js/dom/navigator-plugins-crash.html asserts a lot
https://bugs.webkit.org/show_bug.cgi?id=144399

* TestExpectations: Marked it as flakily crashing.

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

5 years ago[JSC] Pre-bake final Structure for RegExp matches arrays.
akling@apple.com [Tue, 16 Jun 2015 18:38:04 +0000 (18:38 +0000)]
[JSC] Pre-bake final Structure for RegExp matches arrays.
<https://webkit.org/b/146006>

Reviewed by Darin Adler.

Since we always add the "index" and "input" fields to RegExp matches arrays,
cache a finished structure on the global object so we can create these arrays without
starting from scratch with a bare array every time.

10% progression on Octane/regexp (on my MBP.)

* runtime/JSArray.h:
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
(JSC::JSArray::createWithButterfly): Factored out JSArray construction into a helper
so we can call this from RegExpMatchesArray.cpp.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::regExpMatchesArrayStructure): Add a cached Structure for RegExp
subpattern matches arrays.

* runtime/JSObject.h:
(JSC::JSNonFinalObject::finishCreation): Tweak assertion that used to check that
JSNonFinalObjects always start out with zero capacity. Since RegExp matches arrays now
start out with capacity for 2 properties, that won't work. Change it to check that we
don't have inline storage instead, since that should only be used by final objects.

* runtime/RegExpMatchesArray.h:
* runtime/RegExpMatchesArray.cpp:
(JSC::tryCreateUninitializedRegExpMatchesArray): Helper to construct a JSArray with
the cached Structure and a Butterfly with 2 slots of property storage.

(JSC::createRegExpMatchesArray):
(JSC::createRegExpMatchesArrayStructure): Creates the array Structure that gets cached
by the JSGlobalObject.

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

5 years agoLLInt's code path for get_from_scope with case GlobalVarWithVarInjectionChecks has...
saambarati1@gmail.com [Tue, 16 Jun 2015 18:34:24 +0000 (18:34 +0000)]
LLInt's code path for get_from_scope with case GlobalVarWithVarInjectionChecks has dead code
https://bugs.webkit.org/show_bug.cgi?id=144268

Reviewed by Darin Adler.

The call to loadVariable(.) both for 32bit and 64bit is unnecessary.
It grabs a value that is immediately overwritten by a call to getGlobalVar().

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

5 years agoIncorrect order of arguments in initial-letter property
commit-queue@webkit.org [Tue, 16 Jun 2015 17:58:19 +0000 (17:58 +0000)]
Incorrect order of arguments in initial-letter property
https://bugs.webkit.org/show_bug.cgi?id=139667

Patch by sylvain-galineau <galineau@adobe.com> on 2015-06-16
Reviewed by Sam Weinig.

Source/WebCore:

The CSS specification swapped the order of the initial-letters numeric values.
The drop cap's height now comes first, followed by its optional vertical position.
See http://www.w3.org/TR/css-inline/#sizing-drop-initials.

No new tests. Existing tests updated.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): swap arguments to reflect new spec order.

LayoutTests:

Update initial-letter tests to reflect the value's new ordering, per CSS Inline Layout module.

* fast/css-generated-content/initial-letter-border-padding.html:
* fast/css-generated-content/initial-letter-clearance.html:
* fast/css-generated-content/initial-letter-descender.html:
* fast/css-generated-content/initial-letter-raised.html:
* fast/css-generated-content/initial-letter-sunken.html:

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

5 years agov2 UI should have buttons to breakdown a test
rniwa@webkit.org [Tue, 16 Jun 2015 17:48:47 +0000 (17:48 +0000)]
v2 UI should have buttons to breakdown a test
https://bugs.webkit.org/show_bug.cgi?id=146010

Reviewed by Chris Dumez.

Added buttons beneath each chart pane to add "alternative panes". By default, it shows every platform
as well as "Breakdown" to add all subtests' metrics.

Also removed the metric submenu from tests that had exactly one metric. When a test only measures Time
for example, we make the test itself clickable instead of showing a submenu that only contains one item.

* public/v2/app.js:
(App.ChartsController.addAlternativePanes): Added.
(App.TestProxyForPopup.children): Calls _updateChildren and returns this._children.
(App.TestProxyForPopup.actionName): Added.
(App.TestProxyForPopup.actionArgument): Added.
(App.TestProxyForPopup._updateChildren): Extracted from children. Now also sets _actionName and
_actionArgument in the case there was exactly one metric so that showing submenu is unnecessary.
(App.PaneController.alternativePanes): Added. Returns the list of alternative panes. The platform list
excludes ones that don't have this metric (e.g. iOS doesn't have desktop PLT results) as well as ones
that are already present in the list of panes.
* public/v2/chart-pane.css: Added CSS rules for alternative pane buttons beneath the chart panes.
* public/v2/index.html:
* public/v2/manifest.js:
(App.Metric.childMetrics): Added.

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

5 years agoRemove some unused values.
commit-queue@webkit.org [Tue, 16 Jun 2015 17:45:12 +0000 (17:45 +0000)]
Remove some unused values.
https://bugs.webkit.org/show_bug.cgi?id=145997

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-16
Reviewed by Gyuyoung Kim.

This patch should have no change in behavior.

* accessibility/AccessibilityObject.cpp:
(WebCore::computeBestScrollOffset):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebCore::AccessibilityObject::scrollToGlobalPoint):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::validateTexFuncData):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncData):
* platform/graphics/StringTruncator.cpp:
(WebCore::leftTruncateToBuffer):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::localSelectionRect):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::anchorRect):
* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
Remove unused values.

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

5 years ago[Streams API] Calling controller.error() should trigger storing an undefined error
calvaris@igalia.com [Tue, 16 Jun 2015 17:36:08 +0000 (17:36 +0000)]
[Streams API] Calling controller.error() should trigger storing an undefined error
https://bugs.webkit.org/show_bug.cgi?id=145976

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test.

* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::error): Storing undefined if no error value passed.
* bindings/js/ReadableJSStream.cpp: Removed storeError(ExecState*).
(WebCore::ReadableJSStream::ReadableJSStream):

LayoutTests:

* streams/readable-stream-controller-error-expected.txt: Rebasing expectation as test is passing now.
* streams/readable-stream-reader-read-expected.txt:
* streams/readable-stream-reader-read.html: Adding test for promise rejection without any parameter.

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

5 years agoPurge StyledElement's presentation attribute cache on memory pressure
cdumez@apple.com [Tue, 16 Jun 2015 15:45:57 +0000 (15:45 +0000)]
Purge StyledElement's presentation attribute cache on memory pressure
https://bugs.webkit.org/show_bug.cgi?id=145999
<rdar://problem/21359252>

Reviewed by Andreas Kling.

Purge StyledElement's presentation attribute cache on memory pressure.

* dom/StyledElement.cpp:
(WebCore::presentationAttributeCache):
(WebCore::presentationAttributeCacheCleaner):
(WebCore::StyledElement::clearPresentationAttributeCache):
* dom/StyledElement.h:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):

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

5 years agoBuild fix.
mitz@apple.com [Tue, 16 Jun 2015 14:19:28 +0000 (14:19 +0000)]
Build fix.

* mac/postprocess-framework-headers.sh:

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

5 years agoUnreviewed, rolling out r185552.
commit-queue@webkit.org [Tue, 16 Jun 2015 13:06:07 +0000 (13:06 +0000)]
Unreviewed, rolling out r185552.
https://bugs.webkit.org/show_bug.cgi?id=146015

 It broke some WK2 API tests on EFL bots (Requested by
gyuyoung on #webkit).

Reverted changeset:

"[EFL] Make send/receive messages to communicate the Web and
UI Processes using Injected Bundle."
https://bugs.webkit.org/show_bug.cgi?id=145685
http://trac.webkit.org/changeset/185552

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

5 years ago[EFL] Add API tests for ewk_page
ryuan.choi@navercorp.com [Tue, 16 Jun 2015 11:11:32 +0000 (11:11 +0000)]
[EFL] Add API tests for ewk_page
https://bugs.webkit.org/show_bug.cgi?id=146004

Reviewed by Gyuyoung Kim.

Add unit test for load_started/load_finished callbacks of ewk_page.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/extensions/extension_sample.cpp:
* UIProcess/API/efl/tests/test_ewk2_page.cpp: Added.
(EWK2PageTest::messageReceivedCallback):
(EWK2PageTest::EWK2PageTest):
(TEST_F):

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

5 years agoUnreviewed. Adding myself as a committer.
tobi+webkit@basecode.de [Tue, 16 Jun 2015 09:43:16 +0000 (09:43 +0000)]
Unreviewed. Adding myself as a committer.

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

5 years ago[Streams API] Sync tests with spec
calvaris@igalia.com [Tue, 16 Jun 2015 08:19:04 +0000 (08:19 +0000)]
[Streams API] Sync tests with spec
https://bugs.webkit.org/show_bug.cgi?id=145839

Reviewed by Darin Adler.

Considered all changes in the spec tests and brought them to WebKit.

Some of those changes were related to spec changes, like the strategy or some of the algorithms. Some like the
tee ones were newly added as they will be implemented soon. There are also some tests that shuffled around
because they were just moved at the spec or integrated from the changes we submitted, which was substantially
important as it allowed us to remove some of our custom tests that are now covered by the spec ones.

* resources/gc.js: Added warning about using gcRec, results might not be reliable.
* streams/readable-stream-controller-error-expected.txt:
* streams/readable-stream-controller-error.html: New failing test due to discrepancies with the reference
implementation. Something we will address.
* streams/readable-stream-expected.txt: Removed.
* streams/readable-stream-gc.html: Renumbered.
* streams/readable-stream-reader-expected.txt: Removed.
* streams/readable-stream-reader-read.html: Renumbered.
* streams/readable-stream-reader.html: Removed.
* streams/readable-stream.html: Removed.
* streams/reference-implementation/bad-strategies-expected.txt: Added.
* streams/reference-implementation/bad-strategies.html: Added.
* streams/reference-implementation/bad-underlying-sources-expected.txt:
* streams/reference-implementation/bad-underlying-sources.html: Updated from spec and expectations.
* streams/reference-implementation/brand-checks-expected.txt:
* streams/reference-implementation/brand-checks.html: Updated from spec and expectations.
* streams/reference-implementation/byte-length-queuing-strategy-expected.txt: Added.
* streams/reference-implementation/byte-length-queuing-strategy.html: Added.
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/count-queuing-strategy.html: Updated from spec and expectations.
* streams/reference-implementation/readable-stream-cancel-expected.txt:
* streams/reference-implementation/readable-stream-cancel.html: Updated from spec and expectations and corrected
timeouts to try to overcome problems in slower bots.
* streams/reference-implementation/readable-stream-expected.txt:
* streams/reference-implementation/readable-stream-reader-expected.txt:
* streams/reference-implementation/readable-stream-reader.html: Updated from spec and expectations.
* streams/reference-implementation/readable-stream-tee-expected.txt: Added.
* streams/reference-implementation/readable-stream-tee.html: Added.
* streams/reference-implementation/readable-stream-templated-expected.txt:
* streams/reference-implementation/readable-stream-templated.html: Updated from spec and expectations.
* streams/reference-implementation/readable-stream.html: Updated from spec and expectations.
* streams/reference-implementation/resources/byte-length-queuing-strategy.js:
(ByteLengthQueuingStrategy): Updated from spec.
(typeIsObject): Deleted.
(ByteLengthQueuingStrategy.prototype.shouldApplyBackpressure): Deleted.
* streams/reference-implementation/resources/count-queuing-strategy.js:
(CountQueuingStrategy): Updated from spec.
(typeIsObject): Deleted.
(CountQueuingStrategy.prototype.shouldApplyBackpressure): Deleted.
* streams/reference-implementation/resources/streams-utils.js:
(RandomPushSource.prototype.readStart.writeChunk):
(RandomPushSource.prototype.readStart): Renamed stream as source
(.stream.new.ReadableStream):
(sequentialReadableStream): Updated from spec.
(typeIsObject): Added.
(createDataProperty): Added.

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

5 years agoFix a lint error by removing an obsolete expectation - this test doesn't fail
ap@apple.com [Tue, 16 Jun 2015 07:40:09 +0000 (07:40 +0000)]
Fix a lint error by removing an obsolete expectation - this test doesn't fail
on Yosemite and below.

* platform/mac/TestExpectations:

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

5 years ago[EFL] Unreviewed, following gardening of r185583.
gyuyoung.kim@webkit.org [Tue, 16 Jun 2015 06:47:50 +0000 (06:47 +0000)]
[EFL] Unreviewed, following gardening of r185583.

* platform/efl/TestExpectations: Unskip passing tests, mark new failure tests since disabling USE_NATIVE_XDISPLAY.

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

5 years ago[EFL] Unreviewed, gardening on Jun 16th.
gyuyoung.kim@webkit.org [Tue, 16 Jun 2015 06:16:28 +0000 (06:16 +0000)]
[EFL] Unreviewed, gardening on Jun 16th.

Too many flaky tests happens on efl bot when enabling USE_NATIVE_XDISPLAY and DISPLAY.
Those options were enabled for removing TextureMapperImageBuffer. However now EFL Layout Test
can be run without enabling the options. To remove many flaky tests, EFL buildbot disables
the env variables.

Thanks to disable it, many tests can be unskipped which were marked to failure, imageonlyfailure
and so on since r183540.

* platform/efl/TestExpectations: Unskip passing tests, mark failure tests after disabling USE_NATIVE_XDISPLAY.

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

5 years agoBuild fix after r185574.
rniwa@webkit.org [Tue, 16 Jun 2015 05:55:11 +0000 (05:55 +0000)]
Build fix after r185574.

* public/v2/app.js:
(set get App.Pane.Ember.Object.extend.):

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

5 years agoAdd test expectations for El Capitan
ap@apple.com [Tue, 16 Jun 2015 05:47:41 +0000 (05:47 +0000)]
Add test expectations for El Capitan
https://bugs.webkit.org/show_bug.cgi?id=146005

Rubber-stamped by Dan Bernstein.

Tools:

Add appropriate tools code.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
Added dashboard support.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
Trigger the right build queues on check-in.

* Scripts/webkitpy/common/system/platforminfo.py:
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
* Scripts/webkitpy/port/mac.py:
* Scripts/webkitpy/port/mac_unittest.py:
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
Added cases for El Capitan, and updated tests for new baseline search paths.

LayoutTests:

* platform/mac-wk1/TestExpectations:
* platform/mac-yosemite: Added.
* platform/mac-yosemite/fast: Added.
* platform/mac-yosemite/fast/dom: Added.
* platform/mac-yosemite/fast/dom/52776-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/52776-expected.txt.
* platform/mac-yosemite/fast/text: Added.
* platform/mac-yosemite/fast/text/complex-text-opacity-expected.txt: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.txt.
* platform/mac-yosemite/fast/text/hyphenate-locale-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt.
* platform/mac-yosemite/fast/text/international: Added.
* platform/mac-yosemite/fast/text/international/arabic-justify-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/arabic-justify-expected.txt.
* platform/mac-yosemite/fast/text/international/bidi-AN-after-L-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.txt.
* platform/mac-yosemite/fast/text/international/bidi-mirror-he-ar-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt.
* platform/mac-yosemite/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt.
* platform/mac-yosemite/fast/text/international/bidi-neutral-run-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.txt.
* platform/mac-yosemite/fast/text/line-initial-and-final-swashes-expected.txt: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt.
* platform/mac-yosemite/js: Added.
* platform/mac-yosemite/js/dom: Added.
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: Copied from LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt.
* platform/mac-yosemite/platform: Added.
* platform/mac-yosemite/platform/mac: Added.
* platform/mac-yosemite/platform/mac/editing: Added.
* platform/mac-yosemite/platform/mac/editing/attributed-string: Added.
* platform/mac-yosemite/platform/mac/editing/attributed-string/anchor-element-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/anchor-element-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/basic-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/basic-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/font-size-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-size-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/font-weight-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-weight-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/letter-spacing-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/text-decorations-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/text-decorations-expected.txt.
* platform/mac-yosemite/platform/mac/editing/attributed-string/vertical-align-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/vertical-align-expected.txt.
* platform/mac-yosemite/platform/mac/fast: Added.
* platform/mac-yosemite/platform/mac/fast/text: Added.
* platform/mac-yosemite/platform/mac/fast/text/ligature-subdivision-expected.txt: Copied from LayoutTests/platform/mac/fast/text/ligature-subdivision-expected.txt.
* platform/mac-yosemite/svg: Added.
* platform/mac-yosemite/svg/W3C-SVG-1.1: Added.
* platform/mac-yosemite/svg/W3C-SVG-1.1-SE: Added.
* platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png.
* platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt.
* platform/mac-yosemite/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt.
* platform/mac-yosemite/svg/text: Added.
* platform/mac-yosemite/svg/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.txt.
* platform/mac-yosemite/svg/text/text-intro-05-t-expected.txt: Added.
* platform/mac/TestExpectations:
* platform/mac/editing/attributed-string/anchor-element-expected.txt:
* platform/mac/editing/attributed-string/basic-expected.txt:
* platform/mac/editing/attributed-string/font-size-expected.txt:
* platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt:
* platform/mac/editing/attributed-string/font-weight-expected.txt:
* platform/mac/editing/attributed-string/letter-spacing-expected.txt:
* platform/mac/editing/attributed-string/text-decorations-expected.txt:
* platform/mac/editing/attributed-string/vertical-align-expected.txt:
* platform/mac/fast/dom/52776-expected.txt:
* platform/mac/fast/text/complex-text-opacity-expected.txt:
* platform/mac/fast/text/hyphenate-locale-expected.txt:
* platform/mac/fast/text/international/arabic-justify-expected.txt:
* platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
* platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
* platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
* platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
* platform/mac/fast/text/ligature-subdivision-expected.txt:
* platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
* platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
* platform/mac/svg/text/text-intro-05-t-expected.txt:

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

5 years agoREGRESSION(r175251, Mavericks Only): Playback may stall
bfulgham@apple.com [Tue, 16 Jun 2015 05:05:04 +0000 (05:05 +0000)]
REGRESSION(r175251, Mavericks Only): Playback may stall
https://bugs.webkit.org/show_bug.cgi?id=145989
<rdar://problem/21271919>

Unreviewed post-review correction.

Dave Kilzer pointed out that the macro around the waitForVideoOutputMediaDataWillChange
call was incorrect. This patch corrects this error.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Correct the
macro definition.

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

5 years agoFix a typo.
rniwa@webkit.org [Tue, 16 Jun 2015 04:57:44 +0000 (04:57 +0000)]
Fix a typo.

* tools/pull-os-versions.py:
(main):

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

5 years agoPerf dashboard should be able to list iOS versions as well as OS X versions
rniwa@webkit.org [Tue, 16 Jun 2015 04:49:29 +0000 (04:49 +0000)]
Perf dashboard should be able to list iOS versions as well as OS X versions
https://bugs.webkit.org/show_bug.cgi?id=146003

Reviewed by Stephanie Lewis.

Generalized pull-osx.py so that it can run an arbitrary shell command to fetch OS versions based on
information specified in config.json.

* tools/pull-os-versions.py: Renamed from pull-osx.py.
(main): Use available_builds_from_command when 'customCommands' is specified.
(available_builds_from_command): Added. Executes a shell command to fetch a list of available builds.
(fetch_available_builds): Now takes the repository name.

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

5 years ago[ES6] Introduce %IteratorPrototype% and drop all XXXIteratorConstructor
utatane.tea@gmail.com [Tue, 16 Jun 2015 02:11:41 +0000 (02:11 +0000)]
[ES6] Introduce %IteratorPrototype% and drop all XXXIteratorConstructor
https://bugs.webkit.org/show_bug.cgi?id=145963

Reviewed by Darin Adler.

ES6 iterators inherit %IteratorPrototype%.
And these prototype objects of derived iterators don't have @@iterator methods.
Instead they use the %IteratorPrototype%[@@iterator] method.

To encourage inlining in for-of statement, we define this method in JS builtins.

And these iterator prototype objects don't have any constructor function.
This patch drops them (like StringIteratorConstructor).

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/Iterator.prototype.js: Renamed from Source/JavaScriptCore/runtime/StringIteratorConstructor.cpp.
(SymbolIterator):
* runtime/ArrayIteratorConstructor.cpp:
(JSC::ArrayIteratorConstructor::finishCreation): Deleted.
* runtime/ArrayIteratorConstructor.h: Removed.
(JSC::ArrayIteratorConstructor::create): Deleted.
(JSC::ArrayIteratorConstructor::createStructure): Deleted.
(JSC::ArrayIteratorConstructor::ArrayIteratorConstructor): Deleted.
* runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::arrayIteratorProtoFuncIterator): Deleted.
* runtime/IteratorPrototype.cpp: Renamed from Source/JavaScriptCore/runtime/ArrayIteratorConstructor.cpp.
(JSC::IteratorPrototype::finishCreation):
* runtime/IteratorPrototype.h: Renamed from Source/JavaScriptCore/runtime/SetIteratorConstructor.h.
(JSC::IteratorPrototype::create):
(JSC::IteratorPrototype::createStructure):
(JSC::IteratorPrototype::IteratorPrototype):
* runtime/JSFunction.cpp:
(JSC::JSFunction::createBuiltinFunction):
* runtime/JSFunction.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::iteratorPrototype):
* runtime/MapIteratorConstructor.cpp: Removed.
(JSC::MapIteratorConstructor::finishCreation): Deleted.
* runtime/MapIteratorConstructor.h: Removed.
(JSC::MapIteratorConstructor::create): Deleted.
(JSC::MapIteratorConstructor::createStructure): Deleted.
(JSC::MapIteratorConstructor::MapIteratorConstructor): Deleted.
* runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototype::finishCreation): Deleted.
(JSC::MapIteratorPrototypeFuncIterator): Deleted.
* runtime/SetIteratorConstructor.cpp: Removed.
(JSC::SetIteratorConstructor::finishCreation): Deleted.
* runtime/SetIteratorConstructor.h:
(JSC::SetIteratorConstructor::create): Deleted.
(JSC::SetIteratorConstructor::createStructure): Deleted.
(JSC::SetIteratorConstructor::SetIteratorConstructor): Deleted.
* runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototype::finishCreation): Deleted.
(JSC::SetIteratorPrototypeFuncIterator): Deleted.
* runtime/StringIteratorConstructor.cpp:
(JSC::StringIteratorConstructor::finishCreation): Deleted.
* runtime/StringIteratorConstructor.h: Removed.
(JSC::StringIteratorConstructor::create): Deleted.
(JSC::StringIteratorConstructor::createStructure): Deleted.
(JSC::StringIteratorConstructor::StringIteratorConstructor): Deleted.
* runtime/StringIteratorPrototype.cpp:
(JSC::StringIteratorPrototype::finishCreation):
(JSC::stringIteratorPrototypeIterator): Deleted.
* tests/stress/iterator-prototype.js: Added.
(shouldBe):
(inheritIteratorPrototype):
(testChain):

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

5 years ago[iOS WK2] position:fixed elements sometimes truncated on scroll view bouncing
simon.fraser@apple.com [Tue, 16 Jun 2015 02:10:58 +0000 (02:10 +0000)]
[iOS WK2] position:fixed elements sometimes truncated on scroll view bouncing
https://bugs.webkit.org/show_bug.cgi?id=146000
rdar://problem/19448439

Reviewed by Benjamin Poulain.

When in the middle of a rubber-band (UIScrollView bounce), we could send a bad
fixed position rect down to WebCore, causing 100% height elements to get laid out
at the wrong height, possible too short. This occurred when -_updateVisibleContentRects
said we were in a stable state, but the rubber-band offset caused WebPageProxy::computeCustomFixedPositionRect()
to compute a bad rect via constrainedUnobscuredRect.intersect(documentRect).

Fix by not claiming to be in a stable state during rubber-banding. Added _scrollViewIsRubberBanding
to compute that, taking care with floating point comparisons for 3x devices.

* UIProcess/API/Cocoa/WKWebView.mm:
(isGreaterInDevicePixels):
(-[WKWebView _scrollViewIsRubberBanding]):
(-[WKWebView _updateVisibleContentRects]):

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

5 years agoRemoved a superfluous console.log per Chris's comment.
rniwa@webkit.org [Tue, 16 Jun 2015 01:57:51 +0000 (01:57 +0000)]
Removed a superfluous console.log per Chris's comment.

* public/v2/app.js:

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

5 years agoAnalysis task should show all possible revisions for A/B testing
rniwa@webkit.org [Tue, 16 Jun 2015 01:40:56 +0000 (01:40 +0000)]
Analysis task should show all possible revisions for A/B testing
https://bugs.webkit.org/show_bug.cgi?id=145996

Reviewed by Chris Dumez.

* public/api/commits.php:
(fetch_commits_between): When the time stamp is not available for commits, use revision numbers
to find revisions between two ranges. This is necessary for OS X and iOS versions since they don't
have a "commit time".

* public/v2/app.js:
(App.AnalysisTaskController.updateRootConfigurations): Fetch commits between two end points.
(App.AnalysisTaskController._createConfiguration): Extracted from updateRootConfigurations. List
the fetched list of commits if available.
(App.AnalysisTaskController._serializeNumbersSkippingConsecutiveEntries): Added. Serializes an list
of numbers intelligently. For example, [1, 2, 4, 5] turns into "1-2, 4-5". Without this, some lists
of points shown in the A/B testing configurations become too long.

* public/v2/commits-viewer.js:
(App.CommitsViewerComponent.commitsChanged):

* public/v2/data.js:
(CommitLogs.fetchCommits): Renamed from fetchForTimeRange.

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

5 years agoAX: Changing state of radio buttons causes VoiceOver to go busy for a short time.
cfleizach@apple.com [Tue, 16 Jun 2015 00:40:29 +0000 (00:40 +0000)]
AX: Changing state of radio buttons causes VoiceOver to go busy for a short time.
https://bugs.webkit.org/show_bug.cgi?id=145933

Reviewed by Dean Jackson.

When radio buttons animate the new focus selection state, the thread activity looks a lot like short burst of
activity to draw, then wait on CoreAnimation to apply those changes.

Since those periods of activity during animation are so short, VoiceOver is not able to query for all the
attributes it needs, and gets stuck in the queue behind rendering.

The fix here is to turn off button state animations while VoiceOver is running.

* platform/mac/ThemeMac.mm:
(WebCore::updateStates):

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

5 years agoRootInlineBox::m_lineBreakObj becomes invalid when a child renderer is removed and...
zalan@apple.com [Mon, 15 Jun 2015 23:56:48 +0000 (23:56 +0000)]
RootInlineBox::m_lineBreakObj becomes invalid when a child renderer is removed and the line does not get marked dirty.
https://bugs.webkit.org/show_bug.cgi?id=145988
rdar://problem/20959137

Reviewed by David Hyatt.

This patch ensures that we find the right first inline box so that we can dirty the
the appropriate line boxes.
With marking the right line boxes dirty, now we can update RootInlineBox::m_lineBreakObj at the next layout.

Source/WebCore:

Test: fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean.html

* rendering/RenderInline.cpp:
(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineLastLineBox):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::setLineBreakInfo): Deleted. Remove misleading assert and comment.

LayoutTests:

* fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean-expected.txt: Added.
* fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean.html: Added.

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

5 years agoWeb Inspector: Stylize Node Previews
commit-queue@webkit.org [Mon, 15 Jun 2015 23:32:45 +0000 (23:32 +0000)]
Web Inspector: Stylize Node Previews
https://bugs.webkit.org/show_bug.cgi?id=145990

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-15
Reviewed by Timothy Hatcher.

* UserInterface/Views/FormattedValue.js:
(WebInspector.FormattedValue.createElementForNodePreview):
Style a node preview like a DOMNode. It is a simple small snippet.

* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
Use node previews in ObjectPreviewViews.

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

5 years agoMedia Session: Improve the safety of playback toggling
commit-queue@webkit.org [Mon, 15 Jun 2015 23:06:01 +0000 (23:06 +0000)]
Media Session: Improve the safety of playback toggling
https://bugs.webkit.org/show_bug.cgi?id=145986

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-15
Reviewed by Darin Adler.

* Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::togglePlayback): Improved the safety of the loop so that we don't re-visit elements that
  may have been deleted underneath us.
* Modules/mediasession/MediaSession.h: Added a pointer to the set of iterated active participating elements so
  we can remove any elements that are deleted from the underlying "real" set.

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

5 years agoREGRESSION(r175251, Mavericks Only): Playback may stall
bfulgham@apple.com [Mon, 15 Jun 2015 22:48:32 +0000 (22:48 +0000)]
REGRESSION(r175251, Mavericks Only): Playback may stall
https://bugs.webkit.org/show_bug.cgi?id=145989
<rdar://problem/21271919>

Reviewed by Dean Jackson.

Revert r175251 for Mavericks build targets.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

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

5 years agoFix build break when ENABLE_SECCOMP_FILTERS is ON
ryuan.choi@navercorp.com [Mon, 15 Jun 2015 22:27:00 +0000 (22:27 +0000)]
Fix build break when ENABLE_SECCOMP_FILTERS is ON
https://bugs.webkit.org/show_bug.cgi?id=145967

Reviewed by Carlos Garcia Campos.

Since r183189, ArgumentEncoder::addAttachment requires rvalue reference.

* Shared/linux/SeccompFilters/OpenSyscall.cpp:
(WebKit::OpenSyscallResult::encode): Use WTF::move().

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

5 years agoREGRESSION (r182215): Reproducible crash at drawsvg.org due to reentrant layout
darin@apple.com [Mon, 15 Jun 2015 22:01:58 +0000 (22:01 +0000)]
REGRESSION (r182215): Reproducible crash at drawsvg.org due to reentrant layout
https://bugs.webkit.org/show_bug.cgi?id=145964

Reviewed by Simon Fraser.

Source/WebCore:

Test: svg/as-object/mutate-on-load.html

* page/FrameView.cpp:
(WebCore::FrameView::forceLayoutParentViewIfNeeded): Don't do a synchronous layout here,
because it can lead indirectly to unwanted layout reentrancy. Instead schedule a layout.

LayoutTests:

* svg/as-object/mutate-on-load-expected.html: Added.
* svg/as-object/mutate-on-load.html: Added.
* svg/as-object/resources/embedded-mutates-on-load.svg: Added.

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

5 years agoJIT bug - fails when inspector closed, works when open
msaboff@apple.com [Mon, 15 Jun 2015 21:26:08 +0000 (21:26 +0000)]
JIT bug - fails when inspector closed, works when open
https://bugs.webkit.org/show_bug.cgi?id=145243

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

We need to provide the Arguments object as the base when creating the HeapLocation for
GetFromArguments and PutToArguments.  Otherwise we endup creating a HeapLocation for
any arguments object, not the one we need.

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):

LayoutTests:

New regression test.

* js/regress-145243-expected.txt: Added.
* js/regress-145243.html: Added.
* js/script-tests/regress-145243.js: Added.
(bar):
(foo):
(test):

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

5 years ago[WK2] BrowsingContextController.loadData API is leaking Navigation objects
cdumez@apple.com [Mon, 15 Jun 2015 19:29:06 +0000 (19:29 +0000)]
[WK2] BrowsingContextController.loadData API is leaking Navigation objects
https://bugs.webkit.org/show_bug.cgi?id=145977
<rdar://problem/21305706>

Reviewed by Darin Adler.

BrowsingContextController.loadData API was leaking Navigation objects.
The issue was due to WebPageProxy::loadData() creating a Navigation
object but not passing along the navigationID to the WebProcess when
sending the Messages::WebPage::LoadData IPC. As a result, the
WebProcess would use 0 as navigationID and we would end up creating a
new Navigation object later on for the same navigation.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadData):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadData):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

5 years agoWeb Inspector: Improve some cases of "Object?" Type Annotations
commit-queue@webkit.org [Mon, 15 Jun 2015 19:16:51 +0000 (19:16 +0000)]
Web Inspector: Improve some cases of "Object?" Type Annotations
https://bugs.webkit.org/show_bug.cgi?id=145954

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-15
Reviewed by Timothy Hatcher.

* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype._displayTypeName):
The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
name as long as the type set is just object or object and null/undefined.
If the typeset includes other primitives then it will gracefully go down
below to become something like Object or (many).

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

5 years agoMedia Session: Active participating elements can change while being iterated
commit-queue@webkit.org [Mon, 15 Jun 2015 18:55:39 +0000 (18:55 +0000)]
Media Session: Active participating elements can change while being iterated
https://bugs.webkit.org/show_bug.cgi?id=145978

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-15
Reviewed by Alex Christensen.

* Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::togglePlayback): Iterate through a copy of m_activeParticipatingElements since its contents
  can be modified in the loop.

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

5 years agoUnreviewed, gardening for Windows.
joepeck@webkit.org [Mon, 15 Jun 2015 18:50:20 +0000 (18:50 +0000)]
Unreviewed, gardening for Windows.

* platform/win/TestExpectations:

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

5 years agoAX: no accessibility support for details element
cfleizach@apple.com [Mon, 15 Jun 2015 18:39:20 +0000 (18:39 +0000)]
AX: no accessibility support for details element
https://bugs.webkit.org/show_bug.cgi?id=131111

Reviewed by Darin Adler.

Source/WebCore:

Add accessibility support for Mac for details element by:
   1) Returning new subroles for <details> and <summary>
   2) Exposing isExpanded property for <details> element.

Test: platform/mac/accessibility/details-summary.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsARIAPressed):
(WebCore::AccessibilityObject::supportsExpanded):
(WebCore::AccessibilityObject::isExpanded):
(WebCore::AccessibilityObject::supportsARIAExpanded): Deleted.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::canvasHasFallbackContent):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
* html/HTMLDetailsElement.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

LayoutTests:

* platform/mac/accessibility/details-summary-expected.txt: Added.
* platform/mac/accessibility/details-summary.html: Added.

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

5 years agoREGRESSION (r185298): Databases service has Web Content service’s entitlements
mitz@apple.com [Mon, 15 Jun 2015 18:08:11 +0000 (18:08 +0000)]
REGRESSION (r185298): Databases service has Web Content service’s entitlements
https://bugs.webkit.org/show_bug.cgi?id=145980

Reviewed by Darin Adler.

* Configurations/DatabaseService.xcconfig: Set WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE to
Databases-iOS.

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

5 years ago[WK2] Add allowsPictureInPictureMediaPlayback
jonlee@apple.com [Mon, 15 Jun 2015 18:07:02 +0000 (18:07 +0000)]
[WK2] Add allowsPictureInPictureMediaPlayback
https://bugs.webkit.org/show_bug.cgi?id=145901
rdar://problem/21349851

Reviewed by Anders Carlsson.

Replace _allowsAlternateFullscreen with allowsPictureInPictureMediaPlayback.

* UIProcess/API/Cocoa/WKWebViewConfiguration.h: Add allowsPictureInPictureMediaPlayback.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]): Remove _allowsAlternateFullscreen.
(-[WKWebViewConfiguration copyWithZone:]): Replace the variable.
(-[WKWebViewConfiguration _allowsAlternateFullscreen]): Deleted.
(-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Remove the SPI.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Update to use the new API.

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

5 years agoSource/WebCore:
commit-queue@webkit.org [Mon, 15 Jun 2015 17:23:00 +0000 (17:23 +0000)]
Source/WebCore:
[Content Extensions] Limit number of rules.
https://bugs.webkit.org/show_bug.cgi?id=145663

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-15
Reviewed by Benjamin Poulain.

Added an API test to make sure that parsing fails when there are too many rules.

* contentextensions/ContentExtensionError.cpp:
(WebCore::ContentExtensions::contentExtensionErrorCategory):
* contentextensions/ContentExtensionError.h:
* contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::loadEncodedRules):
Fail to parse a content extension with more than 50000 rules.

Tools:
[Content Extensions] Make max NFA size and max rule count user defaults.
https://bugs.webkit.org/show_bug.cgi?id=145663

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-15
Reviewed by Benjamin Poulain.

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):

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

5 years ago-[WKWebView evaluateJavaScript] provides a misleading error when the return cannot...
ap@apple.com [Mon, 15 Jun 2015 16:57:01 +0000 (16:57 +0000)]
-[WKWebView evaluateJavaScript] provides a misleading error when the return cannot be serialized
https://bugs.webkit.org/show_bug.cgi?id=145900

Reviewed by Sam Weinig.

Source/WebCore:

* English.lproj/Localizable.strings:

Source/WebKit2:

We used to conflate to cases: (1) when there was a JavaScript exception, and
(2) when the result could not be serialized for IPC. Turns out that it was quite
misleading!

* UIProcess/API/C/WKPage.cpp:
(WKPageRunJavaScriptInMainFrame):
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKError.mm:
(localizedDescriptionForErrorCode):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView evaluateJavaScript:completionHandler:]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::scriptValueCallback):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:
(TEST): Added tests.

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

5 years ago[SOUP] Custom URI schemes don't work for requests containing a fragment identifier
carlosgc@webkit.org [Mon, 15 Jun 2015 16:36:24 +0000 (16:36 +0000)]
[SOUP] Custom URI schemes don't work for requests containing a fragment identifier
https://bugs.webkit.org/show_bug.cgi?id=145969

Reviewed by Sergio Villar Senin.

Source/WebCore:

For URIs like foo:bar#baz, what the custom protocol manager
receives in the UI process is foo:bar, so the user can't handle fragments.

* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupRequest): If the SoupRequest
is a WebKitSoupRequestGeneric, call
webkitSoupRequestGenericSetRequest with the ResourceRequest.
* platform/network/soup/WebKitSoupRequestGeneric.cpp:
(webkitSoupRequestGenericSetRequest):
(webkitSoupRequestGenericGetRequest):
* platform/network/soup/WebKitSoupRequestGeneric.h:

Source/WebKit2:

Use the WebKitSoupRequestGeneric request instead of creating a new one
from the SoupRequest URI, since that is the network one and doesn't
contain the fragment identifier part.

* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
(WebKit::CustomProtocolManagerImpl::start):

Tools:

Add a test case to the custom URI schemes unit test.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextURIScheme):

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

5 years ago[EFL] Make send/receive messages to communicate the Web and UI Processes using Inject...
commit-queue@webkit.org [Mon, 15 Jun 2015 15:43:43 +0000 (15:43 +0000)]
[EFL] Make send/receive messages to communicate the Web and UI Processes using Injected Bundle.
https://bugs.webkit.org/show_bug.cgi?id=145685

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-15
Reviewed by Gyuyoung Kim.

To have extensible port specific API facility using Injected Bundle,
we need to load libewebkit_extension_manager.so in default that is same as what gtk port does.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::findOrCreateWrapper):
(bundlePathForExtension):
(EwkContext::create): Deleted.
* UIProcess/API/efl/ewk_context_private.h:
* WebProcess/efl/ExtensionManagerEfl.cpp:
(WebKit::ExtensionManagerEfl::initialize):

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

5 years ago[SOUP] Move WebKitSoupRequestGeneric to platform layer
carlosgc@webkit.org [Mon, 15 Jun 2015 15:34:02 +0000 (15:34 +0000)]
[SOUP] Move WebKitSoupRequestGeneric to platform layer
https://bugs.webkit.org/show_bug.cgi?id=145968

Reviewed by Sergio Villar Senin.

Source/WebCore:

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* platform/network/soup/WebKitSoupRequestGeneric.cpp: Renamed from Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp.
(webkitSoupRequestGenericFinalize):
(webkit_soup_request_generic_init):
(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):
(webkitSoupRequestGenericGetContentLength):
(webkitSoupRequestGenericGetContentType):
(webkit_soup_request_generic_class_init):
(webkitSoupRequestGenericSetContentLength):
(webkitSoupRequestGenericSetContentType):
* platform/network/soup/WebKitSoupRequestGeneric.h: Renamed from Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h.
* platform/network/soup/WebKitSoupRequestGenericClient.h: Renamed from Source/WebKit2/WebProcess/soup/WebKitSoupRequestGenericClient.h.

Source/WebKit2:

* PlatformEfl.cmake: Remove WebKitSoupRequestGeneric.
* PlatformGTK.cmake: Ditto.
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:

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

5 years ago[GTK] Fix deprecated-register warning in the generated WebKitMarshal.cpp
ossy@webkit.org [Mon, 15 Jun 2015 13:09:39 +0000 (13:09 +0000)]
[GTK] Fix deprecated-register warning in the generated WebKitMarshal.cpp
https://bugs.webkit.org/show_bug.cgi?id=145922

Reviewed by Carlos Garcia Campos.

* gtk/jhbuild.modules:
* gtk/patches/glib-warning-fix.patch: Added.

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

5 years agoFix unused private field warning in PageBanner.h
ossy@webkit.org [Mon, 15 Jun 2015 11:20:34 +0000 (11:20 +0000)]
Fix unused private field warning in PageBanner.h
https://bugs.webkit.org/show_bug.cgi?id=145925

Reviewed by Darin Adler.

* WebProcess/WebPage/PageBanner.cpp:
(WebKit::PageBanner::~PageBanner):
* WebProcess/WebPage/PageBanner.h: Initialize m_type, m_webPage, m_mouseDownInBanner, and m_isHidden here instead of in the constructor.
* WebProcess/WebPage/mac/PageBannerMac.mm: Use PLATFORM(MAC) instead of !PLATFORM(IOS), they are same in objc files.

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

5 years ago[SOUP] Make WebKitSoupRequestGeneric independent from CustomProtocolManagerImpl
carlosgc@webkit.org [Mon, 15 Jun 2015 11:09:08 +0000 (11:09 +0000)]
[SOUP] Make WebKitSoupRequestGeneric independent from CustomProtocolManagerImpl
https://bugs.webkit.org/show_bug.cgi?id=145966

Reviewed by Sergio Villar Senin.

Add WebKitSoupRequestGenericClient with start and finish methods,
that are implemented by WebKitSoupRequestGeneric.
This allows us to move WebKitSoupRequestGeneric to platform layer.

* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
(WebKit::CustomProtocolManagerImpl::registerScheme):
(WebKit::CustomProtocolManagerImpl::start):
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
* WebProcess/soup/WebKitSoupRequestGeneric.cpp:
(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):
* WebProcess/soup/WebKitSoupRequestGeneric.h:
* WebProcess/soup/WebKitSoupRequestGenericClient.h: Added.

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

5 years agoFixed the build.
mitz@apple.com [Mon, 15 Jun 2015 04:13:02 +0000 (04:13 +0000)]
Fixed the build.

* mac/postprocess-framework-headers.sh:

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

5 years agoFormat string misuse in DatabaseProcessIDBConnection.cpp and UniqueIDBDatabaseBacking...
mcatanzaro@igalia.com [Sun, 14 Jun 2015 21:10:13 +0000 (21:10 +0000)]
Format string misuse in DatabaseProcessIDBConnection.cpp and UniqueIDBDatabaseBackingStoreSQLite.cpp
https://bugs.webkit.org/show_bug.cgi?id=145960

Reviewed by Darin Adler.

Use PRIu64 and PRIi64 to print uint64_t and int64_t, respectively. These things are
different types on x86_64 Linux (unsigned long) and on Mac (unsigned long long).

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::DatabaseProcessIDBConnection::deleteDatabase):
(WebKit::DatabaseProcessIDBConnection::openTransaction):
(WebKit::DatabaseProcessIDBConnection::beginTransaction):
(WebKit::DatabaseProcessIDBConnection::commitTransaction):
(WebKit::DatabaseProcessIDBConnection::resetTransaction):
(WebKit::DatabaseProcessIDBConnection::rollbackTransaction):
(WebKit::DatabaseProcessIDBConnection::changeDatabaseVersion):
(WebKit::DatabaseProcessIDBConnection::createObjectStore):
(WebKit::DatabaseProcessIDBConnection::deleteObjectStore):
(WebKit::DatabaseProcessIDBConnection::clearObjectStore):
(WebKit::DatabaseProcessIDBConnection::createIndex):
(WebKit::DatabaseProcessIDBConnection::deleteIndex):
(WebKit::DatabaseProcessIDBConnection::putRecord):
(WebKit::DatabaseProcessIDBConnection::getRecord):
(WebKit::DatabaseProcessIDBConnection::count):
(WebKit::DatabaseProcessIDBConnection::deleteRange):
(WebKit::DatabaseProcessIDBConnection::openCursor):
(WebKit::DatabaseProcessIDBConnection::cursorAdvance):
(WebKit::DatabaseProcessIDBConnection::cursorIterate):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):

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

5 years ago[Cocoa] Clean up postprocess-framework-headers.sh
mitz@apple.com [Sun, 14 Jun 2015 21:00:41 +0000 (21:00 +0000)]
[Cocoa] Clean up postprocess-framework-headers.sh
https://bugs.webkit.org/show_bug.cgi?id=145962

Reviewed by Darin Adler.

* mac/postprocess-framework-headers.sh: Gather all the sed options in a variable, and then
run sed only once on each header. Also, correctly exit with the sed return value if it
fails.

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

5 years ago[GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between...
agomez@igalia.com [Sun, 14 Jun 2015 08:37:01 +0000 (08:37 +0000)]
[GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
https://bugs.webkit.org/show_bug.cgi?id=145956

Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/TimelineRecordPaint.svg:
Changed to use green color.

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

5 years agoAX: WebKit exposes all Ruby Text as Unknown (Japanese EPUB accessibility blocker)
cfleizach@apple.com [Sun, 14 Jun 2015 06:57:55 +0000 (06:57 +0000)]
AX: WebKit exposes all Ruby Text as Unknown (Japanese EPUB accessibility blocker)
https://bugs.webkit.org/show_bug.cgi?id=141303

Unreviewed. Move ruby tests to Mac platform only, since they don't apply to other platforms.

* accessibility/ruby-hierarchy-roles-expected.txt: Removed.
* accessibility/ruby-hierarchy-roles.html: Removed.
* platform/mac/accessibility/ruby-hierarchy-roles.html: Copied from LayoutTests/accessibility/ruby-hierarchy-roles.html.

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

5 years ago[WK2] API::Navigation objects are leaked on history navigation to HistoryItems in...
cdumez@apple.com [Sun, 14 Jun 2015 04:53:14 +0000 (04:53 +0000)]
[WK2] API::Navigation objects are leaked on history navigation to HistoryItems in PageCache
https://bugs.webkit.org/show_bug.cgi?id=145948

Reviewed by Darin Adler.

Source/WebCore:

API::Navigation objects were leaked on history navigation to
HistoryItems in PageCache. In such case, we would create 2 Navigation
objects instead of 1 and the first one would be leaked. The reason
we create the second one is because we fail to pass along the
navigationID from the UIProcess to the WebProcess and then back to the
UIProcess. On the IPC back to the UIProcess, the navigationID ends up
being 0 so the UIProcess creates a new Navigation object, thinking that
the load was triggered by the WebContent process.

We now pass along the navigationID, even if the HistoryItem is in the
PageCache and we end up reusing the cached DocumentLoader, instead of
creating a new one. A new updateCachedDocumentLoader() delegate is
added to the FrameLoaderClient, similarly to the pre-existing
createDocumentLoader() but for the case where the DocumentLoader gets
reused.

* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadDifferentDocumentItem):
* loader/FrameLoaderClient.h:

Source/WebKit/mac:

Add empty implementation for new
FrameLoaderClient::updatedCachedDocumentLoader().

* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit/win:

Add empty implementation for new
FrameLoaderClient::updatedCachedDocumentLoader().

* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

API::Navigation objects were leaked on history navigation to
HistoryItems in PageCache. In such case, we would create 2 Navigation
objects instead of 1 and the first one would be leaked. The reason
we create the second one is because we fail to pass along the
navigationID from the UIProcess to the WebProcess and then back to the
UIProcess. On the IPC back to the UIProcess, the navigationID ends up
being 0 so the UIProcess creates a new Navigation object, thinking that
the load was triggered by the WebContent process.

We now pass along the navigationID, even if the HistoryItem is in the
PageCache and we end up reusing the cached DocumentLoader, instead of
creating a new one. A new updateCachedDocumentLoader() delegate is
added to the FrameLoaderClient, similarly to the pre-existing
createDocumentLoader() but for the case where the DocumentLoader gets
reused.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::updateCachedDocumentLoader):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):
(WebKit::WebPage::updateCachedDocumentLoader):
* WebProcess/WebPage/WebPage.h:

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

5 years agoAdd private API to force page to always run at foreground priority
barraclough@apple.com [Sun, 14 Jun 2015 00:24:43 +0000 (00:24 +0000)]
Add private API to force page to always run at foreground priority
https://bugs.webkit.org/show_bug.cgi?id=145946
<rdar://problem/21267221>

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
    - copy _alwaysRunsAtForegroundPriority to WebPageConfiguration.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _alwaysRunsAtForegroundPriority]):
(-[WKWebViewConfiguration _setAlwaysRunsAtForegroundPriority:]):
    - added _alwaysRunsAtForegroundPriority.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
    - added _alwaysRunsAtForegroundPriority.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
    - initialize m_alwaysRunsAtForegroundPriority.
(WebKit::WebPageProxy::updateActivityToken):
    - if m_alwaysRunsAtForegroundPriority is set always take the foreground activity token.
* UIProcess/WebPageProxy.h:
    - added m_alwaysRunsAtForegroundPriority, alwaysRunsAtForegroundPriority.

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

5 years agoWeb Inspector: console.table() with a list of objects no longer works
commit-queue@webkit.org [Sat, 13 Jun 2015 20:42:04 +0000 (20:42 +0000)]
Web Inspector: console.table() with a list of objects no longer works
https://bugs.webkit.org/show_bug.cgi?id=145952

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-13
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._generatePreview):
Calling generatePreview again was actually starting with a preview
of the current object instead of the sub-value. Go down the other
path that correctly generates sub-previews. Leave filtering on the
backend unimplemented, which we were already ignoring.

Source/WebInspectorUI:

* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
Don't allow expanding a cosole.table message, and don't output the total
object even if the table preview was lossless, as the experience is poor.

LayoutTests:

* inspector/console/console-api.html:
* inspector/console/console-table-expected.txt: Added.
* inspector/console/console-table.html:
Add a similiar console API test all about console.table().

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

5 years agoAdd a script to post new OS X builds to perf dashboard
rniwa@webkit.org [Sat, 13 Jun 2015 19:28:38 +0000 (19:28 +0000)]
Add a script to post new OS X builds to perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=145955

Reviewed by Darin Adler.

Added a new script pull-osx.py and relaxed the restrictions on commits accepted by the dashboard API.

* public/api/report-commits.php:
(main): Allow more characters than [A-Za-z0-9] in revision. e.g. "10.10.3 14D136".
Also allow commits without the author, commit time, and commit message as OS versions do not have those.

* tools/pull-osx.py: Added.
(main): Fetch the list of builds from a website and submit them per submissionSize with submissionInterval.
Once all builds have been submitted, wait for a long time as specified by fetchInterval.
(setup_auth): Sets up basic or digest auth to access the dashboard.
(fetch_available_builds): Fetches and parses the XML document from an internal website.
(textContent): A helper function to get the text content out of a XML node.
(submit_commits): Submits commits to the perf dashboard.

* tools/pull-svn.py:
(fetch_commit):

* tools/util.py: Extracted submit_commits and text_content from pull-svn.py to be reused in pull-osx.py.

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

5 years ago[EFL] Mark fast/forms/select-element-focus-ring.html to Missing
gyuyoung.kim@webkit.org [Sat, 13 Jun 2015 15:25:20 +0000 (15:25 +0000)]
[EFL] Mark fast/forms/select-element-focus-ring.html to Missing

Unreviwed, gardening for EFL port.

* platform/efl/TestExpectations: The test was added only for Mac port.

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

5 years ago[Streams API] ReadableJSStream should handle promises returned by JS source start...
youenn.fablet@crf.canon.fr [Sat, 13 Jun 2015 09:09:53 +0000 (09:09 +0000)]
[Streams API] ReadableJSStream should handle promises returned by JS source start callback
https://bugs.webkit.org/show_bug.cgi?id=145792

Source/JavaScriptCore:

Reviewed by Darin Adler.

Added support for JSFunction implemented by std::function.

* runtime/JSFunction.cpp:
(JSC::getNativeExecutable): Refactored code to share it with the two JSFunction::create
(JSC::JSFunction::create):
(JSC::runStdFunction):
* runtime/JSFunction.h: Added std::function based JSFunction::create prototype.
* runtime.JSPromise.h:

Source/WebCore:

Reviewed by Darin Adler.

Covered by rebased tests.

When calling start callback, the returned value is checked.
If it is not a promise, we do as if it is a resolved promise.
If it is a promise, we call its then() method with two resolve/reject JS functions.

* Modules/streams/ReadableStream.cpp:
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::invoke): Returns a JSPromise* if any is returned by the JS source callback.
(WebCore::thenPromise): Utility method to call the promise.
(WebCore::createStartResultFulfilledFunction): The promise resolve callback.
(WebCore::ReadableJSStream::doStart): Calls thenPromise if a JSPromise* is returned by invoke.
(WebCore::ReadableJSStream::ReadableJSStream):
* bindings/js/ReadableJSStream.h:

LayoutTests:

Reviewed by Darin Adler.

Rebasing expectations, and removing timeouts for tests that no longer timeout.

* streams/reference-implementation/readable-stream-expected.txt:
* streams/reference-implementation/readable-stream.html:

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

5 years agoAX: WebKit exposes all Ruby Text as Unknown (Japanese EPUB accessibility blocker)
commit-queue@webkit.org [Sat, 13 Jun 2015 08:29:23 +0000 (08:29 +0000)]
AX: WebKit exposes all Ruby Text as Unknown (Japanese EPUB accessibility blocker)
https://bugs.webkit.org/show_bug.cgi?id=141303

Patch by Andres Gonzalez <agonzalez334@nc.rr.com> on 2015-06-13
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/ruby-hierarchy-roles.html

* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):

LayoutTests:

* accessibility/ruby-hierarchy-roles-expected.txt: Added.
* accessibility/ruby-hierarchy-roles.html: Added.
* platform/mac-mavericks/accessibility/ruby-hierarchy-roles-expected.txt: Added.
* platform/mac/accessibility/ruby-hierarchy-roles-expected.txt: Added.

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

5 years agoPerf dashboard's v2 UI shouldn't hide auto-detected outliers
rniwa@webkit.org [Sat, 13 Jun 2015 08:16:24 +0000 (08:16 +0000)]
Perf dashboard's v2 UI shouldn't hide auto-detected outliers
https://bugs.webkit.org/show_bug.cgi?id=145940

Reviewed by Darin Adler.

Don't fallback to the default strategies for moving averages and envelope when one is not specified.
Also deleted the code to mark points outside the envelop as outliers.

* public/v2/app.js:

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

5 years agoAX: iOS: after updating control, VoiceOver speaks aria-expanded states reversed ...
cfleizach@apple.com [Sat, 13 Jun 2015 06:31:31 +0000 (06:31 +0000)]
AX: iOS: after updating control, VoiceOver speaks aria-expanded states reversed (says "collapsed" when "expanded")
https://bugs.webkit.org/show_bug.cgi?id=145943

Reviewed by Darin Adler.

iOS Accessibility platform needs to be notified of when aria expanded changes.

* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper postValueChangedNotification]):
(-[WebAccessibilityObjectWrapper postExpandedChangedNotification]):
(-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]):

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

5 years agoAX:ARIA Toggle buttons aren't properly conveyed on iOS using VoiceOver
cfleizach@apple.com [Sat, 13 Jun 2015 06:04:25 +0000 (06:04 +0000)]
AX:ARIA Toggle buttons aren't properly conveyed on iOS using VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145949

Reviewed by Darin Adler.

Source/WebCore:

Expose pressed state information to the iOS platform AX API.

Test: Updated inspector-protocol/dom/getAccessibilityPropertiesForNode.html
      There was a FIXME for this issue in that test: https://bugs.webkit.org/show_bug.cgi?id=129830

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isPressed):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::classList):
(WebCore::AccessibilityObject::supportsARIAPressed):
(WebCore::AccessibilityObject::supportsARIAExpanded):
* accessibility/AccessibilityObject.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionIsAtomic]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAPressed]):
(-[WebAccessibilityObjectWrapper accessibilityIsPressed]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):

LayoutTests:

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

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

5 years agoPurge PassRefPtr in JavaScriptCore - 2
gyuyoung.kim@webkit.org [Sat, 13 Jun 2015 03:52:06 +0000 (03:52 +0000)]
Purge PassRefPtr in JavaScriptCore - 2
https://bugs.webkit.org/show_bug.cgi?id=145834

Reviewed by Darin Adler.

Source/JavaScriptCore:

As a step to remove PassRefPtr, this patch cleans up PassRefPtr as much as possible
in JavaScriptCore.

* API/JSClassRef.cpp:
(OpaqueJSClass::create):
* API/JSClassRef.h:
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::callerFrame):
* debugger/DebuggerCallFrame.h:
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::jitCode):
* inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
(Inspector::createScriptCallStackFromException):
(Inspector::createScriptArguments):
* inspector/ScriptCallStackFactory.h:
* jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::allocate):
* jit/ExecutableAllocator.h:
* jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::ExecutableAllocator::allocate):
* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::stopProfiling):
* profiler/LegacyProfiler.h:
* runtime/DateInstanceCache.h:
* runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
* runtime/Executable.h:
* runtime/GenericTypedArrayView.h:
* runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):

Source/WebCore:

Fix call sites depends on changing of JSC.

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getParameter):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::getWebGLFloatArrayParameter):
(WebCore::WebGLRenderingContextBase::getWebGLIntArrayParameter):

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

5 years agoBe more defensive at renderer type checking when initializing flow segments.
zalan@apple.com [Sat, 13 Jun 2015 03:25:00 +0000 (03:25 +0000)]
Be more defensive at renderer type checking when initializing flow segments.
https://bugs.webkit.org/show_bug.cgi?id=145942

Reviewed by Simon Fraser.

FlowContents::initializeSegments should ignore unsupported renderers so that when we miss
a simple line layout path invalidation, we don't downcast the unsupported renderer to RenderText.

I have not reproduced this issue (but related to rdar://problem/21312452)

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::initializeSegments):

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

5 years agoUpdate springLoadingHighlight type
ap@apple.com [Sat, 13 Jun 2015 02:27:56 +0000 (02:27 +0000)]
Update springLoadingHighlight type
https://bugs.webkit.org/show_bug.cgi?id=145939
rdar://problem/20880213

Reviewed by Darin Adler.

* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h:
* WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:

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

5 years agoReimplement WKResourceCacheManagerRef on top of WKWebsiteDataStoreRef
andersca@apple.com [Sat, 13 Jun 2015 01:40:57 +0000 (01:40 +0000)]
Reimplement WKResourceCacheManagerRef on top of WKWebsiteDataStoreRef
https://bugs.webkit.org/show_bug.cgi?id=145951

Reviewed by Darin Adler.

* UIProcess/API/C/WKContext.cpp:
(WKContextGetResourceCacheManager):
* UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetTypeID):
(toWebsiteDataTypes):
(WKResourceCacheManagerGetCacheOrigins):
(WKResourceCacheManagerClearCacheForOrigin):
(WKResourceCacheManagerClearCacheForAllOrigins):

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

5 years agoFix minor ES6 compliance issue in RegExp.prototype.toString and optimize performance...
darin@apple.com [Sat, 13 Jun 2015 01:35:08 +0000 (01:35 +0000)]
Fix minor ES6 compliance issue in RegExp.prototype.toString and optimize performance a little
https://bugs.webkit.org/show_bug.cgi?id=145935

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

Test: js/regexp-toString.html

* runtime/RegExpPrototype.cpp:
(JSC::getFlags): Avoid memory allocation for the flags string by returning it in a character
buffer instead of constructing a WTF::String for it.
(JSC::regExpProtoFuncToString): Require only that the this value be an object; don't require
that it is actually a regular expression object. This is covered in the ES6 specification.
Also removed comment about the "/(?:)/" trick since that is now the repsonsibility of the
getter for the "source" property. Updated to use getFlags so we do one less memory allocation.
(JSC::regExpProtoGetterFlags): Chagned to use getFlags instead of the old flagsString.

LayoutTests:

* js/regexp-toString-expected.txt: Added.
* js/regexp-toString.html: Added.
* js/script-tests/regexp-toString.js: Added.

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

5 years agoReimplement WKApplicationCacheManagerRef as WKWebsiteDataStoreRef
andersca@apple.com [Sat, 13 Jun 2015 00:30:30 +0000 (00:30 +0000)]
Reimplement WKApplicationCacheManagerRef as WKWebsiteDataStoreRef
https://bugs.webkit.org/show_bug.cgi?id=145950

Reviewed by Dan Bernstein.

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetTypeID):
(WKApplicationCacheManagerGetApplicationCacheOrigins):
(WKApplicationCacheManagerDeleteEntriesForOrigin):
(WKApplicationCacheManagerDeleteAllEntries):
* UIProcess/API/C/WKContext.cpp:
(WKContextGetApplicationCacheManager):
(WKContextGetPluginSiteDataManager):

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

5 years agodeleteEmptyDirectory should delete .DS_Store files on OS X
andersca@apple.com [Sat, 13 Jun 2015 00:18:29 +0000 (00:18 +0000)]
deleteEmptyDirectory should delete .DS_Store files on OS X
https://bugs.webkit.org/show_bug.cgi?id=145944

Reviewed by Dan Bernstein.

deleteEmptyDirectory is often used when clearing website data, so we should
take extra care to delete empty directories so the user won't think that clearing
website data didn't do anything because it would leave directories with .DS_Store
files behind.

* platform/mac/FileSystemMac.mm:
(WebCore::deleteEmptyDirectory):
* platform/posix/FileSystemPOSIX.cpp:

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

5 years agoMove cursor to (10, 0) instead of (0, 0) and polish the mouse move code
commit-queue@webkit.org [Fri, 12 Jun 2015 23:40:08 +0000 (23:40 +0000)]
Move cursor to (10, 0) instead of (0, 0) and polish the mouse move code
https://bugs.webkit.org/show_bug.cgi?id=145945

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-06-12
Reviewed by Stephanie Lewis.

* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver.prepareEnv):
(OSXBrowserDriver.moveCursor): Deleted.
(OSXBrowserDriver): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.prepareEnv):

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

5 years agoUnreviewed build fix for merging platforms.
rniwa@webkit.org [Fri, 12 Jun 2015 22:49:21 +0000 (22:49 +0000)]
Unreviewed build fix for merging platforms.

* public/admin/platforms.php:

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

5 years agoRevise update-webkit-dependency to use LWP::UserAgent instead of LWP::Simple for...
bfulgham@apple.com [Fri, 12 Jun 2015 22:08:46 +0000 (22:08 +0000)]
Revise update-webkit-dependency to use LWP::UserAgent instead of LWP::Simple for better handling of https
https://bugs.webkit.org/show_bug.cgi?id=145938

Reviewed by Alexey Proskuryakov.

* Scripts/update-webkit-dependency: Switch from LWP::Simple to
LWP::UserAgent to get access to more robust HTTPS support.

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

5 years agoClean up IndexedDB website data retrieval and removal
andersca@apple.com [Fri, 12 Jun 2015 22:04:27 +0000 (22:04 +0000)]
Clean up IndexedDB website data retrieval and removal
https://bugs.webkit.org/show_bug.cgi?id=145941

Reviewed by Andreas Kling.

- Use SecurityOrigin instead of SecurityOriginData; It's not possible to pass SecurityOriginData
safely between threads.

- Use std::chrono instead of double for modification times.

- Get rid of endTime since it's not used.

- Change deleteIndexedDatabaseEntriesForOrigin to deleteIndexedDatabaseEntriesForOrigins and make it take
a vector of origins instead of a single one.

- Get rid of deleteAllIndexedDatabaseEntries.

- Change SecurityOriginData::securityOrigin to call isolatedCopy on the origin components, since it's common
to pass origins to other threads and we want that to be safe.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::fetchWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
(WebKit::DatabaseProcess::indexedDatabaseOrigins):
(WebKit::removeAllDatabasesForOriginPath):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigins):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedSince):
(WebKit::DatabaseProcess::getIndexedDatabaseOrigins): Deleted.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin): Deleted.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates): Deleted.
(WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries): Deleted.
* DatabaseProcess/DatabaseProcess.h:
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::securityOrigin):

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

5 years ago[CSS Grid Layout] Fix grid-template-areas parsing to avoid spaces
rego@igalia.com [Fri, 12 Jun 2015 21:01:17 +0000 (21:01 +0000)]
[CSS Grid Layout] Fix grid-template-areas parsing to avoid spaces
https://bugs.webkit.org/show_bug.cgi?id=145860

Reviewed by Sergio Villar Senin.

Source/WebCore:

The spec doesn't require to have spaces between unnamed and named areas
in grid-template-areas syntax. But spaces are currently required in our
code.

This was confirmed in the CSS WG mailing list:
https://lists.w3.org/Archives/Public/www-style/2015May/0239.html

This patch updates grid-template-areas parsing to allow the possibility
of removing spaces between unnamed and named areas.

Added new cases to fast/css-grid-layout/grid-template-areas-get-set.html.

* css/CSSParser.cpp:
(WebCore::parseGridTemplateAreasColumnNames): New helper method to
determine the column names split by white spaces or dots.
(WebCore::CSSParser::parseGridTemplateAreasRow): Use the new helper
method to get the column names.
(WebCore::containsOnlyDots): Deleted. Not needed anymore as
parseGridTemplateAreasColumnNames() is using a single dot for unnamed
grid areas (despite of being defined with 1 or more dots).

LayoutTests:

* fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
* fast/css-grid-layout/grid-template-areas-get-set.html: Add new test
cases.

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

5 years ago[Mac] AirPlay menu button doesn't always show on page load
eric.carlson@apple.com [Fri, 12 Jun 2015 20:41:36 +0000 (20:41 +0000)]
[Mac] AirPlay menu button doesn't always show on page load
https://bugs.webkit.org/show_bug.cgi?id=145936

Reviewed by Brent Fulgham.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::mediaProducerStateString): New, return a string representing MediaStateFlags.
(WebCore::WebMediaSessionManager::clientStateDidChange): Log the states as strings.
(WebCore::WebMediaSessionManager::toString): New, return a string representing ConfigurationTasks.
(WebCore::WebMediaSessionManager::scheduleDelayedTask): Add logging.
(WebCore::WebMediaSessionManager::taskTimerFired): Add logging.
* Modules/mediasession/WebMediaSessionManager.h:

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Override wirelessVideoPlaybackDisabled
  so it is possible to activate route monitoring for a movie loaded with this engine.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto.

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

5 years agoAdd the remaining missing override specifiers under Source/WebCore/
zandobersek@gmail.com [Fri, 12 Jun 2015 18:48:53 +0000 (18:48 +0000)]
Add the remaining missing override specifiers under Source/WebCore/
https://bugs.webkit.org/show_bug.cgi?id=145907

Reviewed by Darin Adler.

Fix the remaining compiler warnings about missing override specifiers
for overriding method declarations in classes under Source/WebCore/.

Where the addition had to be performed on all virtual methods of the
class, the virtual specifier was removed so now only the override
specifier is in use.

* Modules/indexeddb/IDBOpenDBRequest.h:
* Modules/indexeddb/IDBRequest.h:
* Modules/webdatabase/DatabaseServer.h:
* bindings/js/ReadableJSStream.h:
* editing/InsertTextCommand.h:
* mathml/MathMLInlineContainerElement.h:
* platform/audio/EqualPowerPanner.h:
(WebCore::EqualPowerPanner::reset):
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::load):
(WebCore::NullMediaPlayerPrivate::cancelLoad):
(WebCore::NullMediaPlayerPrivate::prepareToPlay):
(WebCore::NullMediaPlayerPrivate::play):
(WebCore::NullMediaPlayerPrivate::pause):
(WebCore::NullMediaPlayerPrivate::platformMedia):
(WebCore::NullMediaPlayerPrivate::platformLayer):
(WebCore::NullMediaPlayerPrivate::naturalSize):
(WebCore::NullMediaPlayerPrivate::hasVideo):
(WebCore::NullMediaPlayerPrivate::hasAudio):
(WebCore::NullMediaPlayerPrivate::setVisible):
(WebCore::NullMediaPlayerPrivate::durationDouble):
(WebCore::NullMediaPlayerPrivate::currentTimeDouble):
(WebCore::NullMediaPlayerPrivate::seekDouble):
(WebCore::NullMediaPlayerPrivate::seeking):
(WebCore::NullMediaPlayerPrivate::setRateDouble):
(WebCore::NullMediaPlayerPrivate::setPreservesPitch):
(WebCore::NullMediaPlayerPrivate::paused):
(WebCore::NullMediaPlayerPrivate::setVolumeDouble):
(WebCore::NullMediaPlayerPrivate::supportsMuting):
(WebCore::NullMediaPlayerPrivate::setMuted):
(WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
(WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
(WebCore::NullMediaPlayerPrivate::networkState):
(WebCore::NullMediaPlayerPrivate::readyState):
(WebCore::NullMediaPlayerPrivate::maxTimeSeekableDouble):
(WebCore::NullMediaPlayerPrivate::minTimeSeekable):
(WebCore::NullMediaPlayerPrivate::buffered):
(WebCore::NullMediaPlayerPrivate::totalBytes):
(WebCore::NullMediaPlayerPrivate::didLoadingProgress):
(WebCore::NullMediaPlayerPrivate::setSize):
(WebCore::NullMediaPlayerPrivate::canLoadPoster):
(WebCore::NullMediaPlayerPrivate::setPoster):
(WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
* platform/graphics/filters/DistantLightSource.h:
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEDisplacementMap.h:
(WebCore::FEDisplacementMap::determineAbsolutePaintRect):
* platform/graphics/filters/FEFlood.h:
(WebCore::FEFlood::determineAbsolutePaintRect):
* platform/graphics/filters/PointLightSource.h:
* platform/graphics/filters/SpotLightSource.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::hasVideo):
(WebCore::MediaPlayerPrivateGStreamer::hasAudio):
(WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider):
(WebCore::MediaPlayerPrivateGStreamer::engineDescription):
(WebCore::MediaPlayerPrivateGStreamer::isLiveStream):
(WebCore::MediaPlayerPrivateGStreamer::totalVideoFrames):
(WebCore::MediaPlayerPrivateGStreamer::droppedVideoFrames):
(WebCore::MediaPlayerPrivateGStreamer::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateGStreamer::totalFrameDelay):
* platform/graphics/texmap/BitmapTextureGL.h:
(WebCore::BitmapTextureGL::isBackedByOpenGL):
* platform/graphics/transforms/Matrix3DTransformOperation.h:
* platform/graphics/transforms/MatrixTransformOperation.h:
* platform/graphics/transforms/PerspectiveTransformOperation.h:
* platform/graphics/transforms/RotateTransformOperation.h:
* platform/graphics/transforms/ScaleTransformOperation.h:
* platform/graphics/transforms/SkewTransformOperation.h:
* platform/image-decoders/png/PNGImageDecoder.h:
(WebCore::PNGImageDecoder::filenameExtension):
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
* platform/mock/MockRealtimeMediaSourceCenter.h:

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

5 years agoUnreviewed, rolling out r185512.
commit-queue@webkit.org [Fri, 12 Jun 2015 18:43:01 +0000 (18:43 +0000)]
Unreviewed, rolling out r185512.
https://bugs.webkit.org/show_bug.cgi?id=145932

Many asserts on layout tests and on API tests (Requested by
ap_ on #webkit).

Reverted changeset:

"Use modern for-loops in WebCore/rendering - 1"
https://bugs.webkit.org/show_bug.cgi?id=145831
http://trac.webkit.org/changeset/185512

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

5 years agoOpenGLESSPI.h doesn't need to include UIKit.h
simon.fraser@apple.com [Fri, 12 Jun 2015 18:22:32 +0000 (18:22 +0000)]
OpenGLESSPI.h doesn't need to include UIKit.h
https://bugs.webkit.org/show_bug.cgi?id=145931

Reviewed by Darin Adler.

No need to suck in all of UIKit from OpenGLESSPI.h.

* platform/spi/ios/OpenGLESSPI.h:

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

5 years agoAdd barebones implementation of media session invocation algorithm.
commit-queue@webkit.org [Fri, 12 Jun 2015 17:53:35 +0000 (17:53 +0000)]
Add barebones implementation of media session invocation algorithm.
https://bugs.webkit.org/show_bug.cgi?id=145847

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-12
Reviewed by Darin Adler.

* Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::invoke): Move the media session to an active state.
* Modules/mediasession/MediaSession.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playInternal): Call the media session invocation algorithm as described in the
  Media Session spec.

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

5 years agoNetwork Cache: Use SHA1 for header checksum
antti@apple.com [Fri, 12 Jun 2015 17:43:31 +0000 (17:43 +0000)]
Network Cache: Use SHA1 for header checksum
https://bugs.webkit.org/show_bug.cgi?id=145928

Reviewed by Chris Dumez.

Use SHA1 everywhere for consistency and robustness.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::bodyPathForKey):
(WebKit::NetworkCache::RecordMetaData::RecordMetaData):
(WebKit::NetworkCache::decodeRecordMetaData):
(WebKit::NetworkCache::decodeRecordHeader):
(WebKit::NetworkCache::encodeRecordMetaData):
(WebKit::NetworkCache::Storage::encodeRecord):
(WebKit::NetworkCache::hashData): Deleted.

    This was the last user of 32 bit hashes in cache code.

* NetworkProcess/cache/NetworkCacheStorage.h:

    Also bump the cache version number as recent changes have changed the format.
    Old caches would transition fine but this makes it easier to identify which version user has.

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

5 years agoUse modern for-loops in WebCore/rendering - 1
commit-queue@webkit.org [Fri, 12 Jun 2015 17:10:07 +0000 (17:10 +0000)]
Use modern for-loops in WebCore/rendering - 1
https://bugs.webkit.org/show_bug.cgi?id=145831

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-06-12
Reviewed by Darin Adler.

No new tests because there is no behavior change.

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::clearIntermediateResults):
* rendering/FilterEffectRenderer.h:
* rendering/FloatingObjects.cpp:
(WebCore::FloatingObjects::clearLineBoxTreePointers):
(WebCore::FloatingObjects::moveAllToFloatInfoMap):
(WebCore::FloatingObjects::computePlacedFloatsTree):
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::collectFixedPositionedLayers):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::append):
* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::highQualityRepaintTimerFired):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/RenderBlock.cpp:
(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
(WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markPositionedObjectsForLayout):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::checkPositionedObjectsNeedLayout):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::moveFloatsTo):
(WebCore::RenderBlockFlow::addOverflowFromFloats):
(WebCore::RenderBlockFlow::repaintOverhangingFloats):
(WebCore::RenderBlockFlow::paintFloats):
(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::addIntrudingFloats):
(WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
(WebCore::RenderBlockFlow::adjustForBorderFit):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::repaintDirtyFloats):
(WebCore::RenderBlockFlow::layoutLineBoxes):
(WebCore::RenderBlockFlow::checkFloatsInCleanLine):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
* rendering/RenderCounter.cpp:
(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::updateCounters):
(WebCore::RenderCounter::rendererStyleChanged):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
(WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::flipForWrapReverse):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::addAnnotatedRegions):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::updateDescendantDependentFlags):
* rendering/RenderLayerBacking.cpp:
(WebCore::descendantLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::startAnimation):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount):
(RenderMenuList::updateOptionsWidth):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):

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

5 years ago[iOS WK2] Video with reflection crashes WebKit and Safari
simon.fraser@apple.com [Fri, 12 Jun 2015 17:04:48 +0000 (17:04 +0000)]
[iOS WK2] Video with reflection crashes WebKit and Safari
https://bugs.webkit.org/show_bug.cgi?id=145905
rdar://problem/18364939

Reviewed by Anders Carlsson.

On iOS, AVPlayerLayers are contained inside a WebVideoContainerLayer, but
the layer type is still LayerTypeAVPlayerLayer.

Avoid throwing exceptions when cloning such layers by checking the layer class.

* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::clone):

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

5 years agoFix unused private field warning in ResourceHandleSoup.cpp
ossy@webkit.org [Fri, 12 Jun 2015 16:59:26 +0000 (16:59 +0000)]
Fix unused private field warning in ResourceHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=145910

Reviewed by Darin Adler.

* platform/network/soup/ResourceHandleSoup.cpp:

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

5 years ago[EFL] Fix unused private field warning in WebContextMenuProxyEfl.cpp
ossy@webkit.org [Fri, 12 Jun 2015 16:56:02 +0000 (16:56 +0000)]
[EFL] Fix unused private field warning in WebContextMenuProxyEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=145911

Reviewed by Darin Adler.

* UIProcess/efl/WebContextMenuProxyEfl.cpp:
(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl): Deleted.
* UIProcess/efl/WebContextMenuProxyEfl.h:

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

5 years ago[GTK] Fix return type warning in WebViewTest.cpp
ossy@webkit.org [Fri, 12 Jun 2015 16:52:38 +0000 (16:52 +0000)]
[GTK] Fix return type warning in WebViewTest.cpp
https://bugs.webkit.org/show_bug.cgi?id=145914

Reviewed by Darin Adler.

* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::isEditable):

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

5 years agoWeb Inspector: CRASH trying to inspect text that was removed/replaced
commit-queue@webkit.org [Fri, 12 Jun 2015 16:48:58 +0000 (16:48 +0000)]
Web Inspector: CRASH trying to inspect text that was removed/replaced
https://bugs.webkit.org/show_bug.cgi?id=145898

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-12
Reviewed by Darin Adler.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::inspect):
(WebCore::InspectorDOMAgent::focusNode):
Ensure we only cause focusNode with a node to focus. If the original
node that was provided is no longer in the document, then we won't
actually find a node to inspect.

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