Timeline



Feb 2, 2014:

11:52 PM Changeset in webkit [163289] by Darin Adler
  • 12 edits
    3 deletes in trunk/Source

Obey "delete this" comments, including deleting String::characters and friends
https://bugs.webkit.org/show_bug.cgi?id=126865

Reviewed by Andreas Kling.

Source/WebCore:

  • CMakeLists.txt: Deleted HTMLParserErrorCodes.cpp.
  • GNUmakefile.list.am: Deleted HTMLParserErrorCodes.cpp/h, and HTMLParserQuirks.h.
  • WebCore.vcxproj/WebCore.vcxproj: Deleted HTMLParserErrorCodes.cpp/h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/HTMLParserErrorCodes.cpp: Removed.
  • html/HTMLParserErrorCodes.h: Removed.
  • html/HTMLParserQuirks.h: Removed.
  • rendering/RenderText.h: Deleted the characters function, leaving behind the

deprecatedCharacters function.

Source/WTF:

  • wtf/text/AtomicString.h: Deleted the characters function.
  • wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the

deprecatedCharacters function.

  • wtf/text/StringImpl.h: Ditto.
  • wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&,

helpful for later string refactoring.

11:31 PM Changeset in webkit [163288] by mitz@apple.com
  • 10 edits in trunk/Source/WTF

Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128089

Reviewed by Darin Adler.

Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with
equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to
be false when building for iOS.

  • - One exception noted below.
  • wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool

is a Foundation class.

  • wtf/CurrentTime.cpp:

(WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is
part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue
to take precedence regardless of the OS.

  • wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
  • wtf/MainThread.h: Ditto.
  • wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS.

Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK),
USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION),
USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR),
USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING),
USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed
PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various
JavaScriptCore or JavaScriptCore-dependent behaviors.

  • wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • wtf/RunLoopTimerCF.cpp: Ditto.
  • wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard

usage of Foundation API.

  • wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed

only on OS X and Windows.

10:19 PM Changeset in webkit [163287] by beidson@apple.com
  • 5 edits in trunk/Source

IDB: Cannot open new databases with the default version
https://bugs.webkit.org/show_bug.cgi?id=128096

Reviewed by Tim Horton.

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::openConnectionInternal): Update logic to handle the

current version being NoIntVersion.

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Update ASSERT.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): New databases should

have the magic "no version set" version.

10:18 PM Changeset in webkit [163286] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix context save/restore mistake spotted in SVGInlineTextBox::paintTextWithShadows
https://bugs.webkit.org/show_bug.cgi?id=128095

Reviewed by Andreas Kling.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintTextWithShadows): Move calls to GraphicsContext::restore
and GraphicsContext::clearShadow before restoreGraphicsContextAfterTextPainting, since that
function can swap contexts.

9:04 PM Changeset in webkit [163285] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Modernize RenderSVGText::locateRenderSVGTextAncestor().
<https://webkit.org/b/128093>

Make locateRenderSVGTextAncestor() take a reference, and simplify it
internally with lineageOfType.

Switched callers to use 'auto' for the return type so we get some
devirtualization freebies.

Reviewed by Anders Carlsson.

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::objectBoundingBox):
(WebCore::RenderSVGInline::strokeBoundingBox):
(WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
(WebCore::RenderSVGInline::absoluteQuads):
(WebCore::RenderSVGInline::addChild):
(WebCore::RenderSVGInline::removeChild):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::setTextInternal):
(WebCore::RenderSVGInlineText::styleDidChange):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::locateRenderSVGTextAncestor):

  • rendering/svg/RenderSVGText.h:

(WebCore::RenderSVGText>):

  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):

  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::measureTextRenderer):

  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::svgAttributeChanged):

8:54 PM Changeset in webkit [163284] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Add a logic for checking multi touch in GestureRecognizer::noGesture
https://bugs.webkit.org/show_bug.cgi?id=127675

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-02-02
Reviewed by Gyuyoung Kim.

When processing TouchStart event in GestureRecognizer::noGesture(), we should
check the number of touch points to distinguish if the gesture is single tap
or pinch zoom. Current logic only considers the event as single tap.

  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureRecognizer::noGesture):

8:50 PM Changeset in webkit [163283] by akling@apple.com
  • 13 edits in trunk/Source/WebCore

Modernize the toRenderSVGResourceContainer() helper.
<https://webkit.org/b/128091>

Make toRenderSVGResourceContainer() a free function like all the
other casting helpers. Use references instead of pointers where
applicable.

Reviewed by Anders Carlsson.

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/svg/RenderSVGGradientStop.cpp:

(WebCore::RenderSVGGradientStop::styleDidChange):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):

  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):

  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGResourceContainer):

  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resolveCycles):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::svgAttributeChanged):

8:44 PM Changeset in webkit [163282] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Minor SVGRootInlineBox cleanup.
<https://webkit.org/b/128094>

Remove two virtual functions and sprinkle some missing overrides.

Reviewed by Anders Carlsson.

  • rendering/svg/SVGRootInlineBox.h:
6:35 PM Changeset in webkit [163281] by oliver@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

I forgot to save the changelog prior to submitting.

6:25 PM Changeset in webkit [163280] by oliver@apple.com
  • 41 edits in trunk

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

Reviewed by Mark Lam.

Source/WebCore:

Start redoing code generation for attributes.

  • bindings/js/JSDOMBinding.h:

(WebCore::getStaticPropertySlotEntryWithoutCaching):
(WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(HasComplexGetOwnProperty):
(ConstructorShouldBeOnInstance):
(AttributeShouldBeOnInstance):
(InstanceAttributeCount):
(PrototypeAttributeCount):
(InstanceOverridesGetOwnPropertySlot):
(PrototypeOverridesGetOwnPropertySlot):
(GenerateAttributesHashTable):
(GenerateImplementation):

LayoutTests:

Update layout test results

  • fast/dom/wrapper-classes-expected.txt:
  • js/dom/constructor-attributes-expected.txt:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
  • js/dom/script-tests/constructor-attributes.js:
6:15 PM Changeset in webkit [163279] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderSVGResourceContainer clients are always RenderElement.
<https://webkit.org/b/128088>

All clients of RenderSVGResourceContainer are going to be RenderElement,
so make the interface take RenderElement& instead of RenderObject*.

Also modernized the code a bit with C++11 range for loops.

Reviewed by Sam Weinig.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::addClient):
(WebCore::RenderSVGResourceContainer::removeClient):

  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::addResourcesFromRenderer):
(WebCore::SVGResourcesCache::removeResourcesFromRenderer):

5:40 PM Changeset in webkit [163278] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
https://bugs.webkit.org/show_bug.cgi?id=128075

Reviewed by Darin Adler.

No change in functionality.

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel):
(WebCore::floorToDevicePixel):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

5:05 PM Changeset in webkit [163277] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

SVGDocumentExtensions::resourcesCache() should return a reference.
<https://webkit.org/b/128087>

The SVGResourcesCache is always present when the Document is using
SVG extensions, so make this return a reference and propagate that
knowledge to the call site.

This gets rid of an assertion and some rickety looking ->'s.
Also converted a loop to use C++11 range for syntax.

Reviewed by Sam Weinig.

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::resourcesCacheFromRenderer):
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::SVGResourcesCache::clientWasAddedToTree):
(WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
(WebCore::SVGResourcesCache::clientDestroyed):
(WebCore::SVGResourcesCache::resourceDestroyed):

  • svg/SVGDocumentExtensions.h:

(WebCore::SVGDocumentExtensions::resourcesCache):

5:03 PM Changeset in webkit [163276] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
<https://webkit.org/b/128086>

Make computeNewScaledFontForStyle() take renderer and style by reference
instead of taking a pointer and asserting that it's non-null.

Reviewed by Darin Adler.

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::updateScaledFont):
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::applyResource):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintDecorationWithStyle):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):

  • rendering/svg/SVGRenderingContext.h:
4:38 PM Changeset in webkit [163275] by Darin Adler
  • 16 edits in trunk/Source

Still more characters -> deprecatedCharacters (EWS keeps finding more)
https://bugs.webkit.org/show_bug.cgi?id=128076

Reviewed by Andreas Kling.

Source/WebCore:

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::setFontFeatures):
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
Use deprecatedCharacters.

Source/WebKit/win:

  • AccessibleTextImpl.cpp:

(AccessibleText::get_text):
(AccessibleText::get_textBeforeOffset):
(AccessibleText::get_textAfterOffset):
(AccessibleText::get_textAtOffset):
(AccessibleText::get_attributes):

  • DOMCSSClasses.cpp:

(DOMCSSStyleDeclaration::getPropertyValue):

  • DOMCoreClasses.cpp:

(DOMNode::nodeValue):
(DOMElement::getAttribute):
(DOMElement::font):

  • DOMHTMLClasses.cpp:

(DOMHTMLElement::innerText):
(DOMHTMLFormElement::action):
(DOMHTMLFormElement::method):
(DOMHTMLInputElement::value):
(DOMHTMLTextAreaElement::value):

  • MarshallingHelpers.cpp:

(MarshallingHelpers::PathStringToFileCFURLRef):

  • WebDataSource.cpp:

(WebDataSource::unreachableURL):

  • WebDownload.cpp:

(WebDownload::bundlePathForTargetPath):

  • WebDownloadCFNet.cpp:

(WebDownload::didFinish):

  • WebElementPropertyBag.cpp:

(convertStringToVariant):

  • WebFrame.cpp:

(WebFrame::searchForLabelsBeforeElement):
(WebFrame::matchLabelsAgainstElement):

  • WebHistory.cpp:

(WebHistory::addVisitedLinksToPageGroup):

  • WebKitGraphics.cpp:

(CenterTruncateStringToWidth):
(RightTruncateStringToWidth):

  • WebView.cpp:

(WebView::applicationNameForUserAgent):
(WebView::customUserAgent):
(WebView::groupName):
(WebView::selectedText):
(WebView::onIMERequestReconvertString):
Use deprecatedCharacters.

4:22 PM Changeset in webkit [163274] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Repatch code is passing the wrong args to lookupExceptionHandler.
<https://webkit.org/b/128085>

Reviewed by Oliver Hunt.

lookupExceptionHandler() is expecting 2 args: VM*, ExecState*.
The repatch code was only passing an ExecState*. A crash ensues.
This is now fixed.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileExceptionHandlers):

  • jit/Repatch.cpp:

(JSC::generateProtoChainAccessStub):

3:46 PM Changeset in webkit [163273] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WK2: Selection is non editable content is not cleared when navigating to a different page.
https://bugs.webkit.org/show_bug.cgi?id=128084
<rdar://problem/15966166>

Reviewed by Dan Bernstein.

When resigning first responder, we need to cleanup the selection.

  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView resignFirstResponder]):

1:59 PM Changeset in webkit [163272] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
https://bugs.webkit.org/show_bug.cgi?id=128009

Reviewed by Simon Fraser.

Snap and clip to device pixels when painting boxes. Enable hairline painting
for solid border.

No existing context to test this functionality yet.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::getRoundedBorderFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):

1:56 PM Changeset in webkit [163271] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Add some missing override keywords
https://bugs.webkit.org/show_bug.cgi?id=128082

Reviewed by Antti Koivisto.

  • loader/DocumentThreadableLoader.h:
  • loader/LinkLoader.h:
  • loader/TextTrackLoader.h:
  • xml/parser/XMLDocumentParser.h:
1:07 PM Changeset in webkit [163270] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed Mac gardering after r163265.

  • platform/mac/TestExpectations:
12:37 PM Changeset in webkit [163269] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WK2: Cannot focus a second field in a page after the first has been focused.
https://bugs.webkit.org/show_bug.cgi?id=128055
<rdar://problem/15943652>

Reviewed by Simon Fraser.

When handling singleTap, we always need to send
a click to WebKit when we are already interacting with text.
Also, when we stop assisting the node, we should not call
resign responder, since that will trigger another unwanted blur.

  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView _singleTapRecognized:]):
(-[WKInteractionView _stopAssistingNode]):

12:31 PM Changeset in webkit [163268] by dbates@webkit.org
  • 2 edits in trunk/Tools

WebKit Bot Watcher's Dashboard: Access restricted queue should only prompt for HTTP credentials once per page load
https://bugs.webkit.org/show_bug.cgi?id=127849

I inadvertently used the equality operator instead of the identity operator when comparing the
value of the error HTTP status code with the numeric literal 401.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.update):

12:29 PM Changeset in webkit [163267] by dbates@webkit.org
  • 2 edits in trunk/Tools

Attempt to fix production dashboard after <http://trac.webkit.org/changeset/163222>

Actually pass option dictionary to JSON.load(); JSON.load() takes four arguments with the
last-most argument being the option dictionary.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.update):

11:55 AM Changeset in webkit [163266] by beidson@apple.com
  • 17 edits in trunk/Source

IDB: Support IDBFactory.deleteDatabase()
https://bugs.webkit.org/show_bug.cgi?id=128060

Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::deleteDatabaseAsync):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::deleteDatabase):

Change factory-level deleteDatabase to take opening and main frame origins:

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:

(WebCore::IDBFactoryBackendLevelDB::deleteDatabase):

  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
  • WebCore.exp.in:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::deleteDatabase):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::calculateAbsoluteDatabaseFilename): Central place to

calculate the database filename.

(WebKit::UniqueIDBDatabase::unregisterConnection):
(WebKit::UniqueIDBDatabase::shutdown): Pass shutdown type along.
(WebKit::UniqueIDBDatabase::shutdownBackingStore): If this is a delete shutdown, delete the DB.
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::postMainThreadTask): All some tasks to bypass the no-more-request restriction.
(WebKit::UniqueIDBDatabase::postDatabaseTask): Ditto.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Use

calculateAbsoluteDatabaseFilename from UniqueIDBDatabase.

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::WebIDBFactoryBackend::open): Update logging channel.
(WebKit::WebIDBFactoryBackend::deleteDatabase): Implement.

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
  • Shared/WebCrossThreadCopier.h:
10:38 AM Changeset in webkit [163265] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

Subpixel rendering: Introduce device pixel snapping helper functions.
https://bugs.webkit.org/show_bug.cgi?id=128049

Reviewed by Simon Fraser.

These functions help device pixel snapping during painting. They follow the logic of
the corresponding pixelSnappedInt* functions.

No change in functionality.

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel):
(WebCore::floorToDevicePixel):
(WebCore::snapSizeToPixel):
(WebCore::snapSizeToDevicePixel):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::GraphicsContext):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::pixelSnappingFactor):

  • platform/graphics/LayoutRect.h:

(WebCore::pixelSnappedForPainting):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

9:44 AM Changeset in webkit [163264] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Floor thickness and length after switching from int to float.
https://bugs.webkit.org/show_bug.cgi?id=128071

Reviewed by Antti Koivisto.

This is a temporary solution to fix the assertion on empty line drawing until after
device pixel snapping is added.

Covered by existing tests.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

9:27 AM Changeset in webkit [163263] by Antti Koivisto
  • 12 edits
    2 deletes in trunk/Source/WebCore

Remove StyleScopeResolver
https://bugs.webkit.org/show_bug.cgi?id=128069

Reviewed by Anders Carlsson.

This is dead code.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::appendAuthorStyleSheets):
(WebCore::DocumentRuleSets::collectFeatures):

  • css/DocumentRuleSets.h:
  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::ElementRuleCollector):

  • css/RuleSet.cpp:

(WebCore::RuleSet::addChildRules):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::pushParentElement):
(WebCore::StyleResolver::popParentElement):
(WebCore::StyleResolver::locateSharedStyle):
(WebCore::StyleResolver::styleForElement):

  • css/StyleResolver.h:

(WebCore::StyleResolver::document):

  • css/StyleScopeResolver.cpp: Removed.
  • css/StyleScopeResolver.h: Removed.
  • style/StyleResolveTree.cpp:

(WebCore::Style::attachShadowRoot):
(WebCore::Style::resolveShadowTree):

8:15 AM Changeset in webkit [163262] by Alan Bujtas
  • 12 edits in trunk

Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
https://bugs.webkit.org/show_bug.cgi?id=128036

Reviewed by Darin Adler.

Source/WebCore:

Covered by existing tests.

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::operator++):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::usedWidth):
(WebCore::BorderEdge::getDoubleBorderStripeWidths):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::calculateSideRectIncludingInner):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/RenderObject.h:
  • rendering/style/BorderData.h:

(WebCore::BorderData::borderLeftWidth):
(WebCore::BorderData::borderRightWidth):
(WebCore::BorderData::borderTopWidth):
(WebCore::BorderData::borderBottomWidth):

  • rendering/style/RenderStyle.cpp:

(WebCore::calcRadiiFor):
(WebCore::calcConstraintScaleFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):

  • rendering/style/RenderStyle.h:

LayoutTests:

Bug 128061: Subpixel rendering: borders are reporting float values.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
12:02 AM Changeset in webkit [163261] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r163234) Debug build is broken
https://bugs.webkit.org/show_bug.cgi?id=128059

Unreviewed. Debug build is broken with INDEXED_DATABASE.

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-02-01

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString): Added the default: case.

Feb 1, 2014:

11:45 PM Changeset in webkit [163260] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering: LayoutUnit operator++ is broken.
https://bugs.webkit.org/show_bug.cgi?id=128056

Reviewed by Darin Adler.

Add pre-increment operator++.

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::operator++):

10:38 PM Changeset in webkit [163259] by fpizlo@apple.com
  • 6 edits in trunk

JSC profiler's stub info profiling support should work again
https://bugs.webkit.org/show_bug.cgi?id=128057

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdCacheStatus): We want to know if the cache was ever reset by GC, since the DFG uses this information.
(JSC::CodeBlock::printLocationAndOp): This shouldn't have been inline.
(JSC::CodeBlock::printLocationOpAndRegisterOperand): Ditto.
(JSC::CodeBlock::dumpBytecode): Dump the profiling field, and make sure that the caller can pass a StubInfoMap, which is necessary for dumping StructureStubInfo profiling.

  • bytecode/CodeBlock.h: Out-of-line some methods and add the StubInfoMap parameter.
  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence): Create a StubInfoMap before dumping bytecodes.

Tools:

  • Scripts/display-profiler-output: Just make sure that there's always a space between the origin stack dump and the top bytecode index.
10:38 PM Changeset in webkit [163258] by Darin Adler
  • 5 edits in trunk/Source

More characters -> deprecatedCharacters (based on more EWS complaints)
https://bugs.webkit.org/show_bug.cgi?id=128063

Reviewed by Anders Carlsson.

Source/WebCore:

  • editing/SmartReplace.cpp:

(WebCore::addAllCodePoints):
(WebCore::getSmartSet):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):
Use deprecatedCharacters.

Source/WebKit2:

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine): Use deprecatedCharacters.

8:59 PM Changeset in webkit [163257] by Darin Adler
  • 9 edits in trunk/Source/WebCore

Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
https://bugs.webkit.org/show_bug.cgi?id=128042

Reviewed by Sam Weinig.

  • Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeString):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::createGDIFont):
(WebCore::FontCache::getTraitsInFamily):

  • platform/network/DataURL.cpp:

(WebCore::handleDataURL):

  • platform/win/BString.cpp:

(WebCore::BString::BString):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

  • platform/win/FileSystemWin.cpp:

(WebCore::pathByAppendingComponent):
(WebCore::fileSystemRepresentation):

  • platform/win/PasteboardWin.cpp:

(WebCore::filesystemPathFromUrlOrTitle):
(WebCore::Pasteboard::writeURLToDataObject):
(WebCore::createGlobalImageFileDescriptor):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize):
Call deprecatedCharacters instead of characters.

6:45 PM Changeset in webkit [163256] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Speculative OSX build fix.

Excluding WKActionSheet.mm and WKActionSheetAssistant.mm.

  • Configurations/WebKit2.xcconfig:
6:37 PM Changeset in webkit [163255] by enrica@apple.com
  • 18 edits
    4 adds in trunk/Source

Add support for ActionSheets in WK2 for iOS.
https://bugs.webkit.org/show_bug.cgi?id=127586
<rdar://problem/15283667>

Reviewed by Benjamin Poulain.

Source/WebCore:

Updates the localizable strings for action sheets.

  • English.lproj/Localizable.strings:

Source/WebKit2:

This patch adds the default support for Action Sheets
in WK2 for iOS. WKActionSheet is the implementation of the
sheet itself that inherits from UIActionSheet and handles
the repositioning of the sheet after rotation for iPad.
WKActionSheetAssistant is the controller class that implements
the delegate methods, controls the lifetime of the action sheet
object and performs the actions.
We have 3 different types of sheets:

  • link sheet, displayed when the target element is a link
  • image sheet, when the target element is an image
  • data detector sheet when the target is an element recognized by the data detectors library.

Both link and image sheet have a set of default buttons, whereas
datadetector sheet in only populated by custom actions provided
by data detectors.
The link sheet provides the following default actions:

  • open, navigates to the URL
  • copy, copies the URL to the pasteboard
  • add to reading list

The image sheet provides the following actions depending on whether
the image is contained inside an anchor element or not.
If the image is NOT inside a link the following actions are provided:

  • copy, copies the image to the pasteboard
  • save image, saves the image in the photo library

Instead, if the image is inside an link:

  • open, navigates to the URL spcified by the link
  • copy, copies the link URL to the pasteboard
    • save image, saves the image in the photo library
    • add to reading list, adds the link URL to reading list.
  • Shared/InteractionInformationAtPosition.cpp:

(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

  • Shared/InteractionInformationAtPosition.h:
  • Shared/ios/WKGestureTypes.h:
  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::saveImageToLibrary):

  • UIProcess/API/ios/WKActionSheet.h: Added.
  • UIProcess/API/ios/WKActionSheet.mm: Added.

(-[WKActionSheet initWithView:]):
(-[WKActionSheet dealloc]):
(-[WKActionSheet presentSheet]):
(-[WKActionSheet presentSheetFromRect:]):
(-[WKActionSheet doneWithSheet]):
(-[WKActionSheet willRotate]):
(-[WKActionSheet updateSheetPosition]):
(-[WKActionSheet didRotate]):
(-[WKElementActionInfo initWithInfo:location:title:rect:]):
(-[WKElementActionInfo dealloc]):
(-[WKElementAction initWithTitle:actionHandler:type:]):
(-[WKElementAction dealloc]):
(+[WKElementAction customElementActionWithTitle:actionHandler:]):
(copyElement):
(saveImage):
(addToReadingList):
(+[WKElementAction standardElementActionWithType:customTitle:]):
(+[WKElementAction standardElementActionWithType:]):
(-[WKElementAction runActionWithElementInfo:view:]):

  • UIProcess/API/ios/WKActionSheetAssistant.h: Added.
  • UIProcess/API/ios/WKActionSheetAssistant.mm: Added.

(-[WKActionSheetAssistant initWithView:]):
(-[WKActionSheetAssistant dealloc]):
(-[WKActionSheetAssistant setPage:WebKit::]):
(-[WKActionSheetAssistant superviewForSheet]):
(-[WKActionSheetAssistant _presentationRectForSheetGivenPoint:inHostView:]):
(-[WKActionSheetAssistant hostViewForSheet]):
(-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant presentSheet]):
(-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
(-[WKActionSheetAssistant updateSheetPosition]):
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant cleanupSheet]):

  • UIProcess/API/ios/WKInteractionView.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView initWithFrame:]):
(-[WKInteractionView dealloc]):
(-[WKInteractionView setPage:WebKit::]):
(-[WKInteractionView _showImageSheet]):
(-[WKInteractionView _showLinkSheet]):
(-[WKInteractionView _showDataDetectorsSheet]):
(-[WKInteractionView _actionForLongPress]):
(-[WKInteractionView _updatePositionInformation]):
(-[WKInteractionView _longPressRecognized:]):
(-[WKInteractionView _positionInformationDidChange:]):
(-[WKInteractionView _performAction:]):
(-[WKInteractionView _updateAccessory]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::startInteractionWithElementAtPosition):
(WebKit::WebPageProxy::stopInteraction):
(WebKit::WebPageProxy::performActionOnElement):
(WebKit::WebPageProxy::saveImageToLibrary):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::containingLinkElement):
(WebKit::WebPage::getPositionInformation):
(WebKit::WebPage::startInteractionWithElementAtPosition):
(WebKit::WebPage::stopInteraction):
(WebKit::WebPage::performActionOnElement):

6:25 PM Changeset in webkit [163254] by fpizlo@apple.com
  • 17 edits
    2 adds in trunk

JSC profiler should show reasons for jettison
https://bugs.webkit.org/show_bug.cgi?id=128047

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Henceforth if you want to jettison a CodeBlock, you gotta tell the Profiler why you did
it. This makes figuring out convergence issues - where some code seems to take a long
time to get into the top tier compiler - a lot easier.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::jettison):
(JSC::CodeBlock::addBreakpoint):
(JSC::CodeBlock::setSteppingMode):

  • bytecode/CodeBlock.h:
  • bytecode/CodeBlockJettisoningWatchpoint.cpp:

(JSC::CodeBlockJettisoningWatchpoint::fireInternal):

  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:

(JSC::ProfiledCodeBlockJettisoningWatchpoint::fireInternal):

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:
  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::Compilation):
(JSC::Profiler::Compilation::toJS):

  • profiler/ProfilerCompilation.h:

(JSC::Profiler::Compilation::setJettisonReason):

  • profiler/ProfilerJettisonReason.cpp: Added.

(WTF::printInternal):

  • profiler/ProfilerJettisonReason.h: Added.
  • runtime/CommonIdentifiers.h:
  • runtime/VM.cpp:

(JSC::SetEnabledProfilerFunctor::operator()):

Tools:

Reviewed by Geoffrey Garen.

Gave the tool a "log" command, that tells you all of the interesting things
that happened to a piece of bytecode, from the standpoint of optimization.
It's a great summary view for seeing how our tier-up machinery works.

This uses a lot of information that was already available, plus the newly
added jettisonReason field.

  • Scripts/display-profiler-output:
6:18 PM Changeset in webkit [163253] by mjs@apple.com
  • 7 edits
    1 add in trunk/Source/WebCore

Factor URL decomposition methods (from URLUtils interface) into a base template
https://bugs.webkit.org/show_bug.cgi?id=128052

Reviewed by Sam Weinig.

Refactoring only; no new tests.

  • html/DOMURL.cpp:
  • html/DOMURL.h:

(WebCore::DOMURL::href): Moved to header and made inline.

  • html/URLUtils.h: Added.

(WebCore::URLUtils::href): Downcast and call the derived class.
(WebCore::URLUtils::setHref): Downcast and call the derived class.
Functions below factored out from DOMURL.cpp.
(WebCore::URLUtils<T>::toString):
(WebCore::URLUtils<T>::origin):
(WebCore::URLUtils<T>::protocol):
(WebCore::URLUtils<T>::setProtocol):
(WebCore::URLUtils<T>::username):
(WebCore::URLUtils<T>::setUsername):
(WebCore::URLUtils<T>::password):
(WebCore::URLUtils<T>::setPassword):
(WebCore::URLUtils<T>::host):
(WebCore::parsePortFromStringPosition):
(WebCore::URLUtils<T>::setHost):
(WebCore::URLUtils<T>::hostname):
(WebCore::URLUtils<T>::setHostname):
(WebCore::URLUtils<T>::port):
(WebCore::URLUtils<T>::setPort):
(WebCore::URLUtils<T>::pathname):
(WebCore::URLUtils<T>::setPathname):
(WebCore::URLUtils<T>::search):
(WebCore::URLUtils<T>::setSearch):
(WebCore::URLUtils<T>::hash):
(WebCore::URLUtils<T>::setHash):

Add mention of new header.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
5:58 PM Changeset in webkit [163252] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

IDB: Implement IDBCursor.delete()
<rdar://problem/15944203> and https://bugs.webkit.org/show_bug.cgi?id=127882

Reviewed by Sam Weinig.

IDBCursor.delete() actually relies on deleteRange(), which was implemented earlier.
So the only thing keeping it from working was a "Cursors iterate past their end" bug,
causing the delete transaction to be aborted.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::advanceOnce): When the cursor does the final iteration,

clear the previous values to indicate completion.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:

(WebKit::SQLiteIDBTransaction::clearCursors): Noticed this opportunistic cleanup to

iterate over unique_ptr<>s with an auto& instead of an auto.

4:16 PM Changeset in webkit [163251] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Improve the JavaScript bindings of DatasetDOMStringMap
https://bugs.webkit.org/show_bug.cgi?id=127971

Unriewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-01

  • dom/DatasetDOMStringMap.cpp:
  • dom/DatasetDOMStringMap.h:

Follow up for r163239. Darin pointed out the #includes are wrong.

4:10 PM Changeset in webkit [163250] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Text interaction assistant is not deleted when dismissing the keyboard on iPad.
https://bugs.webkit.org/show_bug.cgi?id=128034
<rdar://problem/15915695>

Reviewed by Dan Bernstein.

In iPhone mode, tapping on 'Done' in the accessory view
calls the delegate accessoryDone where we correctly blur
the assisted node and tear down the text interaction assistant.
The code path for the keyboard in iPad mode is different,
all we get is resignFirstResponder.
The fix is just to move the blurring in resignFirstResponder
and it works for both iPhone and iPad.

  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView resignFirstResponder]):
(-[WKInteractionView accessoryDone]):

1:00 PM Changeset in webkit [163249] by beidson@apple.com
  • 13 edits in trunk/Source

IDB: Implement IDBObjectStore.delete()
https://bugs.webkit.org/show_bug.cgi?id=127880

Reviewed by Sam Weinig.

Source/WebCore:

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::compare): Make this const.

  • Modules/indexeddb/IDBKeyData.h:
  • Modules/indexeddb/IDBKeyRangeData.cpp:

(WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not

the key range is known to represent precisely one key.

  • Modules/indexeddb/IDBKeyRangeData.h:
  • WebCore.exp.in:

Source/WebKit2:

Implementing IDBObjectStore.delete() involves filling in the already-stubbed deleteRange() method.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Call through to the backing store.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange): Call deleteRecord on each key represented

by the passed-in keyRange. This involves collecting each key using a cursor.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Delete an individual record from the

object store and all associated indexes.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Teach the SQLiteIDBCursor to remember if it ended in an error condition:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
(WebKit::SQLiteIDBCursor::advanceOnce):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:

(WebKit::SQLiteIDBCursor::didError):

12:37 PM Changeset in webkit [163248] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
https://bugs.webkit.org/show_bug.cgi?id=128048

Reviewed by Sam Weinig.

Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.

  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
Initialize lastCharacterWasSpace to true to match the previous behavior.

(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
Ditto.

(WebCore::processRenderSVGInlineText):
Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.

(WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
This now takes a bool reference instead.

  • rendering/svg/SVGTextLayoutAttributesBuilder.h:
12:29 PM Changeset in webkit [163247] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Saying "jitType() == JITCode::DFGJIT" is almost never correct.
<http://webkit.org/b/128045>

Reviewed by Filip Pizlo.

JITCode::isOptimizingJIT(jitType()) is the right way to say it.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::addBreakpoint):
(JSC::CodeBlock::setSteppingMode):

  • runtime/VM.cpp:

(JSC::SetEnabledProfilerFunctor::operator()):

11:11 AM Changeset in webkit [163246] by beidson@apple.com
  • 5 edits in trunk/Source/WebKit2

IDB: Index reading
<rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868

Reviewed by Jer Noble.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Using an index cursor, read a value.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
11:04 AM Changeset in webkit [163245] by beidson@apple.com
  • 4 edits in trunk/Source

IDB: Index cursor complete advance() and iterate() support
<rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870

Reviewed by Dan Bernstein.

Source/WebCore:

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::advanceOnce): Look up the found record value from the

object store records based on the key we found from the index.

10:14 AM Changeset in webkit [163244] by ap@apple.com
  • 23 edits in trunk

Update WebCrypto JWK mapping to use key_ops
https://bugs.webkit.org/show_bug.cgi?id=127609

Reviewed by Sam Weinig.

Source/WebCore:

Updated JWK support ot match current editor draft.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
(WebCore::tryJWKKeyOpsValue):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
these things are now specced.
(WebCore::addToJSON): Made static functions file static, there is no reason for
them to be class members.
(WebCore::buildJSONForOctetSequence):
(WebCore::buildJSONForRSAComponents):
(WebCore::addBoolToJSON):
(WebCore::addJWKAlgorithmToJSON):
(WebCore::addUsagesToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • crypto/mac/CryptoAlgorithmAES_KWMac.cpp:

(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
Check for length, so that we don't fail silently.

LayoutTests:

  • crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/aes-kw-wrap-unwrap-aes.html:

Removed a subtest for wrapping JWK. That doesn't really work per the spec, because
JWK is arbitatry length, and AES-KW requires 8*n bytes.

  • crypto/subtle/aes-export-key-expected.txt:
  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/hmac-export-key-expected.txt:
  • crypto/subtle/hmac-export-key.html:
  • crypto/subtle/jwk-export-use-values-expected.txt:
  • crypto/subtle/jwk-export-use-values.html:
  • crypto/subtle/jwk-import-use-values-expected.txt:
  • crypto/subtle/jwk-import-use-values.html:
  • crypto/subtle/rsa-export-key-expected.txt:
  • crypto/subtle/rsa-export-key.html:
  • crypto/subtle/rsa-export-private-key-expected.txt:
  • crypto/subtle/rsa-export-private-key.html:
  • crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
  • crypto/subtle/rsa-oaep-key-manipulation.html:
  • crypto/subtle/rsa-postMessage-expected.txt:
  • crypto/subtle/rsa-postMessage.html:

Updated for the fix.

9:31 AM Changeset in webkit [163243] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Add webView:didFailNavigation:withError: delegate method
https://bugs.webkit.org/show_bug.cgi?id=128022

Reviewed by Darin Adler.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didFailLoadWithErrorForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFailLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailLoad):

8:32 AM Changeset in webkit [163242] by ddkilzer@apple.com
  • 14 edits in trunk/Source/WebCore

Add security-checked casts for all WebCore::CachedResource subclasses
<http://webkit.org/b/127988>

Reviewed by Darin Adler.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):

  • Switch from static_cast<>() to security-checked cast.
  • loader/cache/CachedCSSStyleSheet.h:

(WebCore::toCachedCSSStyleSheet): Add.

  • loader/cache/CachedFont.h:

(WebCore::toCachedFont): Add.

  • loader/cache/CachedImage.h: Make CachedImageManual final.
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::CachedRawResource): Add assert that
only MainResource or RawResource types are used to construct a
CachedRawResource. This may be a security issue depending on
what code exists that uses the type() value to cast to a
CachedResource subclass.
(WebCore::CachedRawResource::switchClientsToRevalidatedResource):
Switch from static_cast<>() to toCachedRawResource().

  • loader/cache/CachedRawResource.h:

(WebCore::toCachedRawResource): Add.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::isMainOrRawResource): Add. A
CachedRawResource could be either a MainResource or a
RawResource. Currently only used in assertions.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestMainResource):

  • Switch from static_cast<>() to security-checked cast.
  • loader/cache/CachedSVGDocument.h:

(WebCore::toCachedSVGDocument): Add.

  • loader/cache/CachedScript.h:

(WebCore::toCachedScript): Add.

  • loader/cache/CachedTextTrack.h:

(WebCore::toCachedTextTrack): Add.

  • loader/cache/CachedXSLStyleSheet.h:

(WebCore::toCachedXSLStyleSheet): Add.

7:30 AM Changeset in webkit [163241] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION (r163027?): CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.JavaScriptCore: JSC::ArrayProfile::computeUpdatedPrediction + 4
https://bugs.webkit.org/show_bug.cgi?id=128037

Reviewed by Mark Lam.

op_call_varargs ops now needs an ArrayProfile since DFG inlines these since
change set r162739.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCallVarargs):

7:15 AM Changeset in webkit [163240] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fixed GTK+ CMake build after r162922.

  • PlatformGTK.cmake: Removed SoupURIUtils.cpp from the

compilation.

12:10 AM Changeset in webkit [163239] by benjamin@webkit.org
  • 6 edits
    2 adds in trunk

Improve the JavaScript bindings of DatasetDOMStringMap
https://bugs.webkit.org/show_bug.cgi?id=127971

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

Source/WebCore:

Instead of querying contains() followed by item(), just get the item
at once in the custom binding.

Test: fast/dom/dataset-name-getter-properties.html

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):

  • dom/DOMStringMap.idl:
  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::item):

  • dom/DatasetDOMStringMap.h:

LayoutTests:

  • fast/dom/dataset-name-getter-properties-expected.txt: Added.
  • fast/dom/dataset-name-getter-properties.html: Added.
12:05 AM Changeset in webkit [163238] by benjamin@webkit.org
  • 9 edits in trunk

Remove LEGACY_VIEWPORT_ADAPTION
https://bugs.webkit.org/show_bug.cgi?id=128028

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-31
Reviewed by Anders Carlsson.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/WebCore:

The code is incorrect and was only supported by Nix.

  • dom/Document.cpp:

(WebCore::Document::childrenChanged):

  • dom/ViewportArguments.h:
  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::process):

Source/WTF:

  • wtf/FeatureDefines.h:

Jan 31, 2014:

11:04 PM Changeset in webkit [163237] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

IDB: Handle "nextunique" and "prevunique" cursors, and handle "advance()" correctly
https://bugs.webkit.org/show_bug.cgi?id=128040

Reviewed by Jer Noble.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::advance): Entry point for advancing by a number of steps,

calls either advanceUnique or advanceOnce the appropriate number of times.

(WebKit::SQLiteIDBCursor::advanceUnique): Call advanceOnce until the key has changed.
(WebKit::SQLiteIDBCursor::advanceOnce):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
10:40 PM Changeset in webkit [163236] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed. Fixing the GTK build after r163232.

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::collapseSelection): Add an additional FrameSelection::selection() call.

9:16 PM Changeset in webkit [163235] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.

  • WebCore.exp.in:
9:01 PM Changeset in webkit [163234] by beidson@apple.com
  • 28 edits in trunk/Source

IDB: Index cursors use wrong deserialization for the retrieved value
https://bugs.webkit.org/show_bug.cgi?id=128035

Reviewed by Dan Bernstein.

Source/WebCore:

For the cursor operations, add an IDBKey value result in the callbacks.
If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.

Change some of the onSuccess() callback formats:

  • Modules/indexeddb/IDBCallbacks.h:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value

when choosed what to convert to the ScriptValue.

  • Modules/indexeddb/IDBRequest.h:

Let the IDBCursorBackend hold both a value buffer and a value key:

  • Modules/indexeddb/IDBCursorBackend.cpp:

(WebCore::IDBCursorBackend::updateCursorData):
(WebCore::IDBCursorBackend::clear):

  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::valueBuffer):
(WebCore::IDBCursorBackend::valueKey):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp:

(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::OpenCursorOperation::perform):

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Add IDBKey/IDBKeyData debug logging utilities:

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::loggingString):

  • Modules/indexeddb/IDBKey.h:
  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString):

  • Modules/indexeddb/IDBKeyData.h:
  • WebCore.exp.in:

Source/WebKit2:

Most of this is updating everything related to the cursor operation callbacks
to support returning an IDBKey value in addition to a SharedBuffer value.

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::openCursor):
(WebKit::DatabaseProcessIDBConnection::cursorAdvance):
(WebKit::DatabaseProcessIDBConnection::cursorIterate):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
(WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::advance):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:

(WebKit::SQLiteIDBCursor::currentValueBuffer):
(WebKit::SQLiteIDBCursor::currentValueKey):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::didOpenCursor):
(WebKit::WebIDBServerConnection::didAdvanceCursor):
(WebKit::WebIDBServerConnection::didIterateCursor):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
8:58 PM Changeset in webkit [163233] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
can trigger a layout synchronously inside paintCaret. This matches the code before r163232.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

8:10 PM Changeset in webkit [163232] by rniwa@webkit.org
  • 39 edits in trunk

Remove inline member functions of FrameSelection that access m_selection
https://bugs.webkit.org/show_bug.cgi?id=127986

Reviewed by Enrica Casucci.

Source/WebCore:

Removed numerous inline member functions of FrameSelection that depend on m_selection.

This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
which in turn, allows us to update its call sites to use either validated selection that editing
and rendering code uses or invalidated selection that's exposed to JavaScript.

  • WebCore.exp.in:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
(-[WebAccessibilityObjectWrapper _convertToDOMRange:]):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):

  • dom/Element.cpp:

(WebCore::Element::updateFocusAppearance):

  • editing/Editor.cpp:

(WebCore::Editor::canEdit):
(WebCore::Editor::canEditRichly):
(WebCore::Editor::canDHTMLCut):
(WebCore::Editor::canDHTMLCopy):
(WebCore::Editor::canCopy):
(WebCore::Editor::canDelete):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::tryDHTMLCopy):
(WebCore::Editor::tryDHTMLCut):
(WebCore::Editor::applyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::paste):
(WebCore::Editor::setComposition):
(WebCore::Editor::guessesForMisspelledOrUngrammatical):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::getCompositionSelection):
(WebCore::Editor::selectionStartHasMarkerFor):

  • editing/EditorCommand.cpp:

(WebCore::expandSelectionToGranularity):
(WebCore::enabledInRichlyEditableText):
(WebCore::enabledRangeInEditableText):
(WebCore::enabledRangeInRichlyEditableText):

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::updateCaretRect):
(WebCore::FrameSelection::recomputeCaretRect):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::updateAppearance):
(WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
(WebCore::FrameSelection::setFocusedElementIfNeeded):
(WebCore::FrameSelection::currentForm):
(WebCore::FrameSelection::revealSelection):
(WebCore::FrameSelection::setSelectionFromNone):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::isCaretOrRange):

  • editing/RemoveFormatCommand.cpp:

(WebCore::RemoveFormatCommand::doApply):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::isInPasswordField):

  • editing/VisibleSelection.h:
  • editing/mac/EditorMac.mm:

(WebCore::Editor::canCopyExcludingStandaloneImages):
(WebCore::Editor::readSelectionFromPasteboard):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::setActive):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::computeSelectionStart):
(WebCore::HTMLTextFormControlElement::computeSelectionEnd):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):

  • page/DragController.cpp:

(WebCore::DragController::dragIsMove):
(WebCore::setSelectionToDragCaret):
(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::startDrag):

  • page/EventHandler.cpp:

(WebCore::nodeIsNotBeingEdited):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::handleDrag):

  • page/FocusController.cpp:

(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::clearSelectionIfNeeded):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::caretRect):
(WebCore::Frame::rectForScrollToVisible):
(WebCore::Frame::styleAtSelectionStart):
(WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
(WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
(WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
(WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
(WebCore::Frame::interpretationsForCurrentRoot):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::selectedRange):

  • ewk/ewk_frame.cpp:

(ewk_frame_text_selection_type_get):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::selectedRange):

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::collapseSelection):

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame extendSelection:]):
(-[WebFrame ensureRangedSelectionContainsInitialStartPoint:initialEndPoint:]):
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):
(-[WebFrame expandSelectionToSentence]):
(-[WebFrame setBaseWritingDirection:]):
(-[WebFrame smartExtendRangedSelection:]):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame hasEditableSelection]):
(-[WebFrame selectionAffinity]):
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame hasRichlyEditableSelection]):
(-[WebFrame focusedNodeHasContent]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView readSelectionFromPasteboard:]):
(-[WebHTMLView _hasSelection]):
(-[WebHTMLView _hasSelectionOrInsertionPoint]):
(-[WebHTMLView _hasInsertionPoint]):
(-[WebHTMLView _isEditable]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView maintainsInactiveSelection]):
(isTextInput):
(isInPasswordField):

  • WebView/WebView.mm:

(-[WebView selectionAffinity]):

Source/WebKit2:

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::collapseSelection):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::updateSelectionWithTouches):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::getAttributedSubstringFromRange):

Tools:

  • TestWebKitAPI/Configurations/Base.xcconfig:
7:57 PM Changeset in webkit [163231] by Simon Fraser
  • 28 edits in trunk/Source

Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
https://bugs.webkit.org/show_bug.cgi?id=128032

Reviewed by Tim Horton.

Pass the viewport rect and scroll offset independently into the ScrollingTree
via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
always correspond to the viewport rect.

Make the viewport rect and the scroll origin be float-based, since on
Retina screens and with zooming these can both be non-integral.

Source/WebCore:

No behavior change.

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • page/scrolling/AsyncScrollingCoordinator.h:

(WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
(WebCore::ScrollingStateScrollingNode::setScrollPosition):
(WebCore::ScrollingStateScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::commitNewTreeState):
(WebCore::ScrollingTree::mainFrameScrollPosition):
(WebCore::ScrollingTree::setMainFrameScrollPosition):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::scrollPosition):
(WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/ios/ScrollingTreeIOS.cpp:

(WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):

  • page/scrolling/ios/ScrollingTreeIOS.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):

  • page/scrolling/mac/ScrollingTreeFixedNode.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

  • page/scrolling/mac/ScrollingTreeStickyNode.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):

  • platform/graphics/FloatPoint.h:

(WebCore::FloatPoint::shrunkTo):

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):

  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):

  • UIProcess/Scrolling/RemoteScrollingTree.h:
6:59 PM Changeset in webkit [163230] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Crash when pinch-zooming on a page that is just a frameset
https://bugs.webkit.org/show_bug.cgi?id=127591
<rdar://problem/15898349>

Reviewed by Simon Fraser.

When we have no shadow layer, we crash in TiledCoreAnimationDrawingArea::adjustTransientZoom.
Fix this null deref; also, we always want a shadow layer, even if the page cannot be scrolled,
because it can be revealed by pinching out.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

6:47 PM Changeset in webkit [163229] by andersca@apple.com
  • 2 edits in trunk/Tools

Another attempt at fixing the build.

  • TestWebKitAPI/Configurations/Base.xcconfig:
6:42 PM Changeset in webkit [163228] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: fix build breakage.

Not reviewed.

  • interpreter/CallFrame.h:
5:59 PM Changeset in webkit [163227] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: Fix a merge problem to unbreak bots.

Not reviewed.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

5:40 PM Changeset in webkit [163226] by aestes@apple.com
  • 3 edits in trunk/Source/WebCore

[Cocoa] Add NEFilterSource support to ContentFilterMac
https://bugs.webkit.org/show_bug.cgi?id=127979

Reviewed by Sam Weinig.

Update ContentFilterMac to work with both WebFilterEvaluator and
NEFilterSource, if enabled.

  • platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform

conditionals, and forward-declare NEFilterSource.

  • platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK

has it; declared the class directly if not. Also soft-linked
NetworkExtension.framework.
(WebCore::ContentFilter::ContentFilter): Initialized
m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
m_platformContentFilter and m_neFilterSource objects if their
respective filters were enabled.
(WebCore::ContentFilter::isEnabled): Returned true if either filter is
enabled.
(WebCore::ContentFilter::addData): Added incoming data to each filter
that is enabled.
(WebCore::ContentFilter::finishedAddingData): Notified each enabled
filter that we are finished adding data.
(WebCore::ContentFilter::needsMoreData): Returned true if either filter
needs more data.
(WebCore::ContentFilter::didBlockData): Returned true if either filter
blocked data.
(WebCore::ContentFilter::getReplacementData): Returned
m_replacementData. Commented that this will currently return a null
string if NEFilterSource blocked the load.

5:37 PM Changeset in webkit [163225] by oliver@apple.com
  • 112 edits
    9 deletes in trunk

2014-01-31 Oliver Hunt <oliver@apple.com>

Rollout r163195 and related patches

5:28 PM Changeset in webkit [163224] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

DFG->FTL tier-up shouldn't assume that LoopHints stay at the tops of loops
https://bugs.webkit.org/show_bug.cgi?id=128030

Reviewed by Oliver Hunt.

Remove a bogus assertion. The only thing that matters is that the LoopHint had at one
point in time been at the top of a loop header, and that it is now at the top of a
basic block. But the basic block that it's at the top of now doesn't have to be the
same as the loop header that it once was the top of.

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):

  • tests/stress/tier-up-in-loop-with-cfg-simplification.js: Added.

(foo):

5:24 PM Changeset in webkit [163223] by mark.lam@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Avoid eagerly creating the JSActivation when the debugger is attached.
<https://webkit.org/b/127910>

Reviewed by Oliver Hunt.

Octane scores for this patch:

baseline w/o WebInspector: 11621
patched w/o WebInspector: 11801
baseline w/ WebInspector: 3295
patched w/ WebInspector: 7070 2.1x improvement

  1. Because debugger can potentially create a closure from any call frame, we need every function to allocate an activation register and check for the need to tear off the activation (if needed) on return.

However, we do not need to eagerly create the activation object.
This patch implements the optimization to defer creation of the
activation object until we actually need it i.e. when:

  1. We encounter a "eval", "with", or "catch" statement.
  2. We've paused in the debugger, and called DebuggerCallFrame::scope().
  1. The UnlinkedCodeBlock provides a needsFullScopeChain flag that is used to indicate whether the linked CodeBlock will need an activation object or not. Under normal circumstances, needsFullScopeChain and needsActivation are synonymous. However, with a debugger attached, we want the CodeBlock to always allocate an activationRegister even if it does not need a "full scope chain".

Hence, we apply the following definitions to the "flags":

  1. UnlinkedCodeBlock::needsFullScopeChain() - this flag indicates that the parser discovered JS artifacts (e.g. use of "eval", "with", etc.) that requires an activation.

BytecodeGenerator's destinationForAssignResult() and leftHandSideNeedsCopy()
checks needsFullScopeChain().

  1. UnlinkedCodeBlock::hasActivationRegister() - this flag indicates that an activation register was created for the UnlinkedCodeBlock either because it needsFullScopeChain() or because the debugger is attached.
  1. CodeBlock::needsActivation() reflects UnlinkedCodeBlock's hasActivationRegister().
  1. Introduced BytecodeGenerator::emitPushFunctionNameScope() and BytecodeGenerator::emitPushCatchScope() because the JSNameScope pushed for a function name cannot be popped unlike the JSNameScope pushed for a "catch". Hence, we have 2 functions to handle the 2 cases differently.
  1. Removed DebuggerCallFrame::evaluateWithCallFrame() and require that all debugger evaluations go through the DebuggerCallFrame::evaluate(). This ensures that debugger evaluations require a DebuggerCallFrame.

DebuggerCallFrame::evaluateWithCallFrame() was used previously because
we didn't want to instantiate a DebuggerCallFrame on every debug hook
callback. However, we now only call the debug hooks when needed, and
this no longer poses a performance problem.

In addition, when the debug hook does an eval to test a breakpoint
condition, it is incorrect to evaluate it without a DebuggerCallFrame
anyway.

  1. Added some utility functions to the CallFrame to make it easier to work with the activation register in the frame (if present). These utility functions should only be called if the CodeBlock::needsActivation() is true (which indicates the presence of the activation register). The utlity functions are:
  1. CallFrame::hasActivation()
    • checks if the frame's activation object has been created.
  1. CallFrame::activation()
    • returns the frame's activation object.
  1. CallFrame::uncheckedActivation()
    • returns the JSValue in the frame's activation register. May be null.
  1. CallFrame::setActivation()
    • sets the frame's activation object.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • added symbollic dumping of ResolveMode and ResolveType values for some bytecodes.

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::activationRegister):
(JSC::CodeBlock::uncheckedActivationRegister):
(JSC::CodeBlock::needsActivation):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::needsFullScopeChain):
(JSC::UnlinkedCodeBlock::hasActivationRegister):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolveCallee):
(JSC::BytecodeGenerator::createActivationIfNecessary):
(JSC::BytecodeGenerator::emitCallEval):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

  • debugger/Debugger.cpp:

(JSC::Debugger::hasBreakpoint):
(JSC::Debugger::pauseIfNeeded):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):

  • debugger/DebuggerCallFrame.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGGraph.h:
  • Removed an unused function DFGGraph::needsActivation().
  • interpreter/CallFrame.cpp:

(JSC::CallFrame::activation):
(JSC::CallFrame::setActivation):

  • interpreter/CallFrame.h:

(JSC::ExecState::hasActivation):
(JSC::ExecState::registers):

  • interpreter/CallFrameInlines.h:

(JSC::CallFrame::uncheckedActivation):

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):
(JSC::Interpreter::unwind):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSScope.cpp:
  • runtime/JSScope.h:

(JSC::resolveModeName):
(JSC::resolveTypeName):

  • utility functions for decoding names of the ResolveMode and ResolveType. These are used in CodeBlock::dumpBytecode().
5:14 PM Changeset in webkit [163222] by dbates@webkit.org
  • 2 edits in trunk/Tools

Attempt to fix Production Dashboard after <http://trac.webkit.org/changeset/163213>
(https://bugs.webkit.org/show_bug.cgi?id=127849)

Reviewed by David Farler.

Pass credentials when querying build bot iteration.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.update):
(BuildbotIteration.prototype.loadLayoutTestResults):

4:57 PM Changeset in webkit [163221] by andersca@apple.com
  • 2 edits in trunk/Tools

Fix iOS build.

  • TestWebKitAPI/Configurations/Base.xcconfig:
4:44 PM Changeset in webkit [163220] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update test results for a new DOM URL test (we now pass more).

  • fast/dom/DOMURL/invalid-url-getters-expected.txt:
4:36 PM Changeset in webkit [163219] by Lucas Forschler
  • 9 edits in tags/Safari-538.15/Source

Merged r163214. <rdar://problem/15939497>

4:34 PM Changeset in webkit [163218] by timothy_horton@apple.com
  • 20 edits in trunk/Source

[wk2] PlatformCALayerRemoteCustom doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=128025
<rdar://problem/15950271>

Reviewed by Simon Fraser.

  • Platform/mac/LayerHostingContext.h:
  • Platform/mac/LayerHostingContext.mm:

(WebKit::LayerHostingContext::createForPort):
(WebKit::LayerHostingContext::createForExternalHostingProcess):
Use the new macro name (in a lot of places).
Rename LayerHostingContext::createForWindowServer() to createForExternalHostingProcess().
Don't use WKCAContextMakeRemoteForWindowServer on iOS, just use the CAContext
SPI directly. We don't want our CAContext to be hit tested because it's purely
presentational.

  • UIProcess/API/ios/PageClientImplIOS.h:

iOS always hosts layers in an external process.

  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::updateLayerHostingContext):

  • Shared/LayerTreeContext.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::viewLayerHostingMode):

  • UIProcess/PageClient.h:

(WebKit::PageClient::viewLayerHostingMode):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::viewStateDidChange):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::NetscapePlugin):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::compositingRenderServerPort):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setLayerHostingMode):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
Use enum class for LayerHostingMode and rename the members to InProcess and OutOfProcess.

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView windowHostsLayersInWindowServer]):
Use the new macro name.

  • wtf/Platform.h:

Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING
and make it true on iOS.

4:24 PM Changeset in webkit [163217] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

Add session support to WebPlatformStrategies
https://bugs.webkit.org/show_bug.cgi?id=127926

Patch by Martin Hock <mhock@apple.com> on 2014-01-31
Reviewed by Alexey Proskuryakov.

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/SessionTracker.cpp:

(WebKit::storageSessionToID):
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::sessionID):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):

  • Shared/SessionTracker.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setSession):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setSessionID): Ensure the storage session exists.

  • WebProcess/WebPage/WebPage.h:
3:57 PM Changeset in webkit [163216] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Even when in fixed layout mode, some platforms need to do layout after a viewport change
https://bugs.webkit.org/show_bug.cgi?id=128003

Reviewed by Andreas Kling.

Re-land 163182 with a less aggresive check in visibleContentsResized() for
needing to layout.

iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
elements relative to a variable viewport. This code assumed that fixed layout
implies a fixed viewport.

Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.

Also removed RenderView::hasCustomFixedPosition() which is no longer used.

  • page/FrameView.cpp:

(WebCore::FrameView::shouldLayoutAfterViewportChange):
(WebCore::FrameView::visibleContentsResized):

  • page/FrameView.h:
  • rendering/RenderView.cpp:
  • rendering/RenderView.h:
3:57 PM Changeset in webkit [163215] by Simon Fraser
  • 3 edits in trunk/Tools

WebKitTestRunner project doesn't show Mac as a valid destination architecture.

Make sure that SUPPORTED_PLATFORMS is defined in Base.xcconfig.

Also add BaseTarget.xcconfig to the project.

  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3:53 PM Changeset in webkit [163214] by msaboff@apple.com
  • 9 edits in trunk/Source

REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au
https://bugs.webkit.org/show_bug.cgi?id=128017

Reviewed by Filip Pizlo.

Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit
to JSLock and JSLock::DropAllLocks. The saved data is now stored in per-thread in
WTFThreadData.

Source/JavaScriptCore:

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:

Source/WTF:

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::savedStackPointerAtVMEntry):
(WTF::WTFThreadData::setSavedStackPointerAtVMEntry):
(WTF::WTFThreadData::savedLastStackTop):
(WTF::WTFThreadData::setSavedLastStackTop):
(WTF::WTFThreadData::savedReservedZoneSize):
(WTF::WTFThreadData::setSavedReservedZoneSize):

3:31 PM Changeset in webkit [163213] by dbates@webkit.org
  • 8 edits in trunk/Tools

WebKit Bot Watcher's Dashboard: Access restricted queue should only prompt for HTTP credentials once per page load
https://bugs.webkit.org/show_bug.cgi?id=127849

Reviewed by Alexey Proskuryakov.

Currently whenever the dashboard updates the status of a queue whose Buildbot requires authentication
it will cause a browser to prompt for credentials once per update until valid credentials are provided.
Instead we should keep track of Buildbots that respond with an HTTP 401 Unauthorized status code to avoid
subsequently querying them and hence cause a browser to prompt for credentials. Together with an optional
hint provided when instantiating a Buildbot object as to whether it requires authentication, we can make
the dashboard prompt for HTTP credentials exactly once per page load for each queue whose associated
Buildbot requires authentication.

Queues whose Buildbot wasn't authenticated will show in the dashboard as "unauthorized". Clicking on
this status message will cause the browser to prompt for credentials.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot): Initialize instance variable authenticationStatus to Buildbot.AuthenticationStatus.Unauthenticated.
(Buildbot.prototype.get needsAuthentication): Added.
(Buildbot.prototype.get authenticationStatus): Added.
(Buildbot.prototype.get isAuthenticated): Added.
(Buildbot.prototype.set isAuthenticated): Added.
(Buildbot.prototype.updateQueues): Added.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Modified to call
BuildbotQueueView.prototype._appendUnauthorizedLineView() to update the view and show status of the queue as
"unauthorized" if the Buildbot associated with the queue is either unauthenticated or was given invalid credentials.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.update): Return immediately if the associated Buildbot requires authentication.
Additionally, if the JSON load fails with an HTTP 401 Unauthorized access error (say, credentials were
invalidated) then update the authentication status of the Buildbot to avoid subsequently prompting a
person for credentials the next time the queue update timer fires.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView): Register as a listener for event BuildbotQueue.Event.UnauthorizedAccess on each queue
so that the view can be updated to show status "unauthorized".
(BuildbotQueueView.prototype._appendUnauthorizedLineView): Added.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js: Added new status, StatusLineView.Status.Unauthorized.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.unauthorized .bubble): Added.
(.status-line.unauthorized .bubble.pictogram): Added.
(.status-line.unauthorized .message): Added.

3:28 PM Changeset in webkit [163212] by ap@apple.com
  • 12 edits
    1 copy in trunk/Source

Expose creation and modification times for LocalStorage
https://bugs.webkit.org/show_bug.cgi?id=128018

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Export FileSystem functions to get file times.

Source/WebKit2:

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetOriginKey):
(WKKeyValueStorageManagerGetCreationTimeKey):
(WKKeyValueStorageManagerGetModificationTimeKey):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):

  • UIProcess/API/C/WKKeyValueStorageManager.h:
  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::origins):
(WebKit::LocalStorageDatabaseTracker::details):

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::getStorageDetailsByOrigin):
(WebKit::StorageManager::getStorageDetailsByOriginInternal):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::originKey):
(WebKit::WebKeyValueStorageManager::creationTimeKey):
(WebKit::WebKeyValueStorageManager::modificationTimeKey):
(WebKit::didGetKeyValueStorageOrigins):
(WebKit::didGetStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):

  • UIProcess/WebKeyValueStorageManager.h:
  • WebKit2.xcodeproj/project.pbxproj:
3:27 PM Changeset in webkit [163211] by Lucas Forschler
  • 2 edits in tags/Safari-538.15/Source/WebKit2

Merged r163192. <rdar://problem/15959481>

3:18 PM Changeset in webkit [163210] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't need a JSNameScope for the callee name just for the debugger.
<https://webkit.org/b/128024>

Reviewed by Geoffrey Garen.

Currently, in the bytecode for a function, we push a JSNamedScope for
the name of the function when a debugger is attached. The name scope for
the function name is only needed for evals which can redefine the name
to resolve to something else, and can later delete the redefined name
which should revert the resolution of the name to the original function.
The debugger does not need this feature because it declares all new vars
in a temporary nested scope. Hence, we can remove the presence of the
debugger as a criteria for pushing the JSNameScope.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::resolveCallee):
(JSC::BytecodeGenerator::addCallee):

3:12 PM Changeset in webkit [163209] by Lucas Forschler
  • 2 edits in tags/Safari-538.15/Source/WebCore

Merged r163191. <rdar://problem/15957993>

3:06 PM Changeset in webkit [163208] by mjs@apple.com
  • 16 edits
    29 adds in trunk

Implement (most of) URL API
https://bugs.webkit.org/show_bug.cgi?id=127795

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: fast/dom/DOMURL/get-href-attribute-port.html

fast/dom/DOMURL/invalid-url-getters.html
fast/dom/DOMURL/set-href-attribute-hash.html
fast/dom/DOMURL/set-href-attribute-host.html
fast/dom/DOMURL/set-href-attribute-hostname.html
fast/dom/DOMURL/set-href-attribute-pathname.html
fast/dom/DOMURL/set-href-attribute-port.html
fast/dom/DOMURL/set-href-attribute-protocol.html
fast/dom/DOMURL/set-href-attribute-search.html
fast/dom/DOMURL/set-href-attribute-whitespace.html
fast/dom/DOMURL/url-constructor.html
fast/dom/DOMURL/url-origin.html
fast/dom/DOMURL/url-password.html
fast/dom/DOMURL/url-username.html

  • CMakeLists.txt: Update for new IDL file.
  • DerivedSources.make: ditto
  • GNUmakefile.list.am: ditto
  • html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from

HTMLAnchorElement mostly
(WebCore::DOMURL::DOMURL):
(WebCore::DOMURL::href):
(WebCore::DOMURL::setHref):
(WebCore::DOMURL::toString):
(WebCore::DOMURL::origin):
(WebCore::DOMURL::protocol):
(WebCore::DOMURL::setProtocol):
(WebCore::DOMURL::username):
(WebCore::DOMURL::setUsername):
(WebCore::DOMURL::password):
(WebCore::DOMURL::setPassword):
(WebCore::DOMURL::host):
(WebCore::parsePortFromStringPosition):
(WebCore::DOMURL::setHost):
(WebCore::DOMURL::hostname):
(WebCore::DOMURL::setHostname):
(WebCore::DOMURL::port):
(WebCore::DOMURL::setPort):
(WebCore::DOMURL::pathname):
(WebCore::DOMURL::setPathname):
(WebCore::DOMURL::search):
(WebCore::DOMURL::setSearch):
(WebCore::DOMURL::hash):
(WebCore::DOMURL::setHash):

  • html/DOMURL.h:

(WebCore::DOMURL::create):

  • html/DOMURL.idl: Update for new methods.
  • html/URLUtils.idl: Added. New IDL file that contains most of the interface.

LayoutTests:

Add a bunch of new tests for URL(), copied from HTMLAnchorElement API tests:

  • fast/dom/DOMURL/get-href-attribute-port-expected.txt: Added.
  • fast/dom/DOMURL/get-href-attribute-port.html: Added.
  • fast/dom/DOMURL/resources: Added.
  • fast/dom/DOMURL/resources/iframe-with-anchor.html: Added.
  • fast/dom/DOMURL/set-href-attribute-hash-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-hash.html: Added.
  • fast/dom/DOMURL/set-href-attribute-host-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-host.html: Added.
  • fast/dom/DOMURL/set-href-attribute-hostname-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-hostname.html: Added.
  • fast/dom/DOMURL/set-href-attribute-pathname-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-pathname.html: Added.
  • fast/dom/DOMURL/set-href-attribute-port-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-port.html: Added.
  • fast/dom/DOMURL/set-href-attribute-protocol-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-protocol.html: Added.
  • fast/dom/DOMURL/set-href-attribute-search-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-search.html: Added.
  • fast/dom/DOMURL/set-href-attribute-whitespace-expected.txt: Added.
  • fast/dom/DOMURL/set-href-attribute-whitespace.html: Added.
  • fast/dom/DOMURL/url-origin-expected.txt: Added.
  • fast/dom/DOMURL/url-origin.html: Added.

Brand new tests for username and password properties, accessors on invalid URLS,
and different constructor modes:

  • fast/dom/DOMURL/invalid-url-getters-expected.txt: Added.
  • fast/dom/DOMURL/invalid-url-getters.html: Added.
  • fast/dom/DOMURL/url-constructor-expected.txt: Added.
  • fast/dom/DOMURL/url-constructor.html: Added.
  • fast/dom/DOMURL/url-password-expected.txt: Added.
  • fast/dom/DOMURL/url-password.html: Added.
  • fast/dom/DOMURL/url-username-expected.txt: Added.
  • fast/dom/DOMURL/url-username.html: Added.

Update tests and results for the fact that URL constructor takes arguments.

  • fast/dom/DOMURL/check-instanceof-domurl-functions.html:
  • fast/dom/constructed-objects-prototypes-expected.txt:
  • fast/dom/script-tests/constructed-objects-prototypes.js:
  • js/dom/constructor-length.html:
  • platform/efl/js/dom/constructor-length-expected.txt:
  • platform/gtk-wk2/js/dom/constructor-length-expected.txt:
  • platform/gtk/js/dom/constructor-length-expected.txt:
  • platform/mac/js/dom/constructor-length-expected.txt:
2:59 PM Changeset in webkit [163207] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix.

  • ftl/FTLOSREntry.cpp:
2:57 PM Changeset in webkit [163206] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, really make --copy-libraries a no-able option.

  • Scripts/build-jsc:
2:44 PM Changeset in webkit [163205] by Bem Jones-Bey
  • 5 edits
    6 adds in trunk

Create clipping path from <box> value
https://bugs.webkit.org/show_bug.cgi?id=126205

Reviewed by Dirk Schulze.

Source/WebCore:

This implements <box> values for border, content, and padding boxes.
Since margin box is not implemented as a reference box, this does not
implement margin box value.

Tests: css3/masking/clip-path-border-box.html

css3/masking/clip-path-content-box.html
css3/masking/clip-path-padding-box.html

  • rendering/ClipPathOperation.h:

(WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.

  • rendering/RenderLayer.cpp:

(WebCore::computeReferenceBox): Pull out reference box calculation.
(WebCore::RenderLayer::setupClipPath): Add support for <box> values.

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.

LayoutTests:

Tests for border, padding and content box values. Margin is
unimplemented as of yet.

  • css3/masking/clip-path-border-box-expected.html: Added.
  • css3/masking/clip-path-border-box.html: Added.
  • css3/masking/clip-path-content-box-expected.html: Added.
  • css3/masking/clip-path-content-box.html: Added.
  • css3/masking/clip-path-padding-box-expected.html: Added.
  • css3/masking/clip-path-padding-box.html: Added.
2:35 PM Changeset in webkit [163204] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix windows

2:26 PM Changeset in webkit [163203] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, really add the --copy-libraries option.

  • Scripts/build-jsc:
2:23 PM Changeset in webkit [163202] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix the script for older Rubies.

  • Scripts/export-llvm-build:
2:21 PM Changeset in webkit [163201] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Add webView:didReceiveServerRedirectForProvisionalNavigation:
https://bugs.webkit.org/show_bug.cgi?id=128016

Reviewed by Dan Bernstein.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2:18 PM Changeset in webkit [163200] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

IDB: Index cursor preliminary support
https://bugs.webkit.org/show_bug.cgi?id=127869

Reviewed by Sam Weinig.

This gets index cursors running and - for some situations - returning results.

Bug 127870 will make them fully functional.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::getIndexStatement): Using the key and sorting parameters, find the appropriate SQL

statement to run an index cursor.

(WebKit::getObjectStoreStatement): Same, but for object store cursors.
(WebKit::SQLiteIDBCursor::establishStatement): Depending on the type of cursor, choose the

correct SQL query and id to use.

(WebKit::SQLiteIDBCursor::createSQLiteStatement): With the passed in SQL and id, handle both

index and object store cursors.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
2:10 PM Changeset in webkit [163199] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix 32bit.

1:59 PM Changeset in webkit [163198] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Having a custom LLVM checkout should always override all other ways of getting LLVM
https://bugs.webkit.org/show_bug.cgi?id=128015

Reviewed by Oliver Hunt.

  • Scripts/copy-webkitlibraries-to-product-directory:
1:59 PM Changeset in webkit [163197] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add options to force debugger / profiler bytecode generation.
<https://webkit.org/b/128014>

Reviewed by Oliver Hunt.

Add Options::forceDebuggerBytecodeGeneration() and
Options::forceProfilerBytecodeGeneration(). These options make it more
convenient to do correctness testing when debugger / profiler bytecodes
are generated.

These options are disabled by default.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • runtime/Options.h:
1:56 PM Changeset in webkit [163196] by dbates@webkit.org
  • 3 edits in trunk/Tools

WebKit Bot Watcher's Dashboard: Teach JSON.load() to take optional failure callback function
https://bugs.webkit.org/show_bug.cgi?id=127924

Reviewed by Alexey Proskuryakov.

Towards providing better error handling when a JSON load fails with a non-200 HTTP status
code, we should teach JSON.load() to take an optional failure callback function and invoke
it when either a load error or a JSON parsing error occurs.

As a side benefit of having a failure callback function a caller can separate the error handling
logic for a JSON load or parse error from the logic of handling a successful parsing of JSON content.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.loadLayoutTestResults): Move JSON parser error logic into failure
callback function.

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

(JSON.load): Modified to take optional failure callback function called failureCallback.

1:34 PM Changeset in webkit [163195] by oliver@apple.com
  • 111 edits
    2 copies
    8 adds in trunk

Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

CMake updates

  • Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory. This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:

  • Each function is compiled independently of the others, and those implementations cannot currently capture all global properties (as that could be potentially unsafe). If a function does capture a global we will deliberately crash.
  • For those "global" properties that we do want access to, we use the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers are private names, and behave just like regular properties, only without the risk of adulteration. Again, in the @Object case, we explicitly duplicate the ObjectConstructor reference on the GlobalObject so that we have guaranteed access to the original version of the constructor.
  • call, apply, eval, and Function are all rejected identifiers, again to prevent anything from accidentally using an adulterated object. Instead @call and @apply are available, and happily they completely drop the neq_ptr instruction as they're defined as always being the original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

This did require breaking out a JSStringInlines header, and required
fixing a few objects that were trying to using PropertyName::publicName
rather than PropertyName::uid.

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/Array.prototype.js:

(every):

  • builtins/BuiltinExecutables.cpp: Added.

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • builtins/BuiltinExecutables.h:

(JSC::BuiltinExecutables::create):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • create_hash_table:
  • dfg/DFGOperations.cpp:
  • generate-js-builtins: Added.

(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):

  • interpreter/Interpreter.cpp:
  • interpreter/ProtoCallFrame.cpp:
  • jit/JITOpcodes.cpp:
  • jit/JITOpcodes32_64.cpp:
  • jit/JITOperations.cpp:
  • jit/JITPropertyAccess.cpp:
  • jit/JITPropertyAccess32_64.cpp:
  • jsc.cpp:
  • llint/LLIntSlowPaths.cpp:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeFunctionCallNode):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::Lexer):
(JSC::isSafeIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:

(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):

  • parser/Nodes.cpp:

(JSC::ProgramNode::setClosedVariables):

  • parser/Nodes.h:

(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):

  • parser/ParserModes.h:
  • parser/ParserTokens.h:
  • runtime/ArgList.cpp:
  • runtime/Arguments.cpp:
  • runtime/Arguments.h:
  • runtime/ArgumentsIteratorConstructor.cpp:
  • runtime/ArgumentsIteratorPrototype.cpp:
  • runtime/ArrayPrototype.cpp:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):

  • runtime/CommonIdentifiers.h:
  • runtime/CommonSlowPaths.cpp:
  • runtime/CommonSlowPathsExceptions.cpp:
  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):

  • runtime/Executable.h:

(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):

  • runtime/JSArgumentsIterator.cpp:
  • runtime/JSArray.cpp:
  • runtime/JSArrayIterator.cpp:
  • runtime/JSCJSValue.cpp:
  • runtime/JSCellInlines.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSFunction.h:
  • runtime/JSGenericTypedArrayViewConstructorInlines.h:
  • runtime/JSGenericTypedArrayViewInlines.h:
  • runtime/JSGenericTypedArrayViewPrototypeInlines.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):

  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):

  • runtime/JSObject.h:
  • runtime/JSPropertyNameIterator.cpp:
  • runtime/JSPropertyNameIterator.h:
  • runtime/JSString.h:
  • runtime/JSStringInlines.h: Added.

(JSC::JSString::getStringPropertySlot):
(JSC::inlineJSValueNotStringtoString):
(JSC::JSValue::toWTFStringInline):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

Don't report private names.

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NativeErrorConstructor.h:
  • runtime/PropertySlot.h:
  • runtime/RegExpPrototype.cpp:
  • runtime/SetConstructor.cpp:
  • runtime/StringObject.cpp:
  • runtime/Structure.cpp:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::builtinExecutables):

Source/WebCore:

Updating for the newly required headers.

Test: js/regress/array-prototype-every.html

  • ForwardingHeaders/runtime/JSStringInlines.h: Added.
  • Modules/plugins/QuickTimePluginReplacement.cpp:
  • bindings/js/JSIDBAnyCustom.cpp:
  • bindings/js/JSIDBDatabaseCustom.cpp:
  • bindings/js/JSIDBObjectStoreCustom.cpp:

Source/WebKit:

CMake updates

  • CMakeLists.txt:

Source/WebKit2:

CMake updates

  • CMakeLists.txt:

Tools:

CMake updates

  • DumpRenderTree/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

  • js/array-every-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/regress/array-prototype-every-expected.txt: Added.
  • js/regress/array-prototype-every.html: Added.
  • js/regress/script-tests/array-prototype-every.js: Added.

(test1):
(test2):
(test3):

1:27 PM Changeset in webkit [163194] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Build fix.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):

1:26 PM Changeset in webkit [163193] by fpizlo@apple.com
  • 4 edits in trunk/Tools

Allow more flexibility for copy-webkitlibraries-to-product-directory
https://bugs.webkit.org/show_bug.cgi?id=128010

Reviewed by Oliver Hunt.

It's now the case that copy-webkitlibraries-to-product-directory does nothing by
default, but you can tell it to either copy WebKitSystemInterface (--wksi) or LLVM
(--llvm). You can also tell it where to get LLVM from.

  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/copy-webkitlibraries-to-product-directory:
1:17 PM Changeset in webkit [163192] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 View Gestures (Swipe): Crashes swiping around a Google Docs spreadsheet
https://bugs.webkit.org/show_bug.cgi?id=128013
<rdar://problem/15959481>

Reviewed by Anders Carlsson.

  • UIProcess/mac/ViewGestureController.mm:

(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
We should never (currently) start a swipe from a non-begin-phase wheel event.
We already check this in handleScrollWheelEvent, but can still get
non-begin-phase events in wheelEventWasNotHandled.

We only start "pending" swipes with Begin events, so we should never make them
non-pending with anything but a Begin event (we'll get it when it bubbles back up,
unhandled, from WebCore). In addition, AppKit throws an exception when we try
to start a swipe from end-phase events.

1:11 PM Changeset in webkit [163191] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Properly handle cases where a profile couldn't be recorded and null is returned.

<rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject

Reviewed by Joseph Pecoraro.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
(WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.

1:06 PM Changeset in webkit [163190] by Beth Dakin
  • 15 edits
    1 add in trunk

Extended background should only create margin tiles for pages with background
images
https://bugs.webkit.org/show_bug.cgi?id=127876
-and corresponding-
<rdar://problem/15827632>

Reviewed by Simon Fraser.

Source/WebCore:

Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
for pages with simple background colors. Instead, those pages should achieve the
same effect by setting a background color on RenderLayerCompositor's
m_layerForOverhangAreas. For now, we should only create tiles when there is a
background image. We may want to extend this to other types of complicated
backgrounds in the future.

This patch makes callers that only care about the value of the setting always call
Settings::backgroundShouldExtendBeyondPage() rather than asking about margin
tiles. And callers that want to know about margin tiles can either keep querying
that directly or they can call FrameView::hasExtendedBackgroundRectForPainting().
An extended background does not necessarily require an extended background rect
for painting, and this new FrameView function can make that distinction.

When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor::
setRootExtendedBackgroundColor() with either the document background color, or an
invalid color, depending on whether you have or do not have an extended
background. Also call needsExtendedBackgroundRectForPainting() to determine if we
also need to extend the background rect, and then call
setHasExtendedBackgroundRectForPainting() with its value.

  • page/FrameView.cpp:

(WebCore::FrameView::setBackgroundExtendsBeyondPage):
(WebCore::FrameView::hasExtendedBackgroundRectForPainting):

Right now we only need to extend the background rect for documents with

background images on the root. This may be extended in the future.
(WebCore::FrameView::needsExtendedBackgroundRectForPainting):
(WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
(WebCore::FrameView::extendedBackgroundRectForPainting):

  • page/FrameView.h:

Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can
access the values from RenderLayerBacking.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileController.mm:

hasExtendedBackgroundForPainting() is now called
hasExtendedBackgroundRectForPainting() to distinguish
the case where an extended RECT is needed.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::repaintLayerRectsForImage):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

Call setHasExtendedBackgroundRectForPainting() if relevant.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):

Don't call setTiledBackingHasMargins() right in the constructor because we only
want margins if we have a background image, and we won't have that information
yet.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):

Clean up the variable name here. We are only setting margins when we need to
extend the background rect for painting. Also make us of newly-exposed
defaultTileWidth and Height.
(WebCore::RenderLayerBacking::setTiledBackingHasMargins):

Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
callers.

  • rendering/RenderLayerBacking.h:

(WebCore::RenderLayerBacking::usingTiledBacking):

setMasksToBounds(false) based on the Setting, and not based on whether there are
tile margins.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is
an extended background.
(WebCore::RenderLayerCompositor::requiresContentShadowLayer):

Setting the background color on m_layerForOverhangAreas is all we need to do to
create the extended background effect on pages that only have background colors.
(WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
and add setRootExtendedBackgroundColor() so that we can update the color from
RenderView.

  • rendering/RenderLayerCompositor.h:

Revert the code that was added to paint background color here, since this should
all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor().
More complicated backgrounds will run through the full background painting code.

  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):
(WebCore::RenderView::backgroundRect):

LayoutTests:

We can only test margin tiles if we also give the document a background image.

  • platform/mac-wk2/tiled-drawing/resources/greenbox.png: Added.
  • platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html:
1:03 PM Changeset in webkit [163189] by jochen@chromium.org
  • 3 edits in trunk/Source/WebCore

Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
https://bugs.webkit.org/show_bug.cgi?id=128005

Reviewed by Darin Adler.

The former was used by chromium-android to implement the "request
desktop version" feature, but is no longer used. After removing it,
the latter is only invoked by reload(), so we can merge the method
with it.

No new tests, just removing dead code.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::reload):

  • loader/FrameLoader.h:
12:56 PM Changeset in webkit [163188] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r163182.
http://trac.webkit.org/changeset/163182
https://bugs.webkit.org/show_bug.cgi?id=128012

Broke lots of tests (Requested by smfr on #webkit).

  • page/FrameView.cpp:

(WebCore::FrameView::visibleContentsResized):

  • page/FrameView.h:
  • rendering/RenderView.cpp:

(WebCore::isFixedPositionInViewport):
(WebCore::RenderView::hasCustomFixedPosition):

  • rendering/RenderView.h:
12:50 PM Changeset in webkit [163187] by beidson@apple.com
  • 17 edits in trunk/Source

IDB: openCursor() needs to prime the cursor with first position values
https://bugs.webkit.org/show_bug.cgi?id=128008

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values

for the cursor, store them.

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::openCursor):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Source/WebKit2:

Change openCursor() messaging to pass back the initial keys/values

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::didOpenCursor):
(WebKit::WebIDBServerConnection::openCursor):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::openCursor):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance): Const and reference updates.
(WebKit::UniqueIDBDatabase::cursorIterate): Ditto.
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::maybeCreate): After creating the cursor, advance(1) it.

  • Shared/AsyncTask.h:

(WebKit::createAsyncTask):

12:01 PM Changeset in webkit [163186] by hmuller@adobe.com
  • 7 edits
    4 adds in trunk

[CSS Shapes] Image valued shape can fail
https://bugs.webkit.org/show_bug.cgi?id=127588

Reviewed by Dean Jackson.

Source/WebCore:

Correct the handling of image valued shapes that extend into or beyond the
margin box. This can happen when object-fit causes one dimension of the shape
to be greater than the corresponding margin box dimension.

Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
by making the shapeMargin parameter an int, removing some unnecessary variables.

Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
Similarly size() is the vertical size of the margin-box or the content-box expanded by
shape-margin, whichever is larger. See computeShapeMarginIntervals().

Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html

fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
(WebCore::RasterShape::marginIntervals):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShapeIntervals::RasterShapeIntervals):
(WebCore::RasterShapeIntervals::offset):
(WebCore::RasterShapeIntervals::minY):
(WebCore::RasterShapeIntervals::maxY):
(WebCore::RasterShapeIntervals::intervalsAt):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::getShapeImageReplacedRect):
The rect that the image will be drawn into. This rect can imply image
scaling and translation.

(WebCore::getShapeImageMarginRect):
The margin rect relative too the (0,0 origin) shape content rect.

(WebCore::ShapeInfo<RenderType>::computedShape):

LayoutTests:

Check shape-outside layout for image valued shapes where object-fit causes
the image to extend into or beyond the image element's margin box.

  • fast/shapes/shape-outside-floats/shape-outside-image-fit-005-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-image-fit-006-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html: Added.
11:57 AM Changeset in webkit [163185] by dfarler@apple.com
  • 2 edits in trunk/Tools

DumpRenderTree iOS fails to link: missing rowHeaders and columnHeaders in AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=128004

Reviewed by Chris Fleizach.

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::columnHeaders): Stub added.
(AccessibilityUIElement::rowHeaders): Stub added.

11:49 AM Changeset in webkit [163184] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Deduplicate Document::encoding().
<https://webkit.org/b/128000>

Make Document::encoding() return an AtomicString so we don't duplicate
the string every time it's called.

215 KB progression on Membuster3.

Reviewed by Simon Fraser.

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::encoding):

11:48 AM Changeset in webkit [163183] by zoltan@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Update my contributors.json entry.

  • Scripts/webkitpy/common/config/contributors.json:
11:36 AM Changeset in webkit [163182] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Even when in fixed layout mode, some platforms need to do layout after a viewport change
https://bugs.webkit.org/show_bug.cgi?id=128003

Reviewed by Andreas Kling.

iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
elements relative to a variable viewport. This code assumed that fixed layout
implies a fixed viewport.

Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.

Also removed RenderView::hasCustomFixedPosition() which is no longer used.

  • page/FrameView.cpp:

(WebCore::FrameView::shouldLayoutAfterViewportChange):
(WebCore::FrameView::visibleContentsResized):

  • page/FrameView.h:
  • rendering/RenderView.cpp:
  • rendering/RenderView.h:
11:34 AM Changeset in webkit [163181] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
https://bugs.webkit.org/show_bug.cgi?id=120214

Reviewed by Philippe Normand.

Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
since this guard is used in the GLContext class, from which the GLContextEGL class overrides
this method.

  • platform/graphics/egl/GLContextEGL.cpp:
  • platform/graphics/egl/GLContextEGL.h:
11:04 AM Changeset in webkit [163180] by Beth Dakin
  • 14 edits
    2 adds in trunk/Source

Source/WebCore: Sideways 'wobble' when scrolling with trackpad on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=127521
-and corresponding-
<rdar://problem/14137306>

Reviewed by Simon Fraser.

This patch takes http://trac.webkit.org/changeset/154535 which introduced
filtering wheel events for overflow areas to try to make them less sensitive to X
deltas when scrolling in a primarily Y direction, and it factors that code out
into its own class, now called WheelEventDeltaTracker. So now this new class can
use the same code to filter events for WebKit2’s EventDispatcher.

Files for WheelEventDeltaTracker.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

WK2 needs these new WheelEventDeltaTracker functions.

  • WebCore.exp.in:

Move a bunch of code over to WheelEventDeltaTracker and use
m_recentWheelEventTracker to serve the same purpose.

  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):

  • page/EventHandler.h:

Allow horizontal rubber banding now that we have some event filtering in place.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):

New files. Most of this code was from EventHandler.

  • page/WheelEventDeltaTracker.cpp: Added.

(WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
(WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
(WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
(WebCore::WheelEventDeltaTracker::endTrackingDeltas):
(WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
(WebCore::deltaIsPredominantlyVertical):
(WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):

  • page/WheelEventDeltaTracker.h: Added.

(WebCore::WheelEventDeltaTracker::isTrackingDeltas):

New function to clone events while zero-ing out certain deltas.

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
(WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):

Source/WebKit2: Sideways 'wobble' when scrolling with trackpad on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=127521
-and corresponding-
<rdar://problem/14137306>

Reviewed by Simon Fraser.

Start using WebCore::WheelEventDeltaTracker to filter events.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
10:59 AM Changeset in webkit [163179] by rgabor@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Fix the ARM Thumb2 build after jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=127903

Reviewed by Michael Saboff.

SP register cannot be used as a destination register of SUB or ADD on Thumb mode.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
10:49 AM Changeset in webkit [163178] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Fix the forward declaration of RawPluginMetaData in NetscapePluginModule.h
https://bugs.webkit.org/show_bug.cgi?id=127992

Reviewed by Martin Robinson.

  • Shared/Plugins/Netscape/NetscapePluginModule.h: RawPluginMetaData is a struct, so it should

be declared as such. The current forward declaration is throwing a warning when using Clang.

10:49 AM Changeset in webkit [163177] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Don't do logging from Range::collectSelectionRects() on iOS
https://bugs.webkit.org/show_bug.cgi?id=127999

Reviewed by Enrica Casucci.

Remove some logging code that printed Range stuff in debug builds.

  • dom/Range.cpp:

(WebCore::Range::collectSelectionRects):

10:25 AM Changeset in webkit [163176] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Make iOS fixed layer registration more like OS X
https://bugs.webkit.org/show_bug.cgi?id=127983

Reviewed by Antti Koivisto.

Remove some #if PLATFORM(IOS) in the code related to registering
viewport-constrained layers. The code behaves correctly now in WK1
and WK2 based on the presence of a ScrollingCoordinator.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::nearestScrollingCoordinatorAncestor):
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
(WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):

9:43 AM Changeset in webkit [163175] by commit-queue@webkit.org
  • 5 edits
    2 deletes in trunk

Unreviewed, rolling out r163165.
http://trac.webkit.org/changeset/163165
https://bugs.webkit.org/show_bug.cgi?id=127997

broke 2 fast/table tests (Requested by kling on #webkit).

Source/WebCore:

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):
(WebCore::RenderTable::computePreferredLogicalWidths):

LayoutTests:

  • fast/table/css-table-max-width-expected.txt:
  • fast/table/css-table-max-width.html:
  • fast/table/html-table-width-max-width-constrained-expected.txt: Removed.
  • fast/table/html-table-width-max-width-constrained.html: Removed.
9:36 AM Changeset in webkit [163174] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
https://bugs.webkit.org/show_bug.cgi?id=127996

Reviewed by Andreas Kling.

std::once_flag should be static.

  • xml/XMLHttpRequest.cpp:

(WebCore::staticData):

9:26 AM Changeset in webkit [163173] by andersca@apple.com
  • 5 edits in trunk

REGRESSION: WebKit2.PageLoadBasic API test is failing
https://bugs.webkit.org/show_bug.cgi?id=127892

Reviewed by Dan Bernstein.

Source/WebKit2:

On Mountain Lion, URLs returned by -[NSBundle URLForResource:withExtension:subdirectory] include
localhost as the hostname, but WebCore::URL normalizes those URLs and removes the host name.

Because of this, URLs created by WKURLCreateWithCFURL won't be equal to urls passed through
the WebCore::URL constructor. Change WKURLIsEqual to compare the normalized URLs.

  • Shared/API/c/WKURL.cpp:

(WKURLIsEqual):

  • Shared/APIURL.h:

(API::URL::equals):
(API::URL::url):

Tools:

Re-enable test.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
9:03 AM Changeset in webkit [163172] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

IDB: When deleting object stores/indexes, also delete associated records
https://bugs.webkit.org/show_bug.cgi?id=127872

Reviewed by Anders Carlsson.

This was mostly done via other patches, but clearObjectStore was the last remaining case:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): Also delete Index records.

8:48 AM Changeset in webkit [163171] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
https://bugs.webkit.org/show_bug.cgi?id=127975

Reviewed by Simon Fraser.

From int to LayoutUnit.

Covered by existing tests. No change in functionality.

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • platform/text/TextStream.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::borderTop):
(WebCore::RenderBoxModelObject::borderBottom):
(WebCore::RenderBoxModelObject::borderLeft):
(WebCore::RenderBoxModelObject::borderRight):
(WebCore::RenderBoxModelObject::borderBefore):
(WebCore::RenderBoxModelObject::borderAfter):
(WebCore::RenderBoxModelObject::borderStart):
(WebCore::RenderBoxModelObject::borderEnd):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintAfterLayoutIfNeeded):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::borderBefore):
(WebCore::RenderTable::borderAfter):

  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):

  • rendering/RenderTableCell.h:
7:55 AM Changeset in webkit [163170] by beidson@apple.com
  • 11 edits in trunk/Source

IDB: Index writing
<rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868

Reviewed by Anders Carlsson.

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.

Remove getColumnBlob(). Nobody used it, and it was dangerous because it reset the statement:

  • platform/sql/SQLiteStatement.cpp:
  • platform/sql/SQLiteStatement.h:
  • WebCore.exp.in:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::putRecordInBackingStore): Handle writing index records, as well.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a table

for index records

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Extract IDBIndexMetadata
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Store in the IndexRecords table.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
7:11 AM Changeset in webkit [163169] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[arm] Add missing pushPair/popPair implementations in MacroAssemblerARM.h
https://bugs.webkit.org/show_bug.cgi?id=127904

Patch by Julien Brianceau <jbriance@cisco.com> on 2014-01-31
Reviewed by Zoltan Herczeg.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::popPair):
(JSC::MacroAssemblerARM::pushPair):

6:29 AM Changeset in webkit [163168] by mihnea@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSSRegions] Add test(s) for list item as region
https://bugs.webkit.org/show_bug.cgi?id=122961

Reviewed by Dirk Schulze.

  • fast/regions/list-item-as-region-expected.html: Added.
  • fast/regions/list-item-as-region.html: Added.
2:51 AM Changeset in webkit [163167] by Csaba Osztrogonác
  • 4 edits in trunk/Tools

[jhbuild] Disable escape sequences in EWS output
https://bugs.webkit.org/show_bug.cgi?id=127922

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/common/system/environment.py:

(Environment.disable_gcc_smartquotes):
(Environment):
(Environment.disable_jhbuild_VT100_output):

  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/steps/build.py:

(Build.build):

12:10 AM Changeset in webkit [163166] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
https://bugs.webkit.org/show_bug.cgi?id=125396

Patch by László Langó <lango@inf.u-szeged.hu> on 2014-01-30
Reviewed by Andreas Kling.

Implement the suggested FIXMEs and do a log search in the named line
vectors. This maintains the previous (somewhat tricky) behavior by
using std::lower_bound and std::upper_bound. No difference in existing
performance tests, but should scale much better for big grids.

Backported from Blink:
https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f

No new tests, no behavior change.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

12:09 AM Changeset in webkit [163165] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Fix table sizing when 'max-width' is used.
https://bugs.webkit.org/show_bug.cgi?id=115156

Patch by László Langó <lango@inf.u-szeged.hu> on 2014-01-31
Reviewed by Andreas Kling.

Source/WebCore:

r143534 make <table> abide by 'max-width' all the time which is wrong.
Per the CSS specification, a table should be wide enough to fit its
content, regardless of 'max-width'.

r140479 fixed part of the regression from that change but made the
same fatal mistake by constraining min-content to fit 'max-width'.

The fix is to avoid constraining min-content and ensure that the table
logical width is at least its min-content size.

Backported from Blink:
https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f

Test: fast/table/html-table-width-max-width-constrained.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):
(WebCore::RenderTable::computePreferredLogicalWidths):

LayoutTests:

  • fast/table/css-table-max-width-expected.txt:
  • fast/table/css-table-max-width.html:
  • fast/table/html-table-width-max-width-constrained-expected.txt: Added.
  • fast/table/html-table-width-max-width-constrained.html: Added.

Jan 30, 2014:

11:51 PM Changeset in webkit [163164] by jinwoo7.song@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Unreviewed EFL WebKit2 build fix after r163116.
https://bugs.webkit.org/show_bug.cgi?id=127985

Unreviewed EFL WebKit2 build fix.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::processDidExit):

  • UIProcess/CoordinatedGraphics/WebView.h:
10:38 PM Changeset in webkit [163163] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

10:36 PM Changeset in webkit [163162] by Lucas Forschler
  • 1 copy in tags/Safari-538.15

New Tag.

10:10 PM Changeset in webkit [163161] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix iOS WK2 build after r163156.

Need to convert to IntSizes.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::tapHighlightAtPosition):

10:00 PM Changeset in webkit [163160] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix iOS build after r163156.

Need to convert LayoutSizes to FloatSizes.

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMNode borderRadii]):

9:47 PM Changeset in webkit [163159] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
https://bugs.webkit.org/show_bug.cgi?id=127961

Reviewed by Simon Fraser.

IntRect/IntPoint -> FloatRect/FloatPoint.

Covered by existing tests. No change in functionality.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):

9:42 PM Changeset in webkit [163158] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
https://bugs.webkit.org/show_bug.cgi?id=127981

Reviewed by Andreas Kling.

setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
so remove it.

This allows the removal of RenderLayerBacking::registerScrollingLayers(),
moving the single useful line of code to the caller.

  • page/scrolling/ScrollingCoordinator.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::ensureRootLayer):

9:42 PM Changeset in webkit [163157] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Some fixed position elements disappear in WK2 on iOS
https://bugs.webkit.org/show_bug.cgi?id=127977

Reviewed by Tim Horton.

Use the appropriate rectangle to ensure that on iOS we don't
consider a fixed element outside the viewport when zoomed in,
and therefore never make a compositing layer for it.

Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
since it's OK to use the common code. Doing so requires that we
set the "acceleratedCompositingForFixedPositionEnabled" setting to true
for iOS, so do so.

  • page/Settings.cpp:
  • page/Settings.in:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

9:41 PM Changeset in webkit [163156] by Alan Bujtas
  • 13 edits in trunk/Source/WebCore

Subpixel rendering: Make RoundedRect layout unit aware.
https://bugs.webkit.org/show_bug.cgi?id=127779

Reviewed by Simon Fraser.

In order to draw hairline borders, RoundedRect needs to be
LayoutUnit based.

No change in behavior.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::fillRoundedRect):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::Radii::scale):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::inflateWithRadii):
(WebCore::RoundedRect::RoundedRect):
(WebCore::RoundedRect::intersectsQuad):

  • platform/graphics/RoundedRect.h:

(WebCore::RoundedRect::Radii::Radii):
(WebCore::RoundedRect::Radii::setTopLeft):
(WebCore::RoundedRect::Radii::setTopRight):
(WebCore::RoundedRect::Radii::setBottomLeft):
(WebCore::RoundedRect::Radii::setBottomRight):
(WebCore::RoundedRect::Radii::topLeft):
(WebCore::RoundedRect::Radii::topRight):
(WebCore::RoundedRect::Radii::bottomLeft):
(WebCore::RoundedRect::Radii::bottomRight):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::Radii::shrink):
(WebCore::RoundedRect::rect):
(WebCore::RoundedRect::setRect):
(WebCore::RoundedRect::move):
(WebCore::RoundedRect::inflate):
(WebCore::RoundedRect::expandRadii):
(WebCore::RoundedRect::shrinkRadii):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::setCachedShadowValues):
(WebCore::ScratchBuffer::setCachedInsetShadowValues):
(WebCore::computeSliceSizesFromRadii):
(WebCore::ShadowBlur::templateSize):
(WebCore::ShadowBlur::drawRectShadow):
(WebCore::ShadowBlur::drawInsetShadow):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawLayerPieces):
(WebCore::ShadowBlur::beginShadowLayer):

  • platform/graphics/ShadowBlur.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::fillRoundedRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::calculateSideRect):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
(WebCore::calculateSideRectIncludingInner):
(WebCore::calculateAdjustedInnerBorder):
(WebCore::areaCastingShadowInHole):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintSliderTrack):

9:37 PM Changeset in webkit [163155] by Martin Robinson
  • 15 edits in trunk

[GTK] [CMake] Add support for building against GTK+ 2
https://bugs.webkit.org/show_bug.cgi?id=127959

Reviewed by Anders Carlsson.

.:

  • Source/cmake/OptionsGTK.cmake: Add a new option to use GTK 2 and make a variable holding the

library API version. When using GTK 2 do not build WebKit 2.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebCore:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebKit:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Tools:

  • DumpRenderTree/PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
  • GtkLauncher/CMakeLists.txt: Ditto.
  • ImageDiff/PlatformGTK.cmake: Ditto.
  • TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt: Ditto.
8:51 PM Changeset in webkit [163154] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • page/animation/CSSPropertyAnimation.cpp:
8:04 PM Changeset in webkit [163153] by timothy@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/profiler/LegacyProfiler.cpp

Fix profiler layout test crashes.

7:52 PM Changeset in webkit [163152] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
https://bugs.webkit.org/show_bug.cgi?id=127949

Reviewed by Andreas Kling.

Covered by existing tests. No change in functionality.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::calcBorderStart):
(WebCore::RenderTable::calcBorderEnd):

  • rendering/style/BorderValue.h:

(WebCore::BorderValue::BorderValue):
(WebCore::BorderValue::width):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::borderBeforeWidth):
(WebCore::RenderStyle::borderAfterWidth):
(WebCore::RenderStyle::borderStartWidth):
(WebCore::RenderStyle::borderEndWidth):

  • rendering/style/RenderStyle.h:
7:38 PM Changeset in webkit [163151] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

CodeBlock's cloned SymbolTables only need the captured names.
<https://webkit.org/b/127978>

Renamed SymbolTable::clone() to SymbolTable::cloneCapturedNames()
and make it skip over any symbols that aren't captured, since those
won't be needed after codegen.

This is a first step towards getting rid of redundant symbol tables.

Reviewed by Geoffrey Garen.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::cloneCapturedNames):

  • runtime/SymbolTable.h:
7:16 PM Changeset in webkit [163150] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

Unreviewed, rolling out r163125.
http://trac.webkit.org/changeset/163125
https://bugs.webkit.org/show_bug.cgi?id=127980

caused 9 layout tests to assert and crash (Requested by estes
on #webkit).

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/SessionTracker.cpp:

(WebKit::SessionTracker::session):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):

  • Shared/SessionTracker.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setSession):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::legacySessionID):
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):

  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::setSessionID):

6:24 PM Changeset in webkit [163149] by andersca@apple.com
  • 12 edits in trunk

Add webView:didFinishLoadingNavigation: delegate method
https://bugs.webkit.org/show_bug.cgi?id=127976

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didFinishLoadForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFinishLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[NavigationDelegate webView:didCommitNavigation:]):
(-[NavigationDelegate webView:didFinishLoadingNavigation:]):

6:02 PM Changeset in webkit [163148] by ddkilzer@apple.com
  • 8 edits in trunk/Source

Add security-checked cast for WebCore::CachedImage
<http://webkit.org/b/127967>

Reviewed by Darin Adler.

Source/WebCore:

  • loader/cache/CachedImage.h:

(WebCore::toCachedImage): Add.
(WebCore::toCachedImageManual): Add.

  • loader/cache/CachedResource.h:

(CACHED_RESOURCE_TYPE_CASTS): Add macro.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::switchClientsToRevalidatedResource):
(WebCore::CachedImage::resumeAnimatingImagesForLoader):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeImageFromCache):

  • Use toCachedImage() and toCachedImageManual().

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache imageForURL:]):

  • Use WebCore::toCachedImage().
5:53 PM Changeset in webkit [163147] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crashes after 163116 in [WKView takeViewSnapshot]
https://bugs.webkit.org/show_bug.cgi?id=127973

Reviewed by Alexey Proskuryakov.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):
Make the ViewGestureController before using it, if we need one.

5:47 PM Changeset in webkit [163146] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Fixed position objects are clipped in iOS WK2
https://bugs.webkit.org/show_bug.cgi?id=127974

Reviewed by Darin Adler.

We clip compositing layers for fixed position objects to the viewport
to avoid huge layers. However, because iOS changes the fixed position
rect when zooming, we need a different rect for iOS.

In WK1 (when we have a platformWidget), we can use
visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
which is effectively the whole document. However in WK2 this is
the real visibleContentRect(), so there we use unscaledDocumentRect().

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedExtentRect):

  • page/FrameView.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

5:46 PM Changeset in webkit [163145] by timothy@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/profiler/CallIdentifier.h

Debug build fix.

5:45 PM Changeset in webkit [163144] by andersca@apple.com
  • 12 edits in trunk

Add a webView:didCommitNavigation: delegate method
https://bugs.webkit.org/show_bug.cgi?id=127972

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didCommitLoadForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[NavigationDelegate webView:didStartProvisionalNavigation:]):
(-[NavigationDelegate webView:didCommitNavigation:]):

5:35 PM Changeset in webkit [163143] by timothy@apple.com
  • 1 edit in trunk/Source/WebCore/English.lproj/Localizable.strings

Update WebCore localized strings.

5:35 PM Changeset in webkit [163142] by timothy@apple.com
  • 19 edits
    1 copy
    1 add in trunk/Source/WebInspectorUI

Show profile data in the discrete Scripts timeline view.

https://bugs.webkit.org/show_bug.cgi?id=127900

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/DataGrid.js:

(WebInspector.DataGridNode.prototype.refreshIfNeeded):
(WebInspector.DataGridNode.prototype.needsRefresh):
(WebInspector.DataGridNode.prototype.set data):
(WebInspector.DataGridNode.prototype.set revealed):
(WebInspector.DataGridNode.prototype.refresh):

  • UserInterface/LayoutTimelineDataGrid.js:

(WebInspector.LayoutTimelineDataGrid):

  • UserInterface/LayoutTimelineDataGridNode.js:

(WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):

  • UserInterface/Main.html:
  • UserInterface/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
(WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded):

  • UserInterface/ProfileNodeDataGridNode.js: Added.

(WebInspector.ProfileNodeDataGridNode):
(WebInspector.ProfileNodeDataGridNode.prototype.get profileNode):
(WebInspector.ProfileNodeDataGridNode.prototype.get records):
(WebInspector.ProfileNodeDataGridNode.prototype.get baseStartTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get rangeStartTime):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get data):
(WebInspector.ProfileNodeDataGridNode.prototype.refresh):
(WebInspector.ProfileNodeDataGridNode.prototype.createCellContent):

  • UserInterface/ProfileNodeTreeElement.js: Added.

(WebInspector.ProfileNodeTreeElement):
(WebInspector.ProfileNodeTreeElement.prototype.get profileNode):
(WebInspector.ProfileNodeTreeElement.prototype.get filterableData):
(WebInspector.ProfileNodeTreeElement.prototype.onattach):
(WebInspector.ProfileNodeTreeElement.prototype.onpopulate):

  • UserInterface/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):

  • UserInterface/ScriptTimelineDataGrid.js:

(WebInspector.ScriptTimelineDataGrid):

  • UserInterface/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode):
(WebInspector.ScriptTimelineDataGridNode.prototype.get baseStartTime):
(WebInspector.ScriptTimelineDataGridNode.prototype.get rangeStartTime):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime):
(WebInspector.ScriptTimelineDataGridNode.prototype.get rangeEndTime):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime):
(WebInspector.ScriptTimelineDataGridNode.prototype.get data):
(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):

  • UserInterface/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord):
(WebInspector.ScriptTimelineRecord.prototype.get profile):

  • UserInterface/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.updateLayout):
(WebInspector.ScriptTimelineView.prototype.get selectionPathComponents):
(WebInspector.ScriptTimelineView.prototype.dataGridNodeForTreeElement):
(WebInspector.ScriptTimelineView.prototype.populateProfileNodeTreeElement):
(WebInspector.ScriptTimelineView.prototype._processPendingRecords):
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):

  • UserInterface/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):

  • UserInterface/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid):
(WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
(WebInspector.TimelineDataGrid.prototype._sort):

  • UserInterface/TimelineDataGridNode.js:

(WebInspector.TimelineDataGridNode):
(WebInspector.TimelineDataGridNode.prototype.collapse):
(WebInspector.TimelineDataGridNode.prototype.expand):

  • UserInterface/TimelineRecord.js:
  • UserInterface/TreeOutlineDataGridSynchronizer.js:

(WebInspector.TreeOutlineDataGridSynchronizer.prototype.get delegate):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
(WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):

5:35 PM Changeset in webkit [163141] by timothy@apple.com
  • 3 edits
    3 adds in trunk/Source/WebInspectorUI

Add the model objects for the new Web Inspector profile data.

https://bugs.webkit.org/show_bug.cgi?id=127899

Reviewed by Joseph Pecoraro.

  • UserInterface/Main.html:
  • UserInterface/Profile.js: Added.

(WebInspector.Profile):
(WebInspector.Profile.prototype.get idleTime):
(WebInspector.Profile.prototype.get topDownRootNodes):
(WebInspector.Profile.prototype.get bottomUpRootNodes):

  • UserInterface/ProfileNode.js: Added.

(WebInspector.ProfileNode):
(WebInspector.ProfileNode.prototype.get id):
(WebInspector.ProfileNode.prototype.get type):
(WebInspector.ProfileNode.prototype.get functionName):
(WebInspector.ProfileNode.prototype.get sourceCodeLocation):
(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
(WebInspector.ProfileNode.prototype.get selfTime):
(WebInspector.ProfileNode.prototype.get totalTime):
(WebInspector.ProfileNode.prototype.get calls):
(WebInspector.ProfileNode.prototype.get previousSibling):
(WebInspector.ProfileNode.prototype.get nextSibling):
(WebInspector.ProfileNode.prototype.get parentNode):
(WebInspector.ProfileNode.prototype.get childNodes):
(WebInspector.ProfileNode.prototype.totalTimeInRange):
(WebInspector.ProfileNode.prototype.computeCallInfoForTimeRange):
(WebInspector.ProfileNode.prototype.traverseNextProfileNode):
(WebInspector.ProfileNode.prototype.saveIdentityToCookie):
(WebInspector.ProfileNode.prototype.establishRelationships):

  • UserInterface/ProfileNodeCall.js: Added.

(WebInspector.ProfileNodeCall):
(WebInspector.ProfileNodeCall.prototype.get startTime):
(WebInspector.ProfileNodeCall.prototype.get totalTime):
(WebInspector.ProfileNodeCall.prototype.get endTime):
(WebInspector.ProfileNodeCall.prototype.establishRelationships):

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload):
(WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload):
(WebInspector.TimelineManager.prototype._profileFromPayload):

5:34 PM Changeset in webkit [163140] by timothy@apple.com
  • 60 edits in trunk

Add column number and call timing support to LegacyProfiler.

https://bugs.webkit.org/show_bug.cgi?id=127764

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • profiler/CallIdentifier.h:

(JSC::CallIdentifier::CallIdentifier):
(JSC::CallIdentifier::functionName):
(JSC::CallIdentifier::url):
(JSC::CallIdentifier::lineNumber):
(JSC::CallIdentifier::columnNumber):
(JSC::CallIdentifier::operator==):
(JSC::CallIdentifier::operator!=):
(JSC::CallIdentifier::Hash::hash):
(WTF::HashTraits<JSC::CallIdentifier>::constructDeletedValue):
(WTF::HashTraits<JSC::CallIdentifier>::isDeletedValue):

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::willExecute):
(JSC::LegacyProfiler::didExecute):
(JSC::LegacyProfiler::exceptionUnwind):
(JSC::LegacyProfiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):

  • profiler/LegacyProfiler.h:
  • profiler/Profile.cpp:

(JSC::Profile::Profile):

  • profiler/Profile.h:

(JSC::Profile::uid):
(JSC::Profile::idleTime):
(JSC::Profile::setIdleTime):

  • profiler/ProfileGenerator.cpp:

(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::addParentForConsoleStart):
(JSC::ProfileGenerator::willExecute):
(JSC::ProfileGenerator::didExecute):
(JSC::ProfileGenerator::stopProfiling):
(JSC::ProfileGenerator::removeProfileStart):
(JSC::ProfileGenerator::removeProfileEnd):

  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::ProfileNode):
(JSC::ProfileNode::stopProfiling):
(JSC::ProfileNode::endAndRecordCall):
(JSC::ProfileNode::startTimer):
(JSC::ProfileNode::debugPrintData):

  • profiler/ProfileNode.h:

(JSC::ProfileNode::Call::Call):
(JSC::ProfileNode::Call::startTime):
(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::totalTime):
(JSC::ProfileNode::Call::setTotalTime):
(JSC::ProfileNode::id):
(JSC::ProfileNode::functionName):
(JSC::ProfileNode::url):
(JSC::ProfileNode::lineNumber):
(JSC::ProfileNode::columnNumber):
(JSC::ProfileNode::calls):
(JSC::ProfileNode::lastCall):
(JSC::ProfileNode::numberOfCalls):

Source/WebCore:

  • bindings/js/ScriptProfile.cpp:

(WebCore::ScriptProfile::idleTime):
(WebCore::buildInspectorObjectFor):
(WebCore::ScriptProfile::buildInspectorObject):

  • bindings/js/ScriptProfile.h:
  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):

  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getCPUProfile):

  • inspector/ScriptProfileNode.idl:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/protocol/Profiler.json:

LayoutTests:

Update test and results to include column numbers.

  • fast/profiler/anonymous-event-handler-expected.txt:
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
  • fast/profiler/anonymous-function-calls-eval-expected.txt:
  • fast/profiler/anonymous-functions-with-display-names-expected.txt:
  • fast/profiler/apply-expected.txt:
  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • fast/profiler/call-expected.txt:
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
  • fast/profiler/compare-multiple-profiles-expected.txt:
  • fast/profiler/constructor-expected.txt:
  • fast/profiler/dead-time-expected.txt:
  • fast/profiler/document-dot-write-expected.txt:
  • fast/profiler/event-handler-expected.txt:
  • fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
  • fast/profiler/inline-event-handler-expected.txt:
  • fast/profiler/many-calls-in-the-same-scope-expected.txt:
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
  • fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt:
  • fast/profiler/multiple-frames-expected.txt:
  • fast/profiler/named-functions-with-display-names-expected.txt:
  • fast/profiler/nested-anonymous-functon-expected.txt:
  • fast/profiler/nested-start-and-stop-profiler-expected.txt:
  • fast/profiler/one-execution-context-expected.txt:
  • fast/profiler/profile-calls-in-included-file-expected.txt:
  • fast/profiler/profile-with-no-title-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-expected.txt:
  • fast/profiler/resources/profiler-test-JS-resources.js:

(printProfileNodeWithoutTime):

  • fast/profiler/simple-event-call-expected.txt:
  • fast/profiler/simple-no-level-change-expected.txt:
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
  • fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt:
  • fast/profiler/stop-then-function-call-expected.txt:
  • fast/profiler/two-execution-contexts-expected.txt:
  • fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
  • fast/profiler/window-dot-eval-expected.txt:
5:34 PM Changeset in webkit [163139] by timothy@apple.com
  • 20 edits in trunk/Source

Include profile with FunctionCall and EvaluateScript Timeline records.

https://bugs.webkit.org/show_bug.cgi?id=127663

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):

  • inspector/InspectorEnvironment.h:
  • inspector/JSGlobalObjectInspectorController.h:

Source/WebCore:

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::call):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didCallInjectedScriptFunction):

  • inspector/InspectorController.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCallFunctionImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didCallFunction):
(WebCore::InspectorInstrumentation::didEvaluateScript):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/TimelineRecordFactory.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::didCallInjectedScriptFunction):

  • inspector/WorkerInspectorController.h:
5:34 PM Changeset in webkit [163138] by timothy@apple.com
  • 6 edits
    13 moves
    5 deletes in trunk/Source/WebInspectorUI

Prefix existing Web Inspector profiler classes with "Legacy".

Remove a dependency on ProfileView for showTimeAsPercent and selection as a drive-by.
Also remove the unfinished Canvas profiler classes, they will need redone for the Timeline view.

https://bugs.webkit.org/show_bug.cgi?id=127655

Reviewed by Joseph Pecoraro.

  • UserInterface/CanvasDataGridNode.js: Removed.
  • UserInterface/CanvasObserver.js: Removed.
  • UserInterface/CanvasProfileObject.js: Removed.
  • UserInterface/CanvasProfileType.js: Removed.
  • UserInterface/CanvasProfileView.js: Removed.
  • UserInterface/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):

  • UserInterface/ContentView.js:

(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):

  • UserInterface/InspectorFrontendAPI.js:

(InspectorFrontendAPI.isProfilingJavaScript):
(InspectorFrontendAPI.startProfilingJavaScript):
(InspectorFrontendAPI.stopProfilingJavaScript):

  • UserInterface/LegacyBottomUpProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/BottomUpProfileDataGridTree.js.
  • UserInterface/LegacyJavaScriptProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileObject.js.
  • UserInterface/LegacyJavaScriptProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileType.js.
  • UserInterface/LegacyJavaScriptProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.css.
  • UserInterface/LegacyJavaScriptProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.js.
  • UserInterface/LegacyProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileDataGridTree.js.
  • UserInterface/LegacyProfileManager.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileManager.js.
  • UserInterface/LegacyProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileObject.js.
  • UserInterface/LegacyProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileType.js.
  • UserInterface/LegacyProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.css.
  • UserInterface/LegacyProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.js.
  • UserInterface/LegacyProfilerObserver.js: Renamed from Source/WebInspectorUI/UserInterface/ProfilerObserver.js.
  • UserInterface/LegacyTopDownProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/TopDownProfileDataGridTree.js.
  • UserInterface/Main.html:
  • UserInterface/Main.js:

(WebInspector.loaded):
(WebInspector.openURL):

5:08 PM Changeset in webkit [163137] by andersca@apple.com
  • 12 edits in trunk

Add a webView:didFailProvisionalNavigation:withError: delegate method
https://bugs.webkit.org/show_bug.cgi?id=127968

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[DidFailProvisionalNavigationDelegate webView:didStartProvisionalNavigation:]):
(-[DidFailProvisionalNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
(TEST):

5:07 PM Changeset in webkit [163136] by rniwa@webkit.org
  • 3 edits in trunk/Tools

The test server build fixes.

  • TestResultServer/model/jsonresults.py:

(JsonResults.merge):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:
5:04 PM Changeset in webkit [163135] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
https://bugs.webkit.org/show_bug.cgi?id=127964

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-01-30
Reviewed by Timothy Hatcher.

Remove empty function. It was only needed by v8 at one point.

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptController.cpp:

Remove empty function.

  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::disable):
Remove callers and related tracking state.

5:03 PM Changeset in webkit [163134] by rniwa@webkit.org
  • 4 edits in trunk/Tools

NRWT shouldn't say "Finished writing JSON files" if it failed to to so
https://bugs.webkit.org/show_bug.cgi?id=127966

Reviewed by Alexey Proskuryakov.

Don't say "Finished writing JSON files" if we had failed to generate the JSON file.
Also explicitly say this is for test results server as we're generating two JSON files.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._upload_json_files):

  • Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:

(JSONLayoutResultsGenerator.init): Don't generate JSON file implicitly inside the constructor.

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:

(JSONResultsGenerator.generate_json_output): Return a boolean indicating whether the generation
had succeeded or not.

4:41 PM Changeset in webkit [163133] by fpizlo@apple.com
  • 4 edits in trunk/Tools

copy-webkitlibraries-to-product-directory should accept command-line arguments for extra work required for optional features rather than relying on environment variables
https://bugs.webkit.org/show_bug.cgi?id=120221

Reviewed by Mark Hahnenberg.

  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/copy-webkitlibraries-to-product-directory:
4:23 PM Changeset in webkit [163132] by andersca@apple.com
  • 13 edits in trunk

Add a webView:didStartProvisionalNavigation: delegate method
https://bugs.webkit.org/show_bug.cgi?id=127965

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didStartProvisionalLoadForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::createLoaderClient):
(WebKit::NavigationState::createPolicyClient):
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::LoaderClient):
(WebKit::NavigationState::LoaderClient::~LoaderClient):
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[NavigationDelegate webView:didStartProvisionalNavigation:]):
(TEST):

3:58 PM Changeset in webkit [163131] by beidson@apple.com
  • 8 edits in trunk/Source/WebKit2

IDB: Implement IDBObjectStore.count()
https://bugs.webkit.org/show_bug.cgi?id=127888

Reviewed by Tim Horton.

Now count() actually works.

Forward the count() request to the backing store”

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::countInBackingStore):

Using a cursor, get a count:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Give a direct accessor to allow the backing store to close a cursor it opened
for its own use:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:

(WebKit::SQLiteIDBTransaction::closeCursor):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::didCount): Update the logging to show the count.

3:36 PM Changeset in webkit [163130] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: [REGRESSION(r163086)] Missing localized string 'Hide console (%s)'
https://bugs.webkit.org/show_bug.cgi?id=127951

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-01-30
Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:

Add 'Hide console (%s)'.

3:24 PM Changeset in webkit [163129] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Implement NavigationState::PolicyClient::decidePolicyForNewWindowAction
https://bugs.webkit.org/show_bug.cgi?id=127962

Reviewed by Andreas Kling.

Have decidePolicyForNewWindowAction call decidePolicyForNavigationAction with a null destination frame.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction):

3:18 PM Changeset in webkit [163128] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/security/cross-origin-plugin-private-browsing-toggled.html is flaky on WK2
https://bugs.webkit.org/show_bug.cgi?id=127960

  • platform/mac-wk2/TestExpectations: Marked it as such.
3:16 PM Changeset in webkit [163127] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

WebGL load policy should be queried for the top level document.
https://bugs.webkit.org/show_bug.cgi?id=127937.
<rdar://problem/15950122>
Reviewed by Timothy Horton.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):

3:14 PM Changeset in webkit [163126] by Lucas Forschler
  • 2 edits in tags/Safari-538.13.2/Source/JavaScriptCore

Merged r163115.

3:11 PM Changeset in webkit [163125] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

Add session support to WebPlatformStrategies
https://bugs.webkit.org/show_bug.cgi?id=127926

Patch by Martin Hock <mhock@apple.com> on 2014-01-30
Reviewed by Alexey Proskuryakov.

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/SessionTracker.cpp:

(WebKit::storageSessionToID):
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::sessionID):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):

  • Shared/SessionTracker.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setSession):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setSessionID): Ensure the storage session exists.

  • WebProcess/WebPage/WebPage.h:
3:06 PM Changeset in webkit [163124] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

IDB: ObjectStore cursor iterate() support
<rdar://problem/15941914> and https://bugs.webkit.org/show_bug.cgi?id=127867

Reviewed by Tim Horton.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::iterate): Implement iterate() using advance()

3:04 PM Changeset in webkit [163123] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

decidePolicyForNewWindowAction should take a NavigationActionData object
https://bugs.webkit.org/show_bug.cgi?id=127952

Reviewed by Dan Bernstein.

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNewWindowAction):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNewWindowAction):

3:03 PM Changeset in webkit [163122] by Lucas Forschler
  • 5 edits in tags/Safari-538.13.2/Source

Versioning.

3:02 PM Changeset in webkit [163121] by jpfau@apple.com
  • 16 edits in trunk/Source

Add a method for schemes to be registered as supporting cache partitioning
https://bugs.webkit.org/show_bug.cgi?id=127739

Reviewed by Darin Adler.

Source/WebCore:

Currently, this assumes that schemes supporting cache partitioning
also support (scheme, host) doubles for the scheme. Furthermore,
the scheme is currently discarded when partitioning and is only
checked to ensure that partitioning is supported for that scheme: it
is assumed that all origins with the same host double should be binned
together, regardless of scheme.

  • WebCore.exp.in:
  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::cachePartition):

  • platform/SchemeRegistry.cpp:

(WebCore::CachePartitioningSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
(WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):

  • platform/SchemeRegistry.h:

Source/WebKit2:

Pipe information about cache partitioned scheme through WebKit2.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextRegisterURLSchemeAsCachePartitioned):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::registerURLSchemeAsCachePartitioned):

  • UIProcess/WebContext.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::registerURLSchemeAsCachePartitioned):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
3:01 PM Changeset in webkit [163120] by Lucas Forschler
  • 1 copy in tags/Safari-538.13.2

New Tag.

3:00 PM Changeset in webkit [163119] by fpizlo@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

FTL should support GetById(Untyped:)
https://bugs.webkit.org/show_bug.cgi?id=127750

Reviewed by Oliver Hunt.

This was supposed to be easy. Indeed, the actual GetById UntypedUse case was easy. But
then it expanded coverage by a lot and I got to deal with three bugs. So, this has
some additional changes:

Also make it safe for LLVM to duplicate calls to patchpoints and stackmaps. Previously
we incorrectly assumed that if we emitted a patchpoint, then there would only be one
copy of that patchpoint (with that ID) in the resulting machine code and in the
stackmaps section. That's obviously a bad assumption - LLVM is allowed to do anything
it wants so long as the outcome of executing the code has a semantically equivalent
meaning to the IR we gave it, and duplicating code is trivially OK under this rule. We
should be OK with it, too. The solution is to add Vectors in a bunch of places that
previously just thought they only had one value. For example, an InlineCacheDescriptor
now has a Vector of generators - one generator for each copy that LLVM stamped out.
Normally there will only be one copy, of course - since duplication is usually
unprofitable. But, if LLVM decides that copying would be groovy then we will no longer
barf.

Also fix SSA conversion. It turns out that we mishandled the case where a block had
multiple Phi functions for the same local. If any of those CPS Phis fail to trivialize
in the Aycock-Horspool fixpoint, we need to insert an SSA Phi. Previously, it was
assuming that so long as the head CPS Phi was trivial, we could forego SSA Phi
insertion. That's wrong if the head CPS Phi trivialized but ended up pointing to a
non-trivial CPS Phi in the same block. This madness with trees of Phis occurs because
we try to save on compile times: no Phi ever has more than three children even if the
block has more than three predecessors; we just build out a tree of Phis to satisfy
all predecessors. So weird.

And finally, fix DFG->FTL OSR entry's reconstruction of 'this' in a constructor. That
reconstruction code, JITCode::reconstruct(), had a work-around for the case where we
were entering into a constructor at the prologue. In that case, 'this' is definitely
unavailable. But the OSR code does reconstructions at LoopHints, which aren't at the
prologue, and so 'this' should totally be available.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::reconstruct):

  • dfg/DFGNode.h:

(JSC::DFG::Node::tryGetVariableAccessData):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::generateICFastPath):
(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLInlineCacheDescriptor.h:
  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::codeSize):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):

  • ftl/FTLJSCall.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::getById):

  • ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::getRecordMap):

  • ftl/FTLStackMaps.h:
  • tests/stress/get-by-id-untyped.js: Added.

(foo):

2:58 PM Changeset in webkit [163118] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Convert blocks to lambdas in iOS Fullscreen code.
https://bugs.webkit.org/show_bug.cgi?id=127946

Reviewed by Anders Carlsson.

Pushing a block into a std::function will eventually cause a crash, since std::function
does not know about Block_copy and Block_release.

Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
directly rather than implicitly.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController exitFullscreen]):

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):

2:52 PM Changeset in webkit [163117] by Chris Fleizach
  • 2 edits in trunk/Tools

WebKitTestRunner fails to link - missing rowHeaders and columnHeaders
https://bugs.webkit.org/show_bug.cgi?id=127917

Reviewed by Andy Estes.

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):

2:49 PM Changeset in webkit [163116] by timothy_horton@apple.com
  • 13 edits in trunk/Source/WebKit2

Lots of API test assertion failures after r163093
https://bugs.webkit.org/show_bug.cgi?id=127948

Reviewed by Alexey Proskuryakov.

  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::processDidExit):

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _processDidExit]):

  • UIProcess/API/ios/WKContentViewInternal.h:
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::processDidExit):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _processDidExit]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/API/mac/WKViewInternal.h:

Rename _processDidCrash to _processDidExit, since it containes cleanup we
should do in both cases. Also, call it whenever a process terminates instead
of just upon a crash. Also clear the ViewGestureController, because its
state doesn't make sense between WebProcesses.

(-[WKView _setCustomSwipeViews:]):
Don't make a ViewGestureController if we don't have one and would be
only creating one to set an empty list of custom swipe views.

2:37 PM Changeset in webkit [163115] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Part 2: REGRESSION: JavascriptCore crash during OS Installation (due to
Heap::m_operationInProgress ASSERT vs DelayedReleaseScope)
https://bugs.webkit.org/show_bug.cgi?id=127950

Reviewed by Mark Hahnenberg.

Scope the APICallbackShim to make sure that we re-acquire the lock
before putting the heap back into the "unsafe to allocate" state.
Otherwise, the heap will seem to be in the "unsafe to allocate" state
during any GC that happens before we re-acquire the lock.

No regression test because threads.

  • heap/DelayedReleaseScope.h:

(JSC::DelayedReleaseScope::~DelayedReleaseScope):

2:34 PM Changeset in webkit [163114] by Martin Robinson
  • 5 edits
    2 adds in trunk

[GTK] [CMake] Add a "make dist" target
https://bugs.webkit.org/show_bug.cgi?id=116378

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: A CMake support for executing the make-dist

script and then turning the tarfile into a LZMA compressed file.

Source/WebCore:

  • CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it

and we don't want to distribute the dependency.

Tools:

Added a script that reads a manifest file an produces a tarball. Also add
the manifest.

  • gtk/make-dist.py: Added.
  • gtk/manifest.txt: Added.
2:23 PM Changeset in webkit [163113] by beidson@apple.com
  • 14 edits
    2 adds in trunk/Source

IDB: ObjectStore cursor advance() support
<rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866

Reviewed by Sam Weinig.

Source/WebCore:

Add IDBKeyData sorting for database collation:

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::compare):

  • Modules/indexeddb/IDBKeyData.h:
  • WebCore.exp.in:
  • platform/sql/SQLiteTransaction.h:

(WebCore::SQLiteTransaction::database):

Source/WebKit2:

Plumb calls through to the backing store:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update schema

for Records table.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Create a SQLiteIDBCursor object.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Call through to that object.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::idbKeyCollate): Renamed for clarity.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::unregisterCursor): Cleanup open cursors.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Added.

(WebKit::SQLiteIDBCursor::maybeCreate):
(WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
(WebKit::SQLiteIDBCursor::establishStatement):
(WebKit::SQLiteIDBCursor::createIndexCursorStatement): Stubbed for now.
(WebKit::SQLiteIDBCursor::createObjectStoreCursorStatement): Create the appropriate query for

the passed in IDBKeyRange.

(WebKit::SQLiteIDBCursor::advance): Step through that query.
(WebKit::SQLiteIDBCursor::iterate): Stubbed for now.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Added.

(WebKit::SQLiteIDBCursor::identifier):
(WebKit::SQLiteIDBCursor::transaction):
(WebKit::SQLiteIDBCursor::currentKey):
(WebKit::SQLiteIDBCursor::currentPrimaryKey):
(WebKit::SQLiteIDBCursor::currentValue):

Add infrastructure for a SQLiteIDBTransaction to keep track of (and clean up) its open cursors:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:

(WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
(WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction):
(WebKit::SQLiteIDBTransaction::reset):
(WebKit::SQLiteIDBTransaction::openCursor):
(WebKit::SQLiteIDBTransaction::clearCursors):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

(WebKit::SQLiteIDBTransaction::create):
(WebKit::SQLiteIDBTransaction::sqliteTransaction):

Add accessors for the two fields:

  • DatabaseProcess/IndexedDB/IDBIdentifier.h:

(WebKit::IDBIdentifier::connection):
(WebKit::IDBIdentifier::id):

  • WebKit2.xcodeproj/project.pbxproj:
2:06 PM Changeset in webkit [163112] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Implement policy response delegate handling
https://bugs.webkit.org/show_bug.cgi?id=127945

Reviewed by Dan Bernstein.

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForResponse):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForResponse):

1:49 PM Changeset in webkit [163111] by ddkilzer@apple.com
  • 7 edits in trunk/Source

De-virtual-ize CachedResource::isImage()
<http://webkit.org/b/127936>

Reviewed by Andreas Kling.

Also replace explicit type() checks with isImage().

Source/WebCore:

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequest): Use isImage().

  • loader/cache/CachedImage.h:

(WebCore::CachedResource::isImage): Remove virtual override.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::isImage): Check type() instead of
defining a virtual method that returns false by default.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache imageForURL:]): Use !isImage().

1:35 PM Changeset in webkit [163110] by dfarler@apple.com
  • 3 edits in trunk/Tools

Move OTHER_LDFLAGS erasure to DumpRenderTreeLibrary.xcconfig.
https://bugs.webkit.org/show_bug.cgi?id=127935

Reviewed by Andy Estes.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig:

Move OTHER_LDFLAGS erasure to the static library's xcconfig.

1:30 PM Changeset in webkit [163109] by dino@apple.com
  • 3 edits in trunk/Source/WebKit2

Allow the OpenGL Profiler to get through the sandbox
https://bugs.webkit.org/show_bug.cgi?id=127877
<rdar://problem/14817250>
<rdar://problem/14271180>

Reviewed by Alexey Proskuryakov.

Open up the sandbox for WebProcess and PluginProcess so
that OpenGL.framework can create a mach port for communication
with the OpenGL Profiler.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
1:28 PM Changeset in webkit [163108] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Begin fleshing out the navigation delegate
https://bugs.webkit.org/show_bug.cgi?id=127939

Reviewed by Dan Bernstein.

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
Pass the listener as a RefPtr.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):
Update for API::PolicyClient changes.

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

Add new delegate.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Set a policy client on the page.

  • UIProcess/Cocoa/NavigationState.h:

Add a new PolicyClient class.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationState):
Initialize m_navigationDelegateMethods.

(WebKit::NavigationState::navigationDelegate):
m_delegate was renamed to m_navigationDelegate.

(WebKit::NavigationState::setNavigationDelegate):
Update m_navigationDelegateMethods.webViewDecidePolicyForNavigationActionDecisionHandler.

(WebKit::NavigationState::createPolicyClient):
New helper function for creating a new policy client.

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
Call the navigation delegate method.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):
Use std::move to hand off the listener to the client.

1:26 PM Changeset in webkit [163107] by dfarler@apple.com
  • 2 edits in trunk/Tools

DumpRenderTree fails to build with ASAN: -fsanitize=address passed to static DRT target
https://bugs.webkit.org/show_bug.cgi?id=127935

Reviewed by Andy Estes.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Clear OTHER_LDFLAGS at the project level for the static library target.
No other linker flags were inherited from DebugRelease.

1:11 PM Changeset in webkit [163106] by dfarler@apple.com
  • 2 edits in trunk/Tools

package-root shouldn't prefix simulator roots with the SDK path
http://bugs.webkit.org/show_bug.cgi?id=127923

Reviewed by Dan Bernstein.

  • Scripts/package-root: Don't add an install path prefix.
1:08 PM Changeset in webkit [163105] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Update FTL StackMaps parser to stackSize change
https://bugs.webkit.org/show_bug.cgi?id=127933

Reviewed by Oliver Hunt.

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::parse):

1:04 PM Changeset in webkit [163104] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] don't update media layers on main thread when using AVFoundation
https://bugs.webkit.org/show_bug.cgi?id=127931

Reviewed by Simon Fraser.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers

should be updated on the main thread.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see

if video plug-in proxy is enabled.

  • rendering/RenderLayerBacking.h:
12:57 PM Changeset in webkit [163103] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Crash in RemoteLayerBackingStore::encode when m_frontBuffer is nullptr.
https://bugs.webkit.org/show_bug.cgi?id=127756

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-01-30
Reviewed by Jer Noble.

Don't encode RemoteLayerBackingStore when it has no front buffer.

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::hasFrontBuffer):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):

12:44 PM Changeset in webkit [163102] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
https://bugs.webkit.org/show_bug.cgi?id=127929

Reviewed by Eric Carlson.

Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
system font rather than the webkit small control font, and the buttons in the controls
are clipped due to an "off by one" error when calculating the SVG image dimensions.

  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-time-remaining-display):

12:43 PM Changeset in webkit [163101] by rgabor@webkit.org
  • 2 edits in trunk/Tools

Add ARM EFL Linux builder bots to Apple buildmaster
https://bugs.webkit.org/show_bug.cgi?id=127472

Reviewed by Csaba Osztrogonác.

There is no ARM buildslaves after removing the Qt builders.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
12:32 PM Changeset in webkit [163100] by aestes@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r163037): WebKit2.PageLoadBasic API test failing on Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=127934

Disable the failing test on Mountain Lion.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::TEST):

12:29 PM Changeset in webkit [163099] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit2

Host plug-ins in XPC services
<https://webkit.org/b/127897> / <rdar://problem/13675955>

We disabled use of XPC services for plug-ins back in r143829 as the per-architecture services
were not being built for the appropriate architectures. Fixing that allows us to reenable them.

Reviewed by Anders Carlsson.

  • Configurations/PluginService.32.xcconfig: Use VALID_ARCHS to restrict the service

to building for i386-only in production builds. Non-production builds allow building
for all standard architectures to ensure that Xcode will be able to build this target.
The exact architecture used isn't a concern for non-production builds since we'll use
the development version of the service anyway.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::shouldUseXPC): Remove the workaround that disables use of the XPC services.

12:00 PM Changeset in webkit [163098] by andersca@apple.com
  • 8 edits
    1 copy in trunk

Add WKNavigationDelegate class
https://bugs.webkit.org/show_bug.cgi?id=127927

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKNavigationDelegate.h: Copied from Source/WebKit2/UIProcess/Cocoa/NavigationState.h.
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView navigationDelegate]):
(-[WKWebView setNavigationDelegate:]):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::navigationDelegate):
(WebKit::NavigationState::setNavigationDelegate):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(TEST):

11:50 AM Changeset in webkit [163097] by commit-queue@webkit.org
  • 4 edits
    3 copies
    3 adds in trunk/Source/WebCore

Refactor WebVideoFullscreenController separating AVKit from MediaElement.
https://bugs.webkit.org/show_bug.cgi?id=127762

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-01-30
Reviewed by Jer Noble.

Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations:
WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/ios/WebVideoFullscreenControllerAVKit.h:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController init]):
(-[WebVideoFullscreenController dealloc]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):

  • platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.

(WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.

(WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.

(NS_ENUM):
(-[WebAVPlayerController init]):
(-[WebAVPlayerController dealloc]):
(-[WebAVPlayerController forwardingTargetForSelector:]):
(-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
(-[WebAVPlayerController play:]):
(-[WebAVPlayerController pause:]):
(-[WebAVPlayerController togglePlayback:]):
(-[WebAVPlayerController isPlaying]):
(-[WebAVPlayerController setPlaying:]):
(+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
(-[WebAVPlayerController seekToTime:]):
(:m_videoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):

  • platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.

(WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):

  • platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.

(WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
(WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):

  • platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.

(WebVideoFullscreenModelMediaElement::setMediaElement):
(WebVideoFullscreenModelMediaElement::handleEvent):
(WebVideoFullscreenModelMediaElement::requestExitFullScreen):
(WebVideoFullscreenModelMediaElement::play):
(WebVideoFullscreenModelMediaElement::pause):
(WebVideoFullscreenModelMediaElement::togglePlayState):
(WebVideoFullscreenModelMediaElement::seekToTime):
(WebVideoFullscreenModelMediaElement::didExitFullscreen):

11:37 AM Changeset in webkit [163096] by dfarler@apple.com
  • 4 edits in trunk/Tools

Enable iOS Tools builds by default
https://bugs.webkit.org/show_bug.cgi?id=127919

Reviewed by Andy Estes.

  • Makefile:

Build all the tools except MiniBrowser on iOS

  • Scripts/build-webkit:

Ditto.
Build WebKitTestRunnerApp target on iOS.

11:34 AM Changeset in webkit [163095] by dfarler@apple.com
  • 3 edits in trunk/Tools

Make TestWebKitAPI build and run for iOS
https://bugs.webkit.org/show_bug.cgi?id=127925

Reviewed by Andy Estes.

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • Don't warn on 64-32 bit conversion on x86_64 and arm64
  • Don't build mac/*
  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
  • Link WebKit2 on all platforms
11:30 AM Changeset in webkit [163094] by jer.noble@apple.com
  • 8 edits in trunk/Source/WebCore

[MediaControls][iOS] Add a "start load" button.
https://bugs.webkit.org/show_bug.cgi?id=127861

Reviewed by Eric Carlson.

Add a "start load" button which replaces the controls on platforms
where inline playback is not allowed, or when playback without a
user gesture is not allowed.

Add an accessor to MediaControlsHost to query whether inline playback is allowed.:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::mediaPlaybackAllowsInline):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:
  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::mediaSession):

Update the base controller to allow more functions to be overridden:

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller):
(Controller.prototype.shouldHaveAnyUI):
(Controller.prototype.updateBase):
(Controller.prototype.setControlsType):
(Controller.prototype.updateControls):
(Controller.prototype.handleFullscreenChange):

Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.addVideoListeners):
(ControllerIOS.prototype.removeVideoListeners):
(ControllerIOS.prototype.createBase):
(ControllerIOS.prototype.shouldHaveStartPlaybackButton):
(ControllerIOS.prototype.shouldHaveControls):
(ControllerIOS.prototype.shouldHaveAnyUI):
(ControllerIOS.prototype.createControls):
(ControllerIOS.prototype.setControlsType):
(ControllerIOS.prototype.addStartPlaybackControls):
(ControllerIOS.prototype.removeStartPlaybackControls):
(ControllerIOS.prototype.updateControls):
(ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
(ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
(ControllerIOS.prototype.handleReadyStateChange):

Add the new art:

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-start-playback-button):
(audio::-webkit-media-controls-start-playback-button.failed):

11:29 AM Changeset in webkit [163093] by timothy_horton@apple.com
  • 13 edits in trunk/Source

WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
https://bugs.webkit.org/show_bug.cgi?id=127891
<rdar://problem/15931413>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKViewPrivate.h: Add the SPI.
  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::clearCustomSwipeViews):

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::clearCustomSwipeViews):

  • UIProcess/PageClient.h:

Plumb clearCustomSwipeViews() so that WebPageProxy can clear
ViewGestureController's list of custom views when the current
back-forward item changes.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):
If we have custom swipe views, use the union of their bounds as the snapshot region.

(-[WKView _setCustomSwipeViews:]):
Forward along to ViewGestureController.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):
When the current back forward list item changes, clear the custom swipe views.

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::setCustomSwipeViews):
(WebKit::ViewGestureController::customSwipeViews):

  • UIProcess/mac/ViewGestureController.mm:

(WebKit::ViewGestureController::windowRelativeBoundsForCustomSwipeViews):
Compute the union of the custom swipe view bounds in the window's coordinate space.

(WebKit::ViewGestureController::beginSwipeGesture):
Store the layers we'll be swiping as the "live" layers in m_currentSwipeLiveLayers.
Don't set a shadow (yet) if we have custom swipe views, because it's not clear where to put it.

(WebKit::ViewGestureController::handleSwipeGesture):
Compute the swipe distance ('width') based on the union of the custom views bounds if needed.
Update the transform of all of the live layers. We use transform instead of position now
so that clients can set the position (having an identity transform is one of the SPI caveats).

(WebKit::ViewGestureController::removeSwipeSnapshot):
Reset the transform on all of the live layers.
Clear the list of live layers.

  • WebCore.exp.in:

A surprising export.

11:25 AM Changeset in webkit [163092] by Beth Dakin
  • 17 edits
    6 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=127371
Explore new API that could be used to help build infinitely scrolling websites
-and corresponding-
<rdar://problem/15244768>

Reviewed by Sam Weinig.

Source/WebCore:

This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop,
webkitwillrevealleft, and webkitwillrevealright. These events will fire when the
user has scrolled close to corresponding edge of the document. Right now that is
defined to be one viewport away from the corresponding edge.

FrameView::scrollPositionChanged() and
FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters
representing the old scroll position and the new position.

  • WebCore.exp.in:

New events.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.h:
  • dom/Element.idl:
  • dom/EventNames.h:
  • html/HTMLAttributeNames.in:
  • html/HTMLElement.cpp:

(WebCore::populateEventNameForAttributeLocalNameMap):

  • page/DOMWindow.h:
  • page/DOMWindow.idl:

Send oldPosition and newPosition to scrollPositionChanged().

  • page/FrameView.cpp:

(WebCore::FrameView::setFixedVisibleContentRect):
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget):

After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send
the see if we should send the new will-reveal events.
(WebCore::FrameView::scrollPositionChanged):

Use the old position and the new position to determine if the events should be
sent.
(WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):

Send new parameters to scrollPositionChanged().
(WebCore::FrameView::scrollTo):
(WebCore::FrameView::wheelEvent):

  • page/FrameView.h:

Source/WebKit/mac:

FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters
representing the old scroll position and the new position.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _frameOrBoundsChanged]):

LayoutTests:

  • fast/events/will-reveal-edges-body-attributes-expected.txt: Added.
  • fast/events/will-reveal-edges-body-attributes.html: Added.
  • fast/events/will-reveal-edges-event-listeners-expected.txt: Added.
  • fast/events/will-reveal-edges-event-listeners.html: Added.
  • fast/events/will-reveal-edges-window-attributes-expected.txt: Added.
  • fast/events/will-reveal-edges-window-attributes.html: Added.
11:02 AM Changeset in webkit [163091] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[curl] Improve realm string parsing in WWW-Authenticate headers
https://bugs.webkit.org/show_bug.cgi?id=127421

Patch by Szabolcs David <davidsz@inf.u-szeged.hu> on 2014-01-30
Reviewed by Brent Fulgham.

The realm string contains quotes at the beginning and end - this is the
opposite of the libsoup implementation. Furthermore, if the header is
concatenated from two or more another headers, it contains more incorrect part.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::removeLeadingAndTrailingQuotes):
(WebCore::getProtectionSpace):

10:20 AM Changeset in webkit [163090] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Update test expectations for WK1 and WK2 after r162947
https://bugs.webkit.org/show_bug.cgi?id=127913

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-01-30

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt:
10:18 AM Changeset in webkit [163089] by andersca@apple.com
  • 13 edits in trunk/Source/WebCore

Modernize HTTPHeaderMap iteration
https://bugs.webkit.org/show_bug.cgi?id=127915

Reviewed by Andreas Kling.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForHeaders):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::replayXHR):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isSimpleCrossOriginAccessRequest):
(WebCore::createAccessControlPreflightRequest):

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::store):

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::canReuse):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::updateResponseAfterRevalidation):

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::copyData):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::addHTTPHeaderFields):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::setHeaderFields):

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::getAllResponseHeaders):

10:06 AM Changeset in webkit [163088] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectation for tests failing after r160991 and r162605.

  • platform/efl-wk2/TestExpectations:
9:49 AM Changeset in webkit [163087] by beidson@apple.com
  • 9 edits in trunk/Source/WebKit2

IDB: Add no-op plumbing for deleteDatabase and deleteRange
https://bugs.webkit.org/show_bug.cgi?id=127912

Reviewed by Alexey Proskuryakov.

Forward the calls to the DatabaseProcess, and handle completion from the DatabaseProcess:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::didDeleteDatabase):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::didDeleteRange):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Stub out deleteDatabase, and forward deleteRange to the appropriate UniqueIDBDatabase:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::deleteDatabase):
(WebKit::DatabaseProcessIDBConnection::deleteRange):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Forward the request to the backing store thread, and handle the response from that thread:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::deleteRange):
(WebKit::UniqueIDBDatabase::deleteRangeInBackingStore):
(WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
9:49 AM Changeset in webkit [163086] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Implement open/close Console window shortcut
https://bugs.webkit.org/show_bug.cgi?id=127896

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-01-30
Reviewed by Timothy Hatcher.

  • UserInterface/KeyboardShortcut.js:

(WebInspector.KeyboardShortcut.prototype.get displayName):
Bug: Option symbol should be displayed as Alternative symbol (\u2387)
in non Mac platforms.

  • UserInterface/Main.js:

(WebInspector.contentLoaded):
Create keyboard shortcut for toggling console window.

9:33 AM Changeset in webkit [163085] by zandobersek@gmail.com
  • 4 edits in trunk

[GTK] Only disable -ftree-dce optimization when compiling with GCC
https://bugs.webkit.org/show_bug.cgi?id=127911

Reviewed by Carlos Garcia Campos.

.:

  • Source/autotools/SetupAutomake.m4: Define the COMPILER_GCC and COMPILER_CLANG Automake macros.

These can be used when compiler-specific flags have to be used. The latter one is not actually needed
at the moment, but is added for the sake of completeness.

Source/JavaScriptCore:

  • GNUmakefile.am: Only disable the -ftree-dce optimization when using the GCC compiler.

Some Clang versions/configurations don't support the flag.

9:17 AM Changeset in webkit [163084] by dfarler@apple.com
  • 2 edits in trunk/Tools

package-root should copy ./usr from the build products directory
https://bugs.webkit.org/show_bug.cgi?id=127878

Reviewed by Daniel Bates.

  • Scripts/package-root:

Copy ./usr in addition to the frameworks.

8:33 AM Changeset in webkit [163083] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

[GTK] Disable optimizations for JSC that turned out malignant after jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=127909

Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: Disable the -fomit-frame-pointer optimization to achieve proper register usage

in operationCallEval. Disable the -ftree-dce optimization since it is causing additional failures
when using GCC 4.8, possibly due to a bug in the compiler itself.

7:49 AM Changeset in webkit [163082] by Antti Koivisto
  • 6 edits in trunk/Source

WebPage::determinePrimarySnapshottedPlugIn is slow
https://bugs.webkit.org/show_bug.cgi?id=127905

Source/WebCore:

Reviewed by Anders Carlsson.

  • WebCore.exp.in: New exports
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLPlugInImageElement.h:

(WebCore::HTMLPlugInImageElement>): Add isElementOfType<>

Source/WebKit2:

Reviewed by Anders Carlsson.

PLT before:
132.0ms 0.8% 0,0 WebKit::WebPage::determinePrimarySnapshottedPlugIn()
130.0ms 0.8% 0,0 WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)

After:
7.0ms 0.0% 0,0 WebKit::WebPage::determinePrimarySnapshottedPlugIn()
3.0ms 0.0% 0,0 WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

Instead of shotgunning the page with hit tests, do a DOM crawl for plugins
and hit test the centers.

6:04 AM Changeset in webkit [163081] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[SOUP] Fix the build if !ENABLE(WEB_TIMING)
https://bugs.webkit.org/show_bug.cgi?id=127906

Reviewed by Gustavo Noronha Silva.

  • platform/network/soup/SoupNetworkSession.cpp:
3:37 AM Changeset in webkit [163080] by Csaba Osztrogonác
  • 2 edits in trunk

[EFL] Fix the regression caused by the jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=127898

Reviewed by Zoltan Herczeg.

  • Source/cmake/OptionsEfl.cmake: Build with -fno-omit-frame-pointer.
2:22 AM Changeset in webkit [163079] by abucur@adobe.com
  • 316 edits in trunk

Remove the ACCELERATED_COMPOSITING flag
https://bugs.webkit.org/show_bug.cgi?id=127833

Reviewed by Antti Koivisto.

Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
mandatory.

Source/WebCore:

Tests: No new tests, no functional change.

  • css/MediaQueryEvaluator.cpp:

(WebCore::transform_3dMediaFeatureEval):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):

  • dom/Document.cpp:

(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::recalcStyle):
(WebCore::Document::createRenderTree):
(WebCore::Document::documentWillBecomeInactive):
(WebCore::Document::documentDidResumeFromPageCache):
(WebCore::Document::windowScreenDidChange):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::~PseudoElement):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::CachedFrameBase):
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):

  • history/CachedFrame.h:
  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • history/CachedPage.h:
  • history/PageCache.cpp:

(WebCore::PageCache::PageCache):
(WebCore::PageCache::markPagesForDeviceScaleChanged):

  • history/PageCache.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::didDraw):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::markContextChanged):
(WebCore::WebGLRenderingContext::reshape):
(WebCore::WebGLRenderingContext::platformLayer):

  • html/canvas/WebGLRenderingContext.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::pseudoElementDestroyed):

  • inspector/InspectorLayerTreeAgent.cpp:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:
  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • page/Frame.cpp:

(WebCore::Frame::layerTreeAsText):
(WebCore::Frame::deviceOrPageScaleFactorChanged):

  • page/Frame.h:
  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
(WebCore::FrameView::hasCompositedContent):
(WebCore::FrameView::hasCompositedContentIncludingDescendants):
(WebCore::FrameView::hasCompositingAncestor):
(WebCore::FrameView::enterCompositingMode):
(WebCore::FrameView::isEnclosedInCompositingLayer):
(WebCore::FrameView::flushCompositingStateIncludingSubframes):
(WebCore::FrameView::isSoftwareRenderable):
(WebCore::FrameView::layout):
(WebCore::FrameView::contentsInCompositedLayer):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::setIsOverlapped):
(WebCore::FrameView::delegatesScrollingDidChange):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::updateCompositingLayersAfterScrolling):
(WebCore::FrameView::visibleContentsResized):
(WebCore::FrameView::addedOrRemovedScrollbar):
(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
(WebCore::FrameView::adjustTiledBackingCoverage):
(WebCore::FrameView::hasExtendedBackground):
(WebCore::FrameView::extendedBackgroundRect):
(WebCore::FrameView::setBackgroundExtendsBeyondPage):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::setTracksRepaints):
(WebCore::FrameView::resetTrackedRepaints):
(WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
(WebCore::FrameView::setExposedRect):

  • page/FrameView.h:
  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):
(WebCore::Page::setDeviceScaleFactor):

  • page/Settings.cpp:

(WebCore::Settings::setBackgroundShouldExtendBeyondPage):

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::freezeAtTime):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):

  • page/animation/CSSPropertyAnimation.h:
  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::updateTransitions):

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::animate):
(WebCore::ImplicitAnimation::startAnimation):
(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::endAnimation):
(WebCore::ImplicitAnimation::timeToNextService):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
(WebCore::KeyframeAnimation::timeToNextService):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::viewportOffsetChanged):
(WebCore::Frame::containsTiledBackingLayers):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
(WebCore::ScrollingCoordinator::scrollLayerForFrameView):
(WebCore::ScrollingCoordinator::headerLayerForFrameView):
(WebCore::ScrollingCoordinator::footerLayerForFrameView):
(WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
(WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):

  • page/scrolling/ScrollingCoordinator.h:
  • platform/ScrollView.cpp:

(WebCore::positionScrollCornerLayer):
(WebCore::ScrollView::positionScrollbarLayers):
(WebCore::ScrollView::paintScrollbars):
(WebCore::ScrollView::paint):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::invalidateScrollbar):
(WebCore::ScrollableArea::invalidateScrollCorner):
(WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
(WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
(WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
(WebCore::ScrollableArea::hasLayerForScrollCorner):

  • platform/ScrollableArea.h:
  • platform/ScrollbarTheme.h:
  • platform/efl/EflScreenUtilities.cpp:

(WebCore::applyFallbackCursor):

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/GraphicsContext3DPrivate.h:
  • platform/graphics/GraphicsLayer.cpp:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/GraphicsLayerAnimation.cpp:
  • platform/graphics/GraphicsLayerAnimation.h:
  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/GraphicsLayerFactory.h:
  • platform/graphics/GraphicsLayerUpdater.cpp:
  • platform/graphics/GraphicsLayerUpdater.h:
  • platform/graphics/ImageBuffer.cpp:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::platformLayer):
(WebCore::MediaPlayer::supportsAcceleratedRendering):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/PlatformLayer.h:
  • platform/graphics/TextTrackRepresentation.cpp:
  • platform/graphics/TextTrackRepresentation.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
(WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):

  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/LayerFlushScheduler.cpp:
  • platform/graphics/ca/LayerFlushScheduler.h:
  • platform/graphics/ca/LayerFlushSchedulerClient.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/PlatformCALayerClient.h:
  • platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(PlatformCAAnimation::copyTimingFunctionsFrom):

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::enumerateRectsBeingDrawn):

  • platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  • platform/graphics/ca/win/CACFLayerTreeHost.h:
  • platform/graphics/ca/win/CACFLayerTreeHostClient.h:
  • platform/graphics/ca/win/LayerChangesFlusher.cpp:
  • platform/graphics/ca/win/LayerChangesFlusher.h:
  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimation::copyTimingFunctionsFrom):

  • platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::createCompatibleLayer):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::drawTile):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:
  • platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
  • platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
  • platform/graphics/cairo/DrawingBufferCairo.cpp:

(WebCore::DrawingBuffer::paintCompositedResultsToCanvas):

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::platformLayer):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::platformLayer):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::platformLayer):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:
  • platform/graphics/efl/GraphicsContext3DPrivate.h:
  • platform/graphics/gpu/DrawingBuffer.h:
  • platform/graphics/gpu/LoopBlinnMathUtils.cpp:
  • platform/graphics/gpu/TilingData.cpp:
  • platform/graphics/gpu/mac/DrawingBufferMac.mm:

(WebCore::DrawingBuffer::frontColorBuffer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
(WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::platformLayer):
(WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
(WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
(WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
(-[WebCoreMovieObserver layerHostChanged:]):

  • platform/graphics/mac/WebGLLayer.h:
  • platform/graphics/mac/WebGLLayer.mm:
  • platform/graphics/mac/WebLayer.h:
  • platform/graphics/mac/WebLayer.mm:
  • platform/graphics/mac/WebTiledLayer.h:
  • platform/graphics/mac/WebTiledLayer.mm:
  • platform/graphics/opengl/GLDefs.h:
  • platform/graphics/opengl/GLPlatformContext.cpp:
  • platform/graphics/opengl/GLPlatformContext.h:
  • platform/graphics/opengl/GLPlatformSurface.cpp:
  • platform/graphics/opengl/GLPlatformSurface.h:
  • platform/graphics/surfaces/GLTransportSurface.cpp:
  • platform/graphics/surfaces/GLTransportSurface.h:
  • platform/graphics/surfaces/glx/GLXConfigSelector.h:
  • platform/graphics/surfaces/glx/GLXContext.cpp:
  • platform/graphics/surfaces/glx/GLXContext.h:
  • platform/graphics/surfaces/glx/GLXSurface.cpp:
  • platform/graphics/surfaces/glx/GLXSurface.h:
  • platform/graphics/texmap/TextureMapper.cpp:
  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperBackingStore.cpp:
  • platform/graphics/texmap/TextureMapperBackingStore.h:
  • platform/graphics/texmap/TextureMapperFPSCounter.cpp:
  • platform/graphics/texmap/TextureMapperFPSCounter.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:
  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:
  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:
  • platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
  • platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
  • platform/graphics/texmap/TextureMapperTile.cpp:
  • platform/graphics/texmap/TextureMapperTile.h:
  • platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
  • platform/graphics/texmap/TextureMapperTiledBackingStore.h:
  • platform/graphics/win/GraphicsContext3DWin.cpp:

(WebCore::GraphicsContext3D::platformLayer):

  • platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:

(WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
(WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):

  • platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
(WebCore::CreateCGImageFromPixelBuffer):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
  • platform/graphics/win/WKCAImageQueue.cpp:
  • platform/graphics/win/WKCAImageQueue.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm:
  • plugins/PluginViewBase.h:
  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):

  • rendering/FlowThreadController.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleWillChange):
(WebCore::isCandidateForOpaquenessTest):
(WebCore::layersUseImage):
(WebCore::RenderBox::imageChanged):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::suspendAnimations):
(WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference):
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::styleWillChange):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):

  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.cpp:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::notifyFinished):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::canRender3DTransforms):
(WebCore::RenderLayer::paintsWithFilters):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
(WebCore::RenderLayer::shouldRepaintAfterLayout):
(WebCore::RenderLayer::enclosingFilterRepaintLayer):
(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
(WebCore::RenderLayer::clippingRootForPainting):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::removeOnlyThisLayer):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore::RenderLayer::invalidateScrollbarRect):
(WebCore::RenderLayer::invalidateScrollCornerRect):
(WebCore::RenderLayer::positionOverflowControls):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::paintOverflowControls):
(WebCore::shouldDoSoftwarePaint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:
  • rendering/RenderLayerCompositor.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::repaintUsingContainer):

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::updatePlayer):
(WebCore::RenderVideo::acceleratedRenderingStateChanged):

  • rendering/RenderVideo.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):
(WebCore::RenderView::repaintRootContents):
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
(WebCore::RenderView::repaintViewAndCompositedLayers):
(WebCore::RenderView::setMaximalOutlineSize):
(WebCore::RenderView::compositor):
(WebCore::RenderView::setIsInWindow):

  • rendering/RenderView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):
(WebCore::RenderWidget::requiresAcceleratedCompositing):

  • rendering/RenderWidget.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::changeRequiresRecompositeLayer):
(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setHeaderHeight):
(WebCore::Internals::setFooterHeight):

Source/WebKit/efl:

Another patch will be required to remove the flag support from the EFL build system.

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
  • WebCoreSupport/AcceleratedCompositingContextEfl.h:
  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::allowedCompositingTriggers):

  • WebCoreSupport/ChromeClientEfl.h:
  • WebCoreSupport/PageClientEfl.cpp:

(PageClientEfl::acceleratedCompositingContext):

  • WebCoreSupport/PageClientEfl.h:
  • ewk/ewk_private.h:
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):
(_ewk_view_priv_del):
(ewk_view_mark_for_sync):

  • ewk/ewk_view_private.h:

Source/WebKit/gtk:

Another patch will be required to remove the flag support from the GTK build system.

  • WebCoreSupport/AcceleratedCompositingContext.h:
  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:
  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::widgetSizeChanged):
(WebKit::ChromeClient::forcePaint):
(WebKit::ChromeClient::invalidateContentsAndRootView):
(WebKit::ChromeClient::invalidateContentsForSlowScroll):
(WebKit::ChromeClient::scroll):
(WebKit::ChromeClient::allowedCompositingTriggers):

  • WebCoreSupport/ChromeClientGtk.h:
  • webkit/webkitwebview.cpp:

(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):
(webkit_web_view_init):

  • webkit/webkitwebviewprivate.h:

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::attachRootGraphicsLayer):

  • WebView/WebUIKitDelegate.h:

Source/WebKit/mac:

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView createPlugin]):
(-[WebHostedNetscapePluginView createPluginLayer]):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView createPlugin]):
(-[WebNetscapePluginView getVariable:value:]):

  • Plugins/WebPluginController.mm:

(-[WebPluginController superlayerForPluginView:]):

  • WebCoreSupport/WebChromeClient.h:

(WebChromeClient::allowedCompositingTriggers):

  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(PluginWidgetIOS::detachPluginLayer):
(NetscapePluginWidget::platformLayer):

  • WebView/WebClipView.mm:

(-[WebClipView _immediateScrollToPoint:]):

  • WebView/WebHTMLView.mm:

(setNeedsDisplayInRect):
(+[WebHTMLViewPrivate initialize]):
(-[WebHTMLViewPrivate clear]):
(-[WebHTMLView _setAsideSubviews]):
(-[WebHTMLView hitTest:]):
(-[WebHTMLView _isUsingAcceleratedCompositing]):
(-[WebHTMLView _compositingLayersHostingView]):
(-[WebHTMLView viewDidMoveToSuperview]):
(-[WebHTMLView drawRect:]):

  • WebView/WebHTMLViewInternal.h:
  • WebView/WebRenderLayer.mm:

(+[WebRenderLayer compositingInfoForLayer:]):

  • WebView/WebView.mm:

(-[WebView _close]):
(-[WebView _setMediaLayer:forPluginView:]):
(-[WebView _postsAcceleratedCompositingNotifications]):
(-[WebView _setPostsAcceleratedCompositingNotifications:]):
(-[WebView _isUsingAcceleratedCompositing]):
(-[WebView _isSoftwareRenderable]):
(-[WebView close]):

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(WebViewLayerFlushScheduler::WebViewLayerFlushScheduler):

  • WebView/WebViewInternal.h:

Source/WebKit/win:

Another patch will be required to remove the flag support from the Win build system.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::LayerClient::platformCALayerLayoutSublayersOfLayer):
(FullscreenVideoController::FullscreenVideoController):
(FullscreenVideoController::~FullscreenVideoController):
(FullscreenVideoController::enterFullscreen):

  • FullscreenVideoController.h:
  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::scheduleCompositingLayerFlush):

  • WebCoreSupport/WebChromeClient.h:

(WebChromeClient::setNeedsOneShotDrawingSynchronization):

  • WebPreferences.cpp:

(WebPreferences::acceleratedCompositingEnabled):

  • WebView.cpp:

(WebView::WebView):
(WebView::~WebView):
(WebView::close):
(WebView::repaint):
(WebView::addToDirtyRegion):
(WebView::scrollBackingStore):
(WebView::sizeChanged):
(WebView::updateBackingStore):
(WebView::paint):
(WebView::setShouldInvertColors):
(WebView::WebViewWndProc):
(WebView::notifyPreferencesChanged):
(WebView::setAcceleratedCompositing):

  • WebView.h:

Source/WebKit/wince:

Another patch will be required to remove the flag support from the WinCE build system.

  • WebCoreSupport/ChromeClientWinCE.cpp:

(WebKit::ChromeClientWinCE::scheduleCompositingLayerFlush):

  • WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit2:

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::PluginControllerProxy):

  • PluginProcess/PluginCreationParameters.cpp:

(WebKit::PluginCreationParameters::PluginCreationParameters):
(WebKit::PluginCreationParameters::encode):
(WebKit::PluginCreationParameters::decode):

  • PluginProcess/PluginCreationParameters.h:
  • PluginProcess/PluginProcess.h:
  • Shared/WebRenderLayer.cpp:

(WebKit::WebRenderLayer::WebRenderLayer):

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::enumerateRectsBeingDrawn):

  • UIProcess/API/efl/EvasGLContext.cpp:
  • UIProcess/API/efl/EvasGLContext.h:
  • UIProcess/API/efl/EvasGLSurface.cpp:
  • UIProcess/API/efl/EvasGLSurface.h:
  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::displayTimerFired):
(EwkView::createGLSurface):
(EwkView::handleEvasObjectCalculate):
(EwkView::handleEvasObjectShow):
(EwkView::takeSnapshot):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/SnapshotImageGL.cpp:

(getImageSurfaceFromFrameBuffer):

  • UIProcess/API/efl/SnapshotImageGL.h:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::SetUp):

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::updateAcceleratedCompositingMode):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::acceleratedCompositingRootLayer):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

(WebKit::CoordinatedDrawingAreaProxy::~CoordinatedDrawingAreaProxy):
(WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
(WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::updateAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:
  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::setVisible):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/DrawingAreaProxy.messages.in:
  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):

  • UIProcess/DrawingAreaProxyImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformInitializePluginProcess):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateAcceleratedCompositingMode):

  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didCommitLoadForFrame):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:
  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::didChangeContentsSize):
(WebKit::ViewClientEfl::didChangeContentsPosition):
(WebKit::ViewClientEfl::didRenderFrame):
(WebKit::ViewClientEfl::didCompletePageTransition):
(WebKit::ViewClientEfl::didChangeViewportAttributes):

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::screenRectOfContents):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):

  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::initialize):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::layerTreeStateIsFrozen):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers):
(WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
(WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
(WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):

  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::exitAcceleratedCompositingMode):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::didReceiveMessage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::hostingContextID):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(PlatformCALayerRemoteCustom::hostingContextID):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(PlatformCALayerRemoteTiledBacking::setBorderColor):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:

Source/WTF:

  • wtf/OwnPtrCommon.h:
  • wtf/Platform.h:
  • wtf/efl/OwnPtrEfl.cpp:

(WTF::deleteOwnedPtr):

Tools:

  • DumpRenderTree/efl/DumpRenderTree.cpp:

(initEcoreEvas):

  • EWebLauncher/main.c:

(windowCreate):

  • MiniBrowser/efl/main.c:

(elm_main):

  • TestWebKitAPI/efl/PlatformWebView.cpp:

(TestWebKitAPI::initEcoreEvas):

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::initEcoreEvas):

1:07 AM Changeset in webkit [163078] by k.czech@samsung.com
  • 3 edits in trunk/Source/WebCore

AX: Clean up AccessibilityRenderObject
https://bugs.webkit.org/show_bug.cgi?id=127838

Reviewed by Chris Fleizach.

Reducing some code by implementing ariaElementsFromAttribute.
It is used as a helper for other methods.

No new tests. Covered by existing ones.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
(WebCore::AccessibilityRenderObject::ariaFlowToElements):
(WebCore::AccessibilityRenderObject::ariaDescribedByElements):
(WebCore::AccessibilityRenderObject::ariaOwnsElements):

  • accessibility/AccessibilityRenderObject.h:
12:32 AM Changeset in webkit [163077] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, rolling out r163052.
http://trac.webkit.org/changeset/163052
https://bugs.webkit.org/show_bug.cgi?id=127895

It was the buildfix after the rolled out r163048 (Requested by
Ossy on #webkit).

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
12:19 AM Changeset in webkit [163076] by beidson@apple.com
  • 6 edits in trunk/Source/WebKit2

IDB: Key generator support
https://bugs.webkit.org/show_bug.cgi?id=127871

Reviewed by Tim Horton.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::putRecordInBackingStore): Update for storing/retrieving integers instead of IDBKeys.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a keygen table.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): Put a record in the keygen table for

this object store if necessary.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Delete the entry in the keygen table.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber): Pull the current number from the table.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber): Update the number in the table.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::put): Null keys are acceptable for autoIncrement object stores.

12:16 AM Changeset in webkit [163075] by beidson@apple.com
  • 10 edits in trunk/Source/WebKit2

IDB: Implement IDBObjectStore.count()
https://bugs.webkit.org/show_bug.cgi?id=127888

Reviewed by Tim Horton.

Forward request to the DatabaseProcess, and handle its completion:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::didCount):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Pass request along to the appropriate UniqueIDBDatabase:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::count):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Pass request to backing store thread, then pass it back to the WebProcess:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::countInBackingStore):
(WebKit::UniqueIDBDatabase::didCountInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • Shared/AsyncTask.h:

(WebKit::createAsyncTask):

12:03 AM Changeset in webkit [163074] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix the GTK+ build after r163037.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_load_uri):
(webkit_web_view_load_request):

Jan 29, 2014:

11:42 PM Changeset in webkit [163073] by commit-queue@webkit.org
  • 23 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r163048.
http://trac.webkit.org/changeset/163048
https://bugs.webkit.org/show_bug.cgi?id=127890

Caused many crashes, detected by EWS prior to landing
(Requested by ap on #webkit).

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::sortedTrackListForMenu):
(WebCore::MediaControlsHost::displayNameForTrack):
(WebCore::MediaControlsHost::captionDisplayMode):

  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::initUserStyle):

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):
(WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
(WebCore::Document::captionPreferencesChanged):

  • dom/DocumentStyleSheetCollection.cpp:
  • dom/DocumentStyleSheetCollection.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):

  • page/CaptionStyleSheetMediaAF.cpp: Removed.
  • page/CaptionStyleSheetMediaAF.h: Removed.
  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::CaptionUserPreferences):
(WebCore::CaptionUserPreferences::notify):
(WebCore::CaptionUserPreferences::setCaptionDisplayMode):
(WebCore::CaptionUserPreferences::userPrefersCaptions):
(WebCore::CaptionUserPreferences::setUserPrefersCaptions):
(WebCore::CaptionUserPreferences::userPrefersSubtitles):
(WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
(WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
(WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
(WebCore::CaptionUserPreferences::captionPreferencesChanged):
(WebCore::CaptionUserPreferences::textTrackSelectionScore):
(WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):

  • page/CaptionUserPreferences.h:

(WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
(WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
(WebCore::CaptionUserPreferences::testingMode):
(WebCore::CaptionUserPreferences::setTestingMode):
(WebCore::CaptionUserPreferences::pageGroup):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::userCaptionPreferencesChangedNotificationCallback):
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
(WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
(WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
(WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
(WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
(WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
(WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
(WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
(WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):

  • page/CaptionUserPreferencesMediaAF.h:
  • page/Page.cpp:
  • page/Page.h:
  • page/PageGroup.cpp:

(WebCore::PageGroup::captionPreferencesChanged):
(WebCore::PageGroup::captionPreferences):

  • page/PageGroup.h:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setShouldDisplayTrackKind):
(WebCore::InternalSettings::shouldDisplayTrackKind):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::Internals):
(WebCore::Internals::captionsStyleSheetOverride):
(WebCore::Internals::setCaptionsStyleSheetOverride):
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
(WebCore::Internals::setCaptionDisplayMode):

11:41 PM Changeset in webkit [163072] by Csaba Osztrogonác
  • 16 edits in trunk

Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
https://bugs.webkit.org/show_bug.cgi?id=127845

Reviewed by Joseph Pecoraro.

.:

  • Source/autotools/SetupWebKitFeatures.m4:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::supportsProfiling):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
11:36 PM Changeset in webkit [163071] by Joseph Pecoraro
  • 14 edits in trunk

Web Inspector: Play Breakpoint Sound in Frontend
https://bugs.webkit.org/show_bug.cgi?id=127885

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/ScriptDebugListener.h:
  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::evaluateBreakpointAction):
(Inspector::ScriptDebugServer::dispatchBreakpointActionSound):

  • inspector/ScriptDebugServer.h:

Pass the breakpoint action identifier through when the
sound breakpoint action is triggered.

  • inspector/protocol/Debugger.json:

New "playBreakpointActionSound" event when a "sound" breakpoint action triggers.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::breakpointActionSound):
Send the new event so the frontend can handle it.

Source/WebInspectorUI:

Beep in the frontend when a "sound" breakpoint action is triggered.

  • UserInterface/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.playBreakpointActionSound):

  • UserInterface/DebuggerObserver.js:

(WebInspector.DebuggerObserver.prototype.resumed):
(WebInspector.DebuggerObserver.prototype.playBreakpointActionSound):

  • UserInterface/InspectorJSBackendCommands.js:

LayoutTests:

Extend the breakpoint actions test for the "playBreakpointActionSound" event.

  • inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-actions.html:
11:30 PM Changeset in webkit [163070] by fpizlo@apple.com
  • 6 edits
    7 adds in trunk/Source/JavaScriptCore

Merge final changesets from the jsCStack branch (r162969, r162975, r162992, r163004, r163069).

2014-01-29 Filip Pizlo <fpizlo@apple.com>


DFG ArrayPop double array mishandles the NaN hole installation
https://bugs.webkit.org/show_bug.cgi?id=127813


Reviewed by Mark Rowe.


Our object model for arrays inferred double dictates that we use quiet NaN (QNaN) to
mark holes. Holes, in this context, are any entries in the allocated array buffer
(i.e. from index 0 up to the vectorLength) that don't currently hold a value. Popping
creates a hole, since it deletes the value at publicLength - 1.


But, because of some sloppy copy-and-paste, we were storing (int64_t)0 when creating
the hole, instead of storing QNaN. That's likely because for other kinds of arrays,
64-bit zero is the hole marker, instead of QNaN.


The attached test case illustrates the problem. In the LLInt and Baseline JIT, the
result returned from foo() is "1.5,2.54.5", since array.pop() removes 3.5 and
replaces it with a hole and then the assignment "array[3] = 4.5" creates an element
just beyond that hole. But, once we tier-up to the DFG, the result previously became
"1.5,2.5,0,4.5", which is wrong. The 0 appeared because the IEEE double
interpretation of 64-bit zero is simply zero.


This patch fixes that problem. Now the DFG agrees with the other engines.


This patch also fixes style. For some reason that copy-pasted code wasn't even
indented correctly.


  • dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile):
  • tests/stress/array-pop-double-hole.js: Added. (foo):


2014-01-28 Filip Pizlo <fpizlo@apple.com>


FTL should support ArrayPush
https://bugs.webkit.org/show_bug.cgi?id=127748


Not reviewed, remove some debug code.


  • ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileArrayPush):


2014-01-27 Filip Pizlo <fpizlo@apple.com>


FTL should support ArrayPush
https://bugs.webkit.org/show_bug.cgi?id=127748


Reviewed by Oliver Hunt.


  • ftl/FTLAbstractHeapRepository.h: (JSC::FTL::AbstractHeapRepository::forArrayType):
  • ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile):
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileArrayPush):
  • tests/stress/array-push-contiguous.js: Added. (foo):
  • tests/stress/array-push-double.js: Added. (foo):


2014-01-28 Filip Pizlo <fpizlo@apple.com>


FTL should support ArrayPop
https://bugs.webkit.org/show_bug.cgi?id=127749


Reviewed by Geoffrey Garen.


  • ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile):
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop):
  • tests/stress/array-pop-contiguous.js: Added. (foo):
  • tests/stress/array-pop-double.js: Added. (foo):
  • tests/stress/array-pop-int32.js: Added. (foo):
9:44 PM Changeset in webkit [163069] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::ByteCodeParser::m_dfgCodeBlock is sometimes uninitialized
<rdar://problem/15939032>

Reviewed by Dan Bernstein.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parse):

9:33 PM Changeset in webkit [163068] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.13.1/Source/JavaScriptCore

Merged r162968.

9:25 PM Changeset in webkit [163067] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Moved linking against common frameworks and a library from the .xcconfig file into the target.

Reviewed by Tim Horton.

  • Configurations/WebKit2.xcconfig:
  • WebKit2.xcodeproj/project.pbxproj:
9:23 PM Changeset in webkit [163066] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.13.1/Source

Versioning.

9:19 PM Changeset in webkit [163065] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.13.1

New tag.

7:20 PM Changeset in webkit [163064] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix 32-bit build.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:
6:50 PM Changeset in webkit [163063] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit

Moved linking against common frameworks and a library from the .xcconfig file into the target.

Reviewed by Tim Horton.

../WebKit:

  • WebKit.xcodeproj/project.pbxproj:

../WebKit/mac:

  • Configurations/WebKit.xcconfig:
6:49 PM Changeset in webkit [163062] by andersca@apple.com
  • 7 edits
    2 copies
    1 add in trunk/Source/WebKit2

Add a NavigationState object to keep track of the navigations for a given page
https://bugs.webkit.org/show_bug.cgi?id=127884

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKNavigation.mm:

(-[WKNavigation request]):
(-[WKNavigation setRequest:]):

  • UIProcess/API/Cocoa/WKNavigationInternal.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView loadRequest:]):

  • UIProcess/Cocoa/NavigationState.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm.
  • UIProcess/Cocoa/NavigationState.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm.

(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::~NavigationState):
(WebKit::NavigationState::createLoadRequestNavigation):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadRequest):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
6:10 PM Changeset in webkit [163061] by barraclough@apple.com
  • 9 edits in trunk/Source

Add IsVisibleOrOccluded to ViewState
https://bugs.webkit.org/show_bug.cgi?id=127875

Reviewed by Anders Carlsson.

../WebCore:

  • page/ViewState.h:
    • added IsVisibleOrOccluded

../WebKit2:

When the WKView associated with a plugin becomes occluded
we tell the plugin it is no longer visible. This is a problem
if the plugin is being occluded by its own fullscreen window.

Instead, consider plugins to be visible any time they are in
a visible window – i.e. when they are visible or occluded.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isViewVisibleOrOccluded):

  • UIProcess/PageClient.h:

(WebKit::PageClient::isViewVisibleOrOccluded):

  • added isViewVisibleOrOccluded.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):

  • update IsVisibleOrOccluded.

(WebKit::WebPageProxy::viewStateDidChange):

  • when updating IsVisible also update IsVisibleOrOccluded.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::platformViewStateDidChange):

  • use isVisibleOrOccluded to determine plugin visibility.
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::isVisibleOrOccluded):

  • accessor.
6:07 PM Changeset in webkit [163060] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Pass navigation IDs along to LoadRequest and Reload
https://bugs.webkit.org/show_bug.cgi?id=127883

Reviewed by Sam Weinig.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::generateNavigationID):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebDocumentLoader.cpp:

(WebKit::WebDocumentLoader::setNavigationID):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::reload):
(WebKit::WebPage::createDocumentLoader):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
6:05 PM Changeset in webkit [163059] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

checkTextOfParagraph releases NSString twice
https://bugs.webkit.org/show_bug.cgi?id=127881
<rdar://problem/15937446>

Reviewed by Anders Carlsson.

textString is released once by an explicit call to release and again by it going out of scope.
Don't do the explicit release.

The bug was spotted by Sam Weinig.

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::checkTextOfParagraph):

6:03 PM Changeset in webkit [163058] by mhahnenberg@apple.com
  • 2 edits in trunk/LayoutTests

js/function-apply-aliased.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=127860

Reviewed by Michael Saboff.

6:02 PM Changeset in webkit [163057] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

50% time on Dromaeo Selector * benchmark spent allocating oversized backing stores (but not in Chrome)
https://bugs.webkit.org/show_bug.cgi?id=127879

Reviewed by Gavin Barraclough.

Let's not dynamically resize an array whose size is statically known,
mmmkay?

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncConcat): Use nullptr to disambiguate vs the numeric
argument.

(JSC::arrayProtoFuncSlice): The fix.

(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap): Use nullptr.

5:53 PM Changeset in webkit [163056] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
and selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=127834

Reviewed by Alexey Proskuryakov.

Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.

In addition, removed the rather error-prone function override of setSelection since TextGranularity,
which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
There are two layout tests that fail without this.
(WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
(WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call

  • editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and

selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.

5:41 PM Changeset in webkit [163055] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix after 163050.

Import CALayer.h explicitly as (on iOS) it is not included by other headers.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
5:32 PM Changeset in webkit [163054] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Run JSC Inspector EventLoop in a custom run loop mode to prevent default observers from running
https://bugs.webkit.org/show_bug.cgi?id=127865

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-01-29
Reviewed by Geoffrey Garen.

When hitting a breakpoint in a JSContext Inspector we want to entirely
pause the process and all access to the JSContext and only move forward
based on debugger commands. Having the nested run loop run in a default
mode allowed NSTimers scheduled on the thread to regularly run and
evaluate code in the JSContext. Using a custom run loop mode gets us
a bit closer to locking down the context. This doesn't handle scenarios
where background threads also access the JSContext, but it handles the
most common scenario.

  • inspector/EventLoop.cpp:

(Inspector::EventLoop::cycle):

5:17 PM Changeset in webkit [163053] by andersca@apple.com
  • 8 edits
    2 copies
    1 add in trunk

-[WKWebView loadRequest:] should return a WKNavigation
https://bugs.webkit.org/show_bug.cgi?id=127873

Reviewed by Dan Bernstein.

Source/WebKit2:

For now this just returns a dummy navigation.

  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigation.mm:

(-[WKNavigation initWithRequest:]):
(-[WKNavigation request]):

  • UIProcess/API/Cocoa/WKNavigationInternal.h: Added.
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm: Added.

(TEST):

5:14 PM Changeset in webkit [163052] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit

Fix windows.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:01 PM Changeset in webkit [163051] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Deadlock hitting breakpoint while inspecting JSContext
https://bugs.webkit.org/show_bug.cgi?id=127864

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-01-29
Reviewed by Geoffrey Garen.

Temporarily drop the lock while we run the nested runloop.

  • inspector/JSGlobalObjectScriptDebugServer.cpp:

(Inspector::JSGlobalObjectScriptDebugServer::runEventLoopWhilePaused):

4:53 PM Changeset in webkit [163050] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Mac Build fix after r163046.

Forward define AVSampleLayerDisplayLayer and its methods.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
4:39 PM Changeset in webkit [163049] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2
  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadURL):
Don't use the resource request constructor that takes a String.

4:35 PM Changeset in webkit [163048] by weinig@apple.com
  • 23 edits
    2 adds in trunk/Source/WebCore

CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=127666

Reviewed by Eric Carlson.

This patch:

  • Makes CaptionUserPreferences a singleton (temporary) that is accessed via Page.
  • Simplifies overriding system preferences by requiring that a Document be be passed so the correct Settings object can be obtained (and not just a random one).
  • Stops using UserStyleSheets for captions style injection, and instead adds a new style sheet to the DocumentStyleSheetCollection.
  • Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • WebCore.exp.in:

Update exports.

  • css/DocumentRuleSets.cpp:
  • css/InspectorCSSOMWrappers.cpp:
  • dom/Document.cpp:
  • dom/DocumentStyleSheetCollection.cpp:
  • dom/DocumentStyleSheetCollection.h:

Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
to an explicit caption style sheet.

  • Modules/mediacontrols/MediaControlsHost.cpp:
  • html/HTMLMediaElement.cpp:
  • html/shadow/MediaControlElements.cpp:

Get the CaptionUserPreferences via the Page.

  • page/CaptionStyleSheetMediaAF.cpp: Added.
  • page/CaptionStyleSheetMediaAF.h: Added.

Move caption style sheet creation here. If the global style changes, the sheet is invalidated
and this is called again.

  • page/CaptionUserPreferences.cpp:
  • page/CaptionUserPreferences.h:
  • Removes unused m_havePreferences member.
  • Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
  • Remove setUserPrefersFoo() functions and just set the Settings directly.
  • Move all the testing only pieces together.


  • page/CaptionUserPreferencesMediaAF.cpp:
  • page/CaptionUserPreferencesMediaAF.h:
  • Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
  • Stop waiting for an interested party, and just register for appearance change notifications right away. Media elements are common enough that this should not make a difference.
  • page/Page.cpp:

(WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
Add helper to call captionPreferencesChanged() on all the Pages.

(WebCore::Page::captionPreferences):
Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
to extract the singleton aspects of it into another class, and leave the per-Page parts here.

  • page/Page.h:
  • page/PageGroup.cpp:
  • page/PageGroup.h:

Remove CaptionUserPreferences from here.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setShouldDisplayTrackKind):
(WebCore::InternalSettings::shouldDisplayTrackKind):
Override the settings for the page directly.

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::Internals):
(WebCore::Internals::captionsStyleSheetOverride):
(WebCore::Internals::setCaptionsStyleSheetOverride):
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
(WebCore::Internals::setCaptionDisplayMode):
Get the CaptionUserPreferences via the Page.

4:31 PM Changeset in webkit [163047] by Bem Jones-Bey
  • 5 edits
    2 copies
    4 adds in trunk/LayoutTests

Update clip-path tests to use new shape syntax
https://bugs.webkit.org/show_bug.cgi?id=127862

Reviewed by Dirk Schulze.

Update the tests to reflect the new shape syntax. The inset tests are
copied from the rectangle tests that will be removed when the old
syntax is removed.

  • css3/masking/clip-path-inset-expected.txt: Added.
  • css3/masking/clip-path-inset.html: Added.
  • svg/clip-path/clip-path-shape-circle-1.svg:
  • svg/clip-path/clip-path-shape-circle-2.svg:
  • svg/clip-path/clip-path-shape-ellipse-1.svg:
  • svg/clip-path/clip-path-shape-ellipse-2.svg:
  • svg/clip-path/clip-path-shape-rounded-inset-1-expected.svg: Added.
  • svg/clip-path/clip-path-shape-rounded-inset-1.svg: Copied from LayoutTests/svg/clip-path/clip-path-shape-circle-1.svg.
  • svg/clip-path/clip-path-shape-rounded-inset-2-expected.svg: Added.
  • svg/clip-path/clip-path-shape-rounded-inset-2.svg: Copied from LayoutTests/svg/clip-path/clip-path-shape-circle-1.svg.
4:02 PM Changeset in webkit [163046] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
https://bugs.webkit.org/show_bug.cgi?id=127846

Reviewed by Darin Adler.

To work around a compile issue, only include those paths containing classes and typedefs
which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
4:00 PM Changeset in webkit [163045] by beidson@apple.com
  • 9 edits in trunk/Source

IDB: Fully implement IDBKeyData encoding/decoding
https://bugs.webkit.org/show_bug.cgi?id=127863

Rubberstamped by Alexey Proskuryakov.

Source/WebCore:

  • platform/KeyedCoding.h:
  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::encode):
(WebCore::IDBKeyData::decode):

  • WebCore.exp.in:

Source/WebKit2:

Handle invalid buffers, and pass IDBKeyData decoding along:

  • DatabaseProcess/IndexedDB/IDBSerialization.cpp:

(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
(WebKit::deserializeIDBKeyData):

  • DatabaseProcess/IndexedDB/IDBSerialization.h:

Implement decodeBool and decodeDouble:

  • Shared/cf/KeyedDecoder.cpp:

(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeDouble):

  • Shared/cf/KeyedDecoder.h:
3:30 PM Changeset in webkit [163044] by Bem Jones-Bey
  • 3 edits
    2 adds in trunk

clip-path swaps bottom radii for the inset shape
https://bugs.webkit.org/show_bug.cgi?id=127859

Reviewed by Dirk Schulze.

Source/WebCore:

The bottom right and bottom left radii were passed in the wrong order,
causing the wrong corner to be clipped in the resultant rendering.

Test: css3/masking/clip-path-inset-corners.html

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeInset::path): Change the parameter order to be
correct.

LayoutTests:

Test that all the inset radii are applied to the correct corners.

  • css3/masking/clip-path-inset-corners-expected.html: Added.
  • css3/masking/clip-path-inset-corners.html: Added.
3:06 PM Changeset in webkit [163043] by timothy_horton@apple.com
  • 7 edits in trunk

WebKit2 View Gestures (Swipe): Update rubberBandsAt{Left,Right} when WebKit swipe is enabled
https://bugs.webkit.org/show_bug.cgi?id=127855
<rdar://problem/15933878>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView setAllowsBackForwardNavigationGestures:]):
Enable implicit control of rubberbanding when using WebKit2's swipe implementation.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::sendWheelEvent):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::setShouldUseImplicitRubberBandControl):
(WebKit::WebPageProxy::shouldUseImplicitRubberBandControl):
Rename away from "legacy" name, since we're using it on purpose now.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::expectsLegacyImplicitRubberBandControl):
(WebKit::WebPageProxy::platformInitialize):
Since NSVersionOfLinkTimeLibrary doesn't work for applications that
don't link directly against the library (like Safari), let's explicitly
check if Safari is expecting the legacy behavior, otherwise using
the linked version of WebKit2, but using the new behavior if we can't
determine the linked version of WebKit2 and are not Safari.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
Enable swipe in MiniBrowser for testing purposes.

2:46 PM Changeset in webkit [163042] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Make WKWebView limp along on OS X
https://bugs.webkit.org/show_bug.cgi?id=127857

Reviewed by Tim Horton.

On Mac, create a WKView and add it as a subview of the WKWebVew so we'll actually get something
on screen when creating a WKWebView.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Create a WKView.

(-[WKWebView resizeSubviewsWithOldSize:]):
Resize the WKView.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:configuration:]):
Add new initializer.

  • UIProcess/API/mac/WKViewInternal.h:

Use a class extension for internal methods and add the new initializer.

2:14 PM Changeset in webkit [163041] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaControls][iOS] Hook up the fullscreen button
https://bugs.webkit.org/show_bug.cgi?id=127850

Reviewed by Eric Carlson.

For the fullscreen button, do the same thing we do for the play button: handle touchstart,
touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
(ControllerIOS.prototype.isFullScreen): Override.
(ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
(ControllerIOS.prototype.handleFullscreenTouchStart): Added.
(ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
(ControllerIOS.prototype.handleFullscreenTouchCancel): Added.

1:21 PM Changeset in webkit [163040] by dbates@webkit.org
  • 2 edits in trunk/Tools

Fix JSONP requests made by the WebKit Bot Watcher's Dashboard following <http://trac.webkit.org/changeset/163034>
(https://bugs.webkit.org/show_bug.cgi?id=127784)

Use dot-notation instead of array index notation to access the dictionary value for key jsonpCallbackName
in the specified options dictionary.

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

(JSON.load):

1:17 PM Changeset in webkit [163039] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix build.

  • WebView/WebPDFView.mm:

(_applicationInfoForMIMEType):

1:15 PM Changeset in webkit [163038] by beidson@apple.com
  • 6 edits in trunk/Source

IDB: Opening an existing database is broken
https://bugs.webkit.org/show_bug.cgi?id=127851

Reviewed by Tim Hatcher.

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
(WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t

been called yet, then it is incorrect to process any pending calls right now.

  • Modules/indexeddb/IDBDatabaseBackend.h:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Save the request to get metadata

to the set before posting the task to the thread.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Actually save the retrieved

object store metadata to the database metadata.

12:54 PM Changeset in webkit [163037] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Consolidate page loading functions
https://bugs.webkit.org/show_bug.cgi?id=127847

Reviewed by Tim Horton.

Get rid of the loadURL functions (and the LoadURL message), rename
loadURLRequest to loadRequest and change it to take a ResourceRequest instead
of an API::URLRequest.

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadURL):
(WKPageLoadURLWithUserData):
(WKPageLoadURLRequest):
(WKPageLoadURLRequestWithUserData):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadRequest:userData:]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]):

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::createInspectorPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):

  • UIProcess/WebPageProxy.h:
  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::restoreFromSessionStateData):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadRequest):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
12:38 PM Changeset in webkit [163036] by oliver@apple.com
  • 2 edits in trunk/Source/WebCore

2014-01-29 Oliver Hunt <oliver@apple.com>

This dereference should not actually be necessary, and
is producing deprecation warnings with newer perls

  • bindings/scripts/CodeGeneratorJS.pm: (GenerateAttributesHashTable):
12:33 PM Changeset in webkit [163035] by oliver@apple.com
  • 29 edits in trunk

Make DOM attributes appear to be faux accessor properties
https://bugs.webkit.org/show_bug.cgi?id=127797

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add flag so we can identify which properties should have the old
custom property semantics vs. the new faux accessors. Update the
inspector protocol accordingly.

These faux accessors produce descriptors with "get" and "set"
properties, but both values are undefined so can't be used
directly. A few custom properties actually require their
existing magical behaviour, so we now have a flag to
distinguish the expected output.

  • inspector/InjectedScriptSource.js:

(.):

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertyDescriptor):

  • runtime/PropertyDescriptor.cpp:

(JSC::PropertyDescriptor::setCustomDescriptor):

  • runtime/PropertyDescriptor.h:
  • runtime/PropertySlot.h:

Source/WebCore:

Refactor the bindings generator, and make sure we emit
the CustomAccessor flag on properties that should
appear to be accessors.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateAttributesHashTable):
(GenerateImplementation):

LayoutTests:

These properties now show up as accessors in these tests

  • fast/dom/Window/replaceable-expected.txt:
  • fast/dom/Window/replaceable.html:
  • js/dom/getOwnPropertyDescriptor-expected.txt:
  • js/resources/getOwnPropertyDescriptor.js:
12:23 PM Changeset in webkit [163034] by dbates@webkit.org
  • 5 edits in trunk/Tools

WebKit Bot Watcher's Dashboard: Add support for using HTTP authentication with Buildbot
https://bugs.webkit.org/show_bug.cgi?id=127784

Reviewed by Alexey Proskuryakov.

Implement support for querying a Buildbot that requires HTTP authentication to access it.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot): Add optional argument, options, to pass a dictionary of Buildbot options.
For now, we only support a single option, needsAuthentication, to indicate whether the
Buildbots requires HTTP authentication (defaults to false - HTTP authentication is
not required).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.loadLayoutTestResults): Modified to pass JSONP callback name
to JSON.load() using the option dictionary.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.update): Modified to pass withCredentials to JSON.load().

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

(JSON.load): Removed optional argument jsonpCallbackName and added optional argument options,
which is a dictionary. The argument jsonpCallbackName is now specified as an entry in the
options dictionary. Added boolean options withCredentials to toggle querying with HTTP
authentication credentials.

12:17 PM Changeset in webkit [163033] by ryuan.choi@samsung.com
  • 10 edits
    1 delete in trunk/Source/WebKit

EFL port should stop using COMPILE_ASSERT_MATCHING_ENUM macros
https://bugs.webkit.org/show_bug.cgi?id=127801

Reviewed by Anders Carlsson.

Source/WebKit:

  • PlatformEfl.cmake: Removed AssertMatchingEnums.cpp

Source/WebKit/efl:

Instead of COMPILE_ASSERT_MATCHING_ENUMS with static_cast, this patch
added switch and conversion functions if needed.

  • WebCoreSupport/AssertMatchingEnums.cpp: Removed.
  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction):

  • ewk/ewk_contextmenu.cpp:

(toEwkContextMenuAction):

  • ewk/ewk_contextmenu.h:

Added missing enum variables. These are required not to break the build.

  • ewk/ewk_frame.cpp:

(ewk_frame_text_selection_type_get):

  • ewk/ewk_touch_event.cpp:

(toPlatformTouchPointState):
(WebKitPlatformTouchEvent::WebKitPlatformTouchEvent):

  • ewk/ewk_view.cpp:

(ewk_view_text_direction_set):
(ewk_view_navigation_policy_decision):
(toViewMode):
(toEwkViewMode):
(ewk_view_mode_set):
(ewk_view_mode_get):
(ewk_view_visibility_state_get):

  • ewk/ewk_view_private.h:
11:51 AM Changeset in webkit [163032] by Martin Robinson
  • 4 edits in trunk/Source/WebKit2

[GTK] [CMake] Fix the build after r162835
https://bugs.webkit.org/show_bug.cgi?id=127753

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Add support for using the prefix header (GCC / clang only for now)

when WebKit2_USE_PREFIX_HEADER is set to true.

  • PlatformGTK.cmake: Set WebKit2_USE_PREFIX_HEADER support and no longer process some message.in files.
  • WebKit2Prefix.h: Add support for the CMake GTK+ build.
11:40 AM Changeset in webkit [163031] by Beth Dakin
  • 2 edits in trunk/Source/JavaScriptCore

Build fix.

  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
  • llint/LowLevelInterpreter.cpp:
11:38 AM Changeset in webkit [163030] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix.

  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp: Added a newline at the end of the

file.

11:35 AM Changeset in webkit [163029] by ap@apple.com
  • 5 edits in trunk/Tools

build.webkit.org/dashboard links to an old failing build rather than the most recent
https://bugs.webkit.org/show_bug.cgi?id=127765
<rdar://problem/15795228>

Reviewed by Timothy Hatcher.

This patch changes builder view to not show how many failures there were in a row,
because it is not very relevant, and complicates the UI. Instead, we just show the
latest failing build and the latest successful one.

The patch also removes commit history popovers from revisions that can not be correlated
with any change. These popovers are only helpful in the first line, when there is
another line for comparison below. In this case, it's useful to see what changed
between the revisions, but even then, only if it was an actual failure, not a buildbot
exception.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._presentPopoverForRevisionRange):
(BuildbotQueueView.prototype._revisionPopoverContentForIteration):
(BuildbotQueueView.prototype.revisionContentForIteration):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

11:20 AM Changeset in webkit [163028] by alex.christensen@flexsim.com
  • 6 edits in trunk/Source

Prepare for accelerated compositing on WinCairo.
https://bugs.webkit.org/show_bug.cgi?id=127843

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::setupFormData):
Remove VS2005 warning workaround.

  • WebCore.vcxproj/WebCore.vcxproj:

Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
to avoid warnings because they are also included in StyleAllInOne.cpp and
CSSAllInOne.cpp, respectively.

Source/WebKit/win:

  • WebPreferences.cpp:

Moved CACFLayerTreeHost.h inclusion to Apple-specific includes
to avoid compile errors in WinCairo when using accelerated compositing.

11:18 AM Changeset in webkit [163027] by msaboff@apple.com
  • 219 edits
    76 adds
    4 deletes in trunk

Merge the jsCStack branch
https://bugs.webkit.org/show_bug.cgi?id=127763

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

Source/WebCore:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

Source/WTF:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

10:52 AM Changeset in webkit [163026] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed the iOS build.

  • bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.
10:51 AM Changeset in webkit [163025] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add a WebCrypto test to verify that BigInteger allows for leading zeroes
https://bugs.webkit.org/show_bug.cgi?id=127804

Reviewed by Darin Adler.

This already worked, but wasn't tested for.

  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent-expected.txt: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html: Added.
10:31 AM Changeset in webkit [163024] by Csaba Osztrogonác
  • 56 edits in trunk

Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
https://bugs.webkit.org/show_bug.cgi?id=127840

Reviewed by Mark Lam.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • inspector/scripts/CodeGeneratorInspector.py:

Source/WebCore:

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::supportsProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):

  • bindings/js/PageScriptDebugServer.cpp:
  • bindings/js/PageScriptDebugServer.h:
  • bindings/js/ScriptProfile.cpp:
  • bindings/js/ScriptProfile.h:
  • bindings/js/ScriptProfileNode.h:
  • bindings/js/ScriptProfiler.cpp:
  • bindings/js/ScriptProfiler.h:
  • bindings/js/WorkerScriptDebugServer.cpp:
  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::resume):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorHeapProfilerAgent.cpp:
  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::profilerEnabledImpl):
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):

  • inspector/InspectorInstrumentation.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/InspectorProfilerAgent.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:
  • inspector/PageDebuggerAgent.cpp:
  • inspector/PageDebuggerAgent.h:
  • inspector/ScriptProfile.idl:
  • inspector/ScriptProfileNode.idl:
  • inspector/WebDebuggerAgent.cpp:
  • inspector/WebDebuggerAgent.h:
  • inspector/WorkerDebuggerAgent.cpp:
  • inspector/WorkerDebuggerAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::resume):

  • inspector/WorkerInspectorController.h:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):

  • inspector/WorkerRuntimeAgent.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

  • page/Console.cpp:
  • page/Console.h:
  • page/Console.idl:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::connectToWorkerGlobalScopeInspectorTask):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::dispatchOnInspectorBackendTask):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):

Source/WebKit/gtk:

  • webkit/webkitwebinspector.cpp:

(webkit_web_inspector_set_property):
(webkit_web_inspector_get_property):

Source/WebKit2:

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::startJavaScriptDebugging):
(WebKit::WebInspector::stopJavaScriptDebugging):
(WebKit::WebInspector::setJavaScriptProfilingEnabled):
(WebKit::WebInspector::startJavaScriptProfiling):
(WebKit::WebInspector::stopJavaScriptProfiling):

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
9:36 AM Changeset in webkit [163023] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] cleanup MediaPlayer.cpp
https://bugs.webkit.org/show_bug.cgi?id=127821

Reviewed by Jer Noble.

Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.

  • platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS

(WebCore::installedMediaEngines): Drive by cleanup to return early if registration has

already happened.

(WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless

isVideoPluginProxyEnabled returns true.

9:03 AM Changeset in webkit [163022] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

Source/WebCore: Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
https://bugs.webkit.org/show_bug.cgi?id=125840

Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-29
Reviewed by Alexey Proskuryakov.

Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
This patch makes it clear that null/empty string is returned whenever the error flag is set.
This new code path is covered by the added test.

Test: http/tests/xmlhttprequest/response-access-on-error.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:

LayoutTests: Have XHR.getResponseHeader() return null and XHR.getAllResponseHeaders() return empty string in initial ready states
https://bugs.webkit.org/show_bug.cgi?id=125840

Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-29
Reviewed by Alexey Proskuryakov.

Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
The new test exercices the new code path in case xhr received HTTP headers but m_error is set

  • http/tests/xmlhttprequest/getAllResponseHeaders-expected.txt:
  • http/tests/xmlhttprequest/getAllResponseHeaders.html:
  • http/tests/xmlhttprequest/getResponseHeader-expected.txt:
  • http/tests/xmlhttprequest/getResponseHeader.html:
  • http/tests/xmlhttprequest/response-access-on-error-expected.txt: Added.
  • http/tests/xmlhttprequest/response-access-on-error.html: Added.
8:26 AM Changeset in webkit [163021] by Antti Koivisto
  • 33 edits in trunk

REGRESSION (r162947): Repaint test results are different between WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=127814

Source/WebCore:

Reviewed by Anders Carlsson.

  • page/FrameView.cpp:

(WebCore::FrameView::repaintContentRectangle):

Move repaint rect logging to RenderView.

  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintViewRectangle):

Record raw repaint rects instead of optimized ones.

LayoutTests:

Revert test results changes. We now always log raw repaint rects which are same between platforms.

  • compositing/repaint/resize-repaint-expected.txt:
  • fast/box-shadow/shadow-repaint-expected.txt:
  • fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
  • fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
  • fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
  • fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
  • fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt:
  • fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt:
  • fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt:
  • fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt:
  • fast/regions/repaint/invalid-region-repaint-crash-expected.txt:
  • fast/regions/repaint/repaint-element-inside-relative-region-expected.txt:
  • fast/regions/repaint/repaint-regions-overflow-expected.txt:
  • fast/repaint/background-shorthand-with-gradient-and-height-changes-expected.txt:
  • fast/repaint/background-shorthand-with-gradient-and-height-changes.html:
  • fast/repaint/horizontal-bt-overflow-child-expected.txt:
  • fast/repaint/horizontal-bt-overflow-parent-expected.txt:
  • fast/repaint/horizontal-bt-overflow-same-expected.txt:
  • fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt:
  • fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
  • fast/repaint/reflection-table-layout-expected.txt:
  • fast/repaint/transform-table-layout-expected.txt:
  • fast/repaint/vertical-overflow-child-expected.txt:
  • fast/repaint/vertical-overflow-parent-expected.txt:
  • fast/repaint/vertical-overflow-same-expected.txt:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac/fast/images/repaint-subrect-grid-expected.txt:
  • svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
8:17 AM Changeset in webkit [163020] by beidson@apple.com
  • 10 edits in trunk/Source

IDB: Serialize IDBKeyDatas to disk, not IDBKeys
https://bugs.webkit.org/show_bug.cgi?id=127829

Reviewed by Tim Horton.

Source/WebCore:

Move encode/decode from IDBKey to IDBKeyData.

  • Modules/indexeddb/IDBKey.cpp:
  • Modules/indexeddb/IDBKey.h:
  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::encode):
(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/IDBKeyData.h:
  • WebCore.exp.in:

Source/WebKit2:

Serialize IDBKeyDatas, not IDBKeys.

  • DatabaseProcess/IndexedDB/IDBSerialization.cpp:

(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):

  • DatabaseProcess/IndexedDB/IDBSerialization.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):

8:11 AM Changeset in webkit [163019] by Antti Koivisto
  • 5 edits in trunk

REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
https://bugs.webkit.org/show_bug.cgi?id=127809

Reviewed by Anders Carlsson.

Source/WebCore:

These tests generate very large number of small repaint rectangles that overwhelm the region code.

  • page/FrameView.cpp:

(WebCore::FrameView::repaintContentRectangle):

  • platform/graphics/Region.h:

(WebCore::Region::gridSize):
(WebCore::Region::Shape::gridSize):

Add accessor for getting the current region grid complexity.

  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintViewRectangle):

If the region gets very complex merge the repaint rects into a single big rectangle.

LayoutTests:

  • platform/mac/TestExpectations:
8:11 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
7:20 AM Changeset in webkit [163018] by stavila@adobe.com
  • 7 edits
    4 adds in trunk

[CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
https://bugs.webkit.org/show_bug.cgi?id=123886

Source/WebCore:

When an element flowed into a scrollable region is scrolled using the mouse wheel, the event
needs to be propagated to the region containing that element, on top of which the cursor
is located.

Reviewed by Antti Koivisto.

Tests: fast/regions/wheel-scroll-abspos.html

fast/regions/wheel-scroll.html

  • page/EventHandler.cpp:

(WebCore::scrollNode):
(WebCore::EventHandler::defaultWheelEventHandler):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scroll):
(WebCore::RenderBox::scrollWithWheelEventLocation):

  • rendering/RenderBox.h:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):

  • rendering/RenderFlowThread.h:

LayoutTests:

Added tests for scrolling elements flowed into scrollable regions.

Reviewed by Antti Koivisto.

  • fast/regions/wheel-scroll-abspos-expected.html: Added.
  • fast/regions/wheel-scroll-abspos.html: Added.
  • fast/regions/wheel-scroll-expected.html: Added.
  • fast/regions/wheel-scroll.html: Added.
6:52 AM Changeset in webkit [163017] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
https://bugs.webkit.org/show_bug.cgi?id=127836

Reviewed by Gustavo Noronha Silva.

The problem is that I assumed that several things done in
ResourceRequest::soupURI() were always desired, so I moved them to
URL. This patch restores the previous behaviour, so that those
tings are only done right before making a request.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::createSoupURI):

  • platform/soup/URLSoup.cpp:

(WebCore::URL::createSoupURI):

6:24 AM Changeset in webkit [163016] by k.czech@samsung.com
  • 2 edits in trunk/LayoutTests

[EFL][WK2] REGRESSION (r162586-r162589): accessibility/range-alter-by-percent.html failing
https://bugs.webkit.org/show_bug.cgi?id=127724

Unreviewed EFL gardening. Passes after r162932.

  • platform/efl/TestExpectations: Test is no longer failing.
5:57 AM Changeset in webkit [163015] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid
https://bugs.webkit.org/show_bug.cgi?id=127816

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-01-29
Reviewed by Timothy Hatcher.

  • UserInterface/DataGrid.js:

(WebInspector.DataGrid.prototype.moveToNextIfNeeded):
(WebInspector.DataGrid.prototype._editingCommitted):
Change columnIdentifier values 0 and 1 to strings "0" and "1".

5:16 AM Changeset in webkit [163014] by k.czech@samsung.com
  • 16 edits in trunk

[ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
https://bugs.webkit.org/show_bug.cgi?id=121684

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
Moved elementsFromAttribut to AccessibilityObject to have common interface
for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.

No new tests. Covered by existed one.

  • accessibility/AccessibilityNodeObject.cpp:
  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::elementsFromAttribute):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::supportsARIADescribedBy):
(WebCore::AccessibilityObject::ariaDescribedByElements):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
(WebCore::AccessibilityRenderObject::ariaDescribedByElements):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(setAtkRelationSetFromCoreObject):

Tools:

Implementing helpText by using relation ATK_RELATION_DESCRIBED_BY.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::helpText):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::helpText):

LayoutTests:

Slightly extended test so that it could test aria-describedby with multiple id references.

  • accessibility/aria-describedby-on-input-expected.txt:
  • accessibility/aria-describedby-on-input.html:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
5:00 AM WebKitGtkLayoutTests edited by clopez@igalia.com
Add information about running the tests when the system uses … (diff)
2:56 AM Changeset in webkit [163013] by svillar@igalia.com
  • 11 edits in trunk

[CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
https://bugs.webkit.org/show_bug.cgi?id=127057

Source/WebCore:

Reviewed by Antti Koivisto.

We were incorrectly dumping minmax(x,y) as "x y" instead of
"minmax(x,y)". That's because we were treating minmax() internally
as a CSSValueList instead of a CSSFunction. Replaced that and also
added some extra information to our tests in order to check that
we don't regress. From now on the CSS grid layout testing helper
functions print not only the computed style but also the contents
of element.style.webkitGridDefinition{Columns|Rows}.

  • css/CSSFunctionValue.h:

(WebCore::CSSFunctionValue::arguments):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):

  • css/CSSParser.h:
  • css/StyleResolver.cpp:

(WebCore::createGridTrackSize):

LayoutTests:

Include the output of element.style.webkitGridDefinition{Columns|Rows}
as part of the expected output.

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:

(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):

1:32 AM Changeset in webkit [163012] by rniwa@webkit.org
  • 6 edits in trunk/Source/WebCore

Rename notifyRendererOfSelectionChange
https://bugs.webkit.org/show_bug.cgi?id=127831

Reviewed by Antti Koivisto.

Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.

  • WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
of text form control's shadow DOM no longer depends on renderer.

  • editing/FrameSelection.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseReleaseEvent):

12:31 AM Changeset in webkit [163011] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r162981.

  • GNUmakefile.list.am: Add WebProcess/WebPage/WebDocumentLoader to

the compilation.

12:23 AM Changeset in webkit [163010] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Actually fix the GTK+ build after r162967.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_can_go_back):
(webkit_web_view_can_go_forward):

Note: See TracTimeline for information about the timeline view.