Timeline



May 21, 2014:

11:44 PM Changeset in webkit [169190] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

[Win64] Unreviewed build fix.

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

Corrected 64-bit linker symbol.

11:12 PM Changeset in webkit [169189] by Antti Koivisto
  • 6 edits
    2 adds in trunk

REGRESSION(r167870): Crash in simple line layout code with :after
https://bugs.webkit.org/show_bug.cgi?id=133155

Source/WebCore:
<rdar://problem/16977696>

Reviewed by Darin Adler.

Fix https://bugs.webkit.org/show_bug.cgi?id=132241 in a safer way.
The underline behavior is tested by the existing fast/text/simple-lines-hover-underline.html

Test: fast/text/simple-lines-hover-after.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::invalidateLineLayoutPath): Deleted.

Move to RenderBlockFlow.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::invalidateLineLayoutPath):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):

Invalidate layout if style changes in a manner that makes us ineligible to use the simple line layout path.

(WebCore::RenderBlockFlow::invalidateLineLayoutPath):

Drop the simple line layout on path invalidation if it exists. It may not be valid anymore.
Also invalidate the layout if this happens so we'll reconstruct the lines later.

(WebCore::RenderBlockFlow::simpleLineLayout): Deleted.
(WebCore::RenderBlockFlow::ensureLineBoxes):
(WebCore::RenderBlockFlow::createLineBoxes): Deleted.

Revert some of the changes made it r167870.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::simpleLineLayout):

Add strong validity assert.

LayoutTests:

Reviewed by Darin Adler.

  • fast/text/simple-lines-hover-after-expected.html: Added.
  • fast/text/simple-lines-hover-after.html: Added.
9:11 PM Changeset in webkit [169188] by fpizlo@apple.com
  • 8 edits
    5 adds in branches/ftlopt

[ftlopt] DFG::clobberize should be blind to the effects of GC
https://bugs.webkit.org/show_bug.cgi?id=133166

Source/JavaScriptCore:
Reviewed by Goeffrey Garen.

Move the computation of where GCs happen to DFG::doesGC().

Large (>5x) speed-up on programs that do loop-invariant string concatenations.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractHeap.h:
  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):
(JSC::DFG::clobberizeForAllocation): Deleted.

  • dfg/DFGDoesGC.cpp: Added.

(JSC::DFG::doesGC):

  • dfg/DFGDoesGC.h: Added.
  • dfg/DFGStoreBarrierElisionPhase.cpp:

(JSC::DFG::StoreBarrierElisionPhase::handleNode):
(JSC::DFG::StoreBarrierElisionPhase::couldCauseGC): Deleted.

LayoutTests:
Reviewed by Geoffrey Garen.

  • js/regress/hoist-make-rope-expected.txt: Added.
  • js/regress/hoist-make-rope.html: Added.
  • js/regress/script-tests/hoist-make-rope.js: Added.

(foo):

8:52 PM Changeset in webkit [169187] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

8:25 PM Changeset in webkit [169186] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.45

New Tag.

6:55 PM Changeset in webkit [169185] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Merge trunk r169184 to ftlopt.

2014-05-21 Filip Pizlo <fpizlo@apple.com>


Store barrier elision should run after DCE in both the DFG path and the FTL path
https://bugs.webkit.org/show_bug.cgi?id=129718


Rubber stamped by Mark Hahnenberg.


  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl):
6:36 PM Changeset in webkit [169184] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Store barrier elision should run after DCE in both the DFG path and the FTL path
https://bugs.webkit.org/show_bug.cgi?id=129718

Rubber stamped by Mark Hahnenberg.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

6:18 PM Changeset in webkit [169183] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] two media control button strings are not localized
https://bugs.webkit.org/show_bug.cgi?id=133160

Reviewed by Geoffrey Garen.

  • English.lproj/mediaControlsLocalizedStrings.js:
5:56 PM Changeset in webkit [169182] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.36/Source/WebKit2

Merge r169180. <rdar://problem/16982059>

5:12 PM Changeset in webkit [169181] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

[EFL] Add include path of compact_unwind_encoding.h if FTL JIT is enabled
https://bugs.webkit.org/show_bug.cgi?id=132907

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/FindLIBCXXABI.cmake: Added.
  • Source/cmake/OptionsEfl.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:

Tools:
We need the mach-o/compact_unwind_encoding.h header from libc++abi-dev package
in JavaScriptCore/ftl/FTLUnwindInfo.cpp when FTL JIT is enabled.

  • efl/install-dependencies:
5:11 PM Changeset in webkit [169180] by oliver@apple.com
  • 2 edits in trunk/Source/WebKit2

Only enable sandbox extensions on mac.

3:03 PM Changeset in webkit [169179] by dburkart@apple.com
  • 7 edits in branches/safari-538.34-branch/Source

Merged r169151.

2:50 PM Changeset in webkit [169178] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed Mac gardening after r169161.

  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
2:35 PM Changeset in webkit [169177] by dino@apple.com
  • 2 edits
    1 add in trunk/Source/WebCore

[iOS] Update some of the media controls buttons to be bigger
https://bugs.webkit.org/show_bug.cgi?id=133158
<rdar://problem/16475828>

Reviewed by Simon Fraser.

The buttons in the media controls on iOS are too small
to be comfortably pressed. Make them the size of the controls
panel and the expected iOS button size (44x44px).

The artwork for the buttons now includes the padding. I've
added a file from which you can edit the artwork, then
copy it into the CSS (because editing directly in CSS is
a huge pain).

So far just the play/pause and fullscreen button have been
updated. There will be a follow-up patch to fix the remaining
buttons and the scrubber.

  • Modules/mediacontrols/assets-apple-iOS.svg: Added.
  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button:active):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-fullscreen-button:active):
(@media only screen and (-webkit-min-device-pixel-ratio: 2)): Deleted.

1:52 PM Changeset in webkit [169176] by oliver@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

[iOS] Enable sandboxing for the database process
https://bugs.webkit.org/show_bug.cgi?id=132963

Reviewed by Alexey Proskuryakov.

Simply ensure that the database process is running in a tight
sandbox. As part of this i've separated out ChildProcessIOS
and ensures that the database process loads a custom sandbox.

  • Configurations/WebKit.xcconfig:
  • DatabaseProcess/ios/DatabaseProcessIOS.mm:

(WebKit::DatabaseProcess::initializeSandbox):

  • DatabaseProcess/ios/com.apple.WebKit.DatabasesIOS.sb: Added.
  • Shared/ios/ChildProcessIOS.mm: Added.

Essentially cloned from the Mac version, only all the OSX
specific logic has been stripped.
(WebKit::ChildProcess::setApplicationIsDaemon):
(WebKit::ChildProcess::platformInitialize):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::setQOS):

  • Shared/mac/ChildProcessMac.mm:

Remove all the IOS ifdefs.
(WebKit::ChildProcess::setApplicationIsDaemon):
(WebKit::ChildProcess::platformInitialize):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::setQOS):

  • WebKit2.xcodeproj/project.pbxproj:
1:39 PM Changeset in webkit [169175] by aestes@apple.com
  • 17 edits
    1 copy
    1 add in trunk/Source/WebKit2

[iOS] Create a UIPrintFormatter for WKWebView
https://bugs.webkit.org/show_bug.cgi?id=133005

Reviewed by Tim Horton.

Implemented a UIPrintFormatter subclass to support printing WKWebViews using UIPrintInteractionController.
Overrode -_recalcPageCount: to synchronously ask the web process to lay out for printing and return the number
of page rects. The web process returns the page rects immediately and then starts rendering the page to a PDF,
returning the PDF data to the UI process asynchronously. When UIPrintInteractionController later calls our
overridden -drawInRect:forPageAtIndex:, we block and wait for the PDF data to be returned. Since
UIPrintInteractionController draws each page after a delay, it's possible that the web process has already
returned the PDF data to us by the time we print the first page.

  • Shared/WebPreferencesStore.h: Correctly initialized shouldPrintBackgrounds for iOS.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _dataForDisplayedPDF]): Now that WKPDFView vends its CGPDFDocument directly, extract its data here.
(-[WKWebView _printFormatterClass]): Tell UIView which UIPrintFormatter to alloc.
(-[WKWebView _computePageCountAndStartDrawingToPDFWithPrintInfo:WebKit::firstPage:computedTotalScaleFactor:]):
If we're displaying a PDF, return its page count directly. Otherwise, synchronously ask the web process to
compute page rects for printing and then return the number of rects.
(-[WKWebView _endPrinting]): Cleared state and sent the WebPage::EndPrinting message to the web process.
(-[WKWebView _printedDocument]): If we're displaying a PDF, return its data directly. Otherwise, if we haven't
received PDF data from the web process yet, wait for it indefinitely (there's no sensible timeout to use here
since failing to receive the data results in printing some number of blank pages).
(-[WKWebView _setPrintedDocument:]): Set the CGPDFDocument received from the web process.

  • UIProcess/API/Cocoa/WKWebViewInternal.h: Declared methods called by WKWebViewPrintFormatter.
  • UIProcess/PageClient.h: Declared didFinishDrawingPagesToPDF.
  • UIProcess/WKWebViewPrintFormatter.h: Added.
  • UIProcess/WKWebViewPrintFormatter.mm: Added.

(-[WKWebViewPrintFormatter dealloc]): Cleared state and called -[WKWebView _endPrinting].
(-[WKWebViewPrintFormatter webView]): Returned the WKWebView for this print formatter.
(-[WKWebViewPrintFormatter _recalcPageCount]): Set up a PrintInfo object given the formatter's content rect
and called -_computePageCountAndStartDrawingToPDFWithPrintInfo:...
(-[WKWebViewPrintFormatter rectForPageAtIndex:]): Called -_recalcIfNecessary and then returned the rect from
-_pageContentRect.
(-[WKWebViewPrintFormatter drawInRect:forPageAtIndex:]): Taught to draw the given page of the printed PDF
document into the given rect and context provided to us.

  • UIProcess/WebPageProxy.h: Declared didFinishDrawingPagesToPDF.
  • UIProcess/WebPageProxy.messages.in: Added DidFinishDrawingPagesToPDF. Made this a delayed syncrhonous message

so that additoinal work could be performed after sending the response.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didFinishDrawingPagesToPDF): Created a CGPDFDocument from the data sent to us by the
web process and called -[WKWebView _setPrintedDocument:].

  • UIProcess/ios/WKPDFView.h:
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView pdfDocument]): Returned the underlying CGPDFDocument.
(-[WKPDFView documentData]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didFinishDrawingPagesToPDF):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::computePagesForPrinting): Changed to call computePagesForPrintingImpl.
(WebKit::WebPage::computePagesForPrintingImpl): Moved the common logic of computePagesForPrinting to here so it
could be called by computePagesForPrintingAndStartDrawingToPDF.
(WebKit::WebPage::drawPagesToPDF): Changed to call drawPagesToPDFImpl
(WebKit::WebPage::drawPagesToPDFImpl): Moved the common logic of drawPagesToPDF to here so it could be called
by computePagesForPrintingAndStartDrawingToPDF.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::computePagesForPrintingAndStartDrawingToPDF): Computed page rects and returned them as a
synchronous response. Afterwards called drawPagesToPDFImpl() and returned the PDF data by sending
WebPageProxy::DidFinishDrawingPagesToPDF.

12:48 PM Changeset in webkit [169174] by Lucas Forschler
  • 7 edits in tags/Safari-538.36/Source

Merged r169151.

12:45 PM Changeset in webkit [169173] by roger_fong@apple.com
  • 7 edits in trunk/LayoutTests

Unreviewed. Actually enable snapshot tests on mac wk2.

https://bugs.webkit.org/show_bug.cgi?id=131871

  • platform/mac-wk1/TestExpectations: Skip them here.
  • platform/mac/TestExpectations: Unskip them here.

Some slight modifications to some of the tests to reduce flakiness of tests.

  • plugins/snapshotting/autoplay-dominant.html:
  • plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
  • plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
  • plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:
11:22 AM Changeset in webkit [169172] by Michał Pakuła vel Rutka
  • 7 edits in trunk

[EFL] Turn on ENABLE_CSS_FILTERS
https://bugs.webkit.org/show_bug.cgi?id=133153

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake: Enable CSS_FILTERS as default option value.

Source/WebKit2:
Make WebKit2 compile after r166741 when CSS_FILTERS are enabled.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):

LayoutTests:
Remove failure test expectations for tests passing after turning on CSS_FILTERS.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
11:18 AM Changeset in webkit [169171] by dburkart@apple.com
  • 5 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r169170.

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

Special handling of telephone number detection menu.
<rdar://problem/16967971> and https://bugs.webkit.org/show_bug.cgi?id=133143

Reviewed by Geoff Garen.

Add a bool to ContextMenuContextData to represent telephone number menus:

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::isTelephoneNumberContext):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu): If the menu is a telephone

number menu then display it using a specific AppKit API.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu): Filter the array of menu items

through a new WKSI call, and then show it using a telephone number context.

10:30 AM Changeset in webkit [169169] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

10:22 AM Changeset in webkit [169168] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

10:04 AM Changeset in webkit [169167] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

[Mac] REGRESSION (Async text input): Asian text input doesn't work in Flash
https://bugs.webkit.org/show_bug.cgi?id=133128
<rdar://problem/16890920>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _interpretKeyEvent:completionHandler:]): Added a separate code path for
plug-in input. Before async text input, we used to provide a nil input context due
to having _data->_interpretKeyEventsParameters while this function was executing,
and thus took a shortcut. The new behavior is different from pre-async in that
we don't collect commands at all, but I couldn't find any case where that mattered.
(-[WKView inputContext]): The _collectedKeypressCommands check was not a correct
replacement for _interpretKeyEventsParameters one, because this variable is not
always set within -_interpretKeyEvent:completionHandler:.

  • UIProcess/mac/WKTextInputWindowController.mm:

(-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
While at it, fixed a separate issue with Cangjie predictive input. We shouldn't
keep prediction pop-up on screen after hiding the bottom input window.

9:56 AM Changeset in webkit [169166] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed Mac gardening after r169161.

  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
9:39 AM Changeset in webkit [169165] by Martin Robinson
  • 16 edits in trunk

[CMake] Improve handling of LIB_INSTALL_DIR, EXEC_INSTALL_DIR, and LIBEXEC_INSTALL_DIR
https://bugs.webkit.org/show_bug.cgi?id=132819

Reviewed by Carlos Garcia Campos.

.:

  • CMakeLists.txt: Hard-code CMAKE_ARCHIVE_OUTPUT_DIRECTORY etc, so that we can accept absolute paths for LIB_INSTALL_DIR

and friends.

  • Source/cmake/OptionsCommon.cmake: Get rid of LIB_SUFFIX and try to make all path variables absolute. Also set

CMAKE_ARCHIVE_OUTPUT_DIRECTORY, etc using the last path component of LIB_INSTALL_DIR, etc, so that absolute paths
are supported.

  • Source/cmake/OptionsGTK.cmake: Ditto. Also get rid of all pkg-config specific variables.

Source/JavaScriptCore:

  • javascriptcoregtk.pc.in: Instead of using the special pkg-config variables,

use the common CMake ones directly.

Source/WebKit/efl:

  • EWebKitConfig.cmake.in: LIB_INSTALL_DIR is always absolute now, so we don't need

to prefix it with the prefix.

  • ewebkit.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.

Source/WebKit2:

  • PlatformEfl.cmake: No need to prefix EXEC_INSTALL_DIR with the prefix any longer.
  • PlatformGtk.cmake: No longer use CMAKE_INSTALL_FULL_FOO variables, instead using the WebKit-specific ones.
  • efl/EWebKit2Config.cmake.in: Ditto.
  • efl/ewebkit2.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.
  • webkit2gtk-web-extension.pc.in: No longer use the pkg-config only variables. Instead use

the common CMake ones.

  • webkit2gtk.pc.in: Ditto.
9:33 AM Changeset in webkit [169164] by fpizlo@apple.com
  • 6 edits in trunk

Unreviewed, roll out http://trac.webkit.org/changeset/169159.

This was a unilateral change and wasn't properly reviewed.

PerformanceTests/SunSpider:

  • profiler-test.yaml:

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml:

LayoutTests:

  • js/script-tests/function-apply-many-args.js:
9:19 AM Changeset in webkit [169163] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r168625): [GTK] Assertion failure in LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=133118

Reviewed by Philippe Normand.

Call WebContext::applyPlatformSpecificConfigurationDefaults() to
initialize the WebContextConfiguration before creating the default WebContext.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

9:14 AM Changeset in webkit [169162] by graouts@webkit.org
  • 7 edits in trunk

Array.prototype.find and findIndex should skip holes
https://bugs.webkit.org/show_bug.cgi?id=132658

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Skip holes in the array when iterating such that callback isn't called.

  • builtins/Array.prototype.js:

(find):
(findIndex):

LayoutTests:

  • js/array-find-expected.txt:
  • js/array-findIndex-expected.txt:
  • js/script-tests/array-find.js:
  • js/script-tests/array-findIndex.js:
9:06 AM Changeset in webkit [169161] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

Garbage when rubber-banding at the right edge of a page zoomed to non-integral scale.
https://bugs.webkit.org/show_bug.cgi?id=133139
<rdar://problem/16503353>

Reviewed by Simon Fraser.

Do not pixel align the root content layer. The alignment code expands the graphics's layer size
which makes the right and bottom tiles bigger than the content.
Painting the body's background color produces pixel cracks, because the content can not
fill the expanded tiles completely.

Not testable.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::needsPixelAligment):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment):

  • platform/graphics/ca/mac/TileGrid.mm:

(WebCore::TileGrid::rectForTileIndex):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::needsPixelAligment):

  • rendering/RenderLayerBacking.h:
8:31 AM Changeset in webkit [169160] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

REGRESSION (r168046): Invalid layout in WebCore::RenderBox::containingBlockLogicalWidthForPositioned
https://bugs.webkit.org/show_bug.cgi?id=132933

Reviewed by Darin Adler.

Source/WebCore:
Invalid layout is performed when calling containingBlockLogicalWidthForPositioned for a RenderTableSection object.

Test: fast/multicol/newmulticol/table-section-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):

LayoutTests:
Added test for crash caused by invalid layout for RenderTableSection.

  • fast/multicol/newmulticol/table-section-crash-expected.txt: Added.
  • fast/multicol/newmulticol/table-section-crash.html: Added.
7:56 AM Changeset in webkit [169159] by commit-queue@webkit.org
  • 6 edits in trunk

REGRESSION(r169092 and r169102): Skip failing JSC tests on ARM64 properly
https://bugs.webkit.org/show_bug.cgi?id=133149

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

PerformanceTests/SunSpider:

  • profiler-test.yaml:

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml:

LayoutTests:

  • js/script-tests/function-apply-many-args.js:
7:43 AM Changeset in webkit [169158] by Michał Pakuła vel Rutka
  • 36 edits in trunk/LayoutTests

Unreviewed EFL gardening

Rebaseline test expectations after r169048.

  • platform/efl/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/efl/css1/text_properties/text_indent-expected.txt:
  • platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/efl/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
  • platform/efl/css2.1/t1601-c547-indent-00-b-a-expected.txt:
  • platform/efl/fast/block/float/026-expected.txt:
  • platform/efl/fast/block/float/028-expected.txt:
  • platform/efl/fast/css/empty-pseudo-class-expected.txt:
  • platform/efl/fast/css/first-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/efl/fast/css/last-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/efl/fast/css/only-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/efl/fast/line-grid/line-align-left-edges-expected.txt:
  • platform/efl/fast/multicol/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/float-multicol-expected.txt:
  • platform/efl/fast/multicol/layers-in-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/efl/fast/text/whitespace/024-expected.txt:
6:08 AM Changeset in webkit [169157] by Gustavo Noronha Silva
  • 2 edits in trunk

[CMake] Support building with Debug Fission
https://bugs.webkit.org/show_bug.cgi?id=131177

Reviewed by Philippe Normand.

  • Source/cmake/OptionsCommon.cmake: add a DEBUG_FISSION option to enable usage

of http://gcc.gnu.org/wiki/DebugFission.

5:01 AM Changeset in webkit [169156] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

REGRESSION(r169092): It broke run-jsc-stress tests on non Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=133145

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

  • Scripts/run-jsc-stress-tests:
4:55 AM Changeset in webkit [169155] by jinwoo7.song@samsung.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

  • platform/efl/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.

Rebaseline after r169048.

4:03 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
2:28 AM Changeset in webkit [169154] by berto@igalia.com
  • 2 edits
    1 add in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-21

  • platform/gtk/TestExpectations: Report and mark new tests failing.
  • platform/gtk/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.

Rebaseline after r169048.

2:11 AM Changeset in webkit [169153] by simon.pena@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Ensure EGLOffScreenContext::initialize calls platformMakeCurrent on the surface
https://bugs.webkit.org/show_bug.cgi?id=124832

Reviewed by Antonio Gomes.

The original code was only calling platformMakeCurrent when the
GL_EXT_robustness extension is supported: the alternate code path
would only create a context, but it wouldn't make that context
current. This patch ensures platformMakeCurrent is also called for
the alternate code path, and, if it fails to make the context
current, will destroy the context. Effectively, this makes both
code paths behave in the same way.

  • platform/graphics/surfaces/egl/EGLContext.cpp:

(WebCore::EGLOffScreenContext::initialize):

1:12 AM Changeset in webkit [169152] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WebKit2] Cleanup the build from unused variable in WebProcess module
https://bugs.webkit.org/show_bug.cgi?id=133062

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

Fix unused parameter by using UNUSED_PARAM macro

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):

May 20, 2014:

11:55 PM Changeset in webkit [169151] by ggaren@apple.com
  • 7 edits in trunk/Source

Rolled out <http://trac.webkit.org/changeset/166184>
https://bugs.webkit.org/show_bug.cgi?id=133144

Reviewed by Gavin Barraclough.

It caused a performance regression.

../JavaScriptCore:

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::blockFreeingThreadStartFunc):

../WTF:

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::runScavengerThread):

  • wtf/Threading.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::createThreadInternal):
(WTF::setCurrentThreadQOSUtility): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::setCurrentThreadQOSUtility): Deleted.

11:01 PM Changeset in webkit [169150] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

10:58 PM Changeset in webkit [169149] by Lucas Forschler
  • 1 copy in tags/Safari-538.36

New Tag.

10:16 PM Changeset in webkit [169148] by fpizlo@apple.com
  • 10 edits
    1 add in branches/ftlopt/Source/JavaScriptCore

[ftlopt] A StructureSet with one element should only require one word and no allocation
https://bugs.webkit.org/show_bug.cgi?id=133014

Reviewed by Oliver Hunt.

This makes it more efficient to use StructureSet in situations where the common case is
just one structure.

I also took the opportunity to use the same set terminology we use in BitVector: merge,
filter, exclude, contains, etc.

Eventually, this will be used to implement StructureAbstractValue as well.

(JSC::StructureSet::StructureSet):
(JSC::StructureSet::operator=):
(JSC::StructureSet::clear):
(JSC::StructureSet::add):
(JSC::StructureSet::remove):
(JSC::StructureSet::contains):
(JSC::StructureSet::merge):
(JSC::StructureSet::filter):
(JSC::StructureSet::exclude):
(JSC::StructureSet::isSubsetOf):
(JSC::StructureSet::overlaps):
(JSC::StructureSet::operator==):
(JSC::StructureSet::speculationFromStructures):
(JSC::StructureSet::arrayModesFromStructures):
(JSC::StructureSet::dumpInContext):
(JSC::StructureSet::dump):
(JSC::StructureSet::addOutOfLine):
(JSC::StructureSet::containsOutOfLine):
(JSC::StructureSet::copyFrom):
(JSC::StructureSet::OutOfLineList::create):
(JSC::StructureSet::OutOfLineList::destroy):

  • bytecode/StructureSet.h:

(JSC::StructureSet::StructureSet):
(JSC::StructureSet::~StructureSet):
(JSC::StructureSet::onlyStructure):
(JSC::StructureSet::isEmpty):
(JSC::StructureSet::size):
(JSC::StructureSet::at):
(JSC::StructureSet::operator[]):
(JSC::StructureSet::last):
(JSC::StructureSet::OutOfLineList::list):
(JSC::StructureSet::OutOfLineList::OutOfLineList):
(JSC::StructureSet::deleteStructureListIfNecessary):
(JSC::StructureSet::isThin):
(JSC::StructureSet::pointer):
(JSC::StructureSet::singleStructure):
(JSC::StructureSet::structureList):
(JSC::StructureSet::set):
(JSC::StructureSet::clear): Deleted.
(JSC::StructureSet::add): Deleted.
(JSC::StructureSet::addAll): Deleted.
(JSC::StructureSet::remove): Deleted.
(JSC::StructureSet::contains): Deleted.
(JSC::StructureSet::containsOnly): Deleted.
(JSC::StructureSet::isSubsetOf): Deleted.
(JSC::StructureSet::overlaps): Deleted.
(JSC::StructureSet::singletonStructure): Deleted.
(JSC::StructureSet::speculationFromStructures): Deleted.
(JSC::StructureSet::arrayModesFromStructures): Deleted.
(JSC::StructureSet::operator==): Deleted.
(JSC::StructureSet::dumpInContext): Deleted.
(JSC::StructureSet::dump): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToStructureTransitionWatchpoint):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheck):

9:59 PM Changeset in webkit [169147] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.44

New Tag.

9:08 PM Changeset in webkit [169146] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

[Mac] DataCues do not work properly when rewinding video
https://bugs.webkit.org/show_bug.cgi?id=133138
<rdar://problem/16979086>

Reviewed by Eric Carlson.

Make the TrackPrivateBase responsible for knowing if a type of track needs a non-zero
startTimeVariance value.

Also, correct a bug in the equality test for DataCue objects.

  • html/track/DataCue.cpp:

(WebCore::DataCue::isEqual): Handle the JSValue data types consistently, so that we don't attempt
to compare a JSNull against a default JSValue object.

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::startTimeVariance): Added.

  • html/track/InbandTextTrack.h:
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::hasCue): Use new startTimeVariance method location.

  • html/track/TextTrack.h:

(WebCore::TextTrack::startTimeVariance): Added.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::hasEquivalentStartTime): Use new startTimeVariance location.

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTimeVariance): Deleted.

  • html/track/TextTrackCueGeneric.h:
  • platform/graphics/TrackPrivateBase.h:

(WebCore::TrackPrivateBase::startTimeVariance): Added.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
8:49 PM Changeset in webkit [169145] by fpizlo@apple.com
  • 6 edits
    1 add in trunk/Source/JavaScriptCore

DFG prediction propagation should agree with fixup phase over the return type of GetByVal
https://bugs.webkit.org/show_bug.cgi?id=133134

Reviewed by Mark Hahnenberg.

Make prediction propagator use ArrayMode refinement to decide the return type.

Also introduce a heap prediction intrinsic that allows us to test weird corner cases
like this. The only way we'll see a mismatch like this in the real world is probably
through a gnarly race condition.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGNode.h:

(JSC::DFG::Node::setHeapPrediction):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFalse1):
(functionFalse2):
(functionUndefined1):
(functionUndefined2):
(functionFalse): Deleted.
(functionOtherFalse): Deleted.
(functionUndefined): Deleted.

  • runtime/Intrinsic.h:
  • tests/stress/get-by-val-double-predicted-int.js: Added.

(foo):

6:55 PM Changeset in webkit [169144] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.9

New tag.

5:44 PM Changeset in webkit [169143] by fpizlo@apple.com
  • 42 edits
    1 copy
    14 adds in branches/ftlopt

[ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
https://bugs.webkit.org/show_bug.cgi?id=133105

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • GetByIdStatus now knows about getters and can report intelligent things about them. As is usually the case with how we do these things, GetByIdStatus knows more about getters than the DFG can actually handle: it'll report details about polymorphic getter calls even though the DFG won't be able to handle those. This is fine; the DFG will see those statuses and bail to a generic slow path.


  • The DFG::ByteCodeParser now knows how to set up and do handleCall() for a getter call. This can, and usually does, result in inlining of getters!


  • CodeOrigin and OSR exit know about inlined getter calls. When you OSR out of an inlined getter, we set the return PC to a getter return thunk that fixes up the stack. We use the usual offset-true-return-PC trick, where OSR exit places the true return PC of the getter's caller as a phony argument that only the thunk knows how to find.


  • Removed a bunch of dead monomorphic chain support from StructureStubInfo.


  • A large chunk of this change is dragging GetGetterSetterByOffset, GetGetter, and GetSetter through the DFG and FTL. GetGetterSetterByOffset is like GetByOffset except that we know that we're returning a GetterSetter cell. GetGetter and GetSetter extract the getter, or setter, from the GetterSetter.


This is a ~2.5x speed-up on the getter microbenchmarks that we already had. So far none
of the "real" benchmarks exercise getters enough for this to matter. But I noticed that
some of the variants of the Richards benchmark in other languages - for example
Wolczko's Java translation of a C++ translation of Deutsch's Smalltalk version - use
getters and setters extensively. So, I created a getter/setter JavaScript version of
Richards and put it in regress/script-tests/getter-richards.js. That sees about a 2.4x
speed-up from this patch, which is very reassuring.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::findStubInfo):

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

(WTF::printInternal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::specializationKindFor):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::makesCalls):
(JSC::GetByIdStatus::computeForChain): Deleted.

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::makesCalls): Deleted.

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::~GetByIdVariant):
(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::callLinkStatus):

  • bytecode/PolymorphicGetByIdList.cpp:

(JSC::GetByIdAccess::fromStructureStubInfo):
(JSC::PolymorphicGetByIdList::from):

  • bytecode/SpeculatedType.h:
  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:

(JSC::isGetByIdAccess):
(JSC::StructureStubInfo::initGetByIdChain): Deleted.

  • dfg/DFGAbstractHeap.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getGetterSetterByOffsetLoadElimination):
(JSC::DFG::CSEPhase::getInternalFieldLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::getTypedArrayByteOffsetLoadElimination): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::linkFunction):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasStorageAccessData):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLAbstractHeapRepository.cpp:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetGetter):
(JSC::FTL::LowerDFGToLLVM::compileGetSetter):

  • jit/AccessorCallJITStubRoutine.h:
  • jit/JIT.cpp:

(JSC::JIT::assertStackPointerOffset):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_id):

  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):
(JSC::baselineGetterReturnThunkGenerator):
(JSC::baselineSetterReturnThunkGenerator):
(JSC::arityFixup): Deleted.

  • jit/ThunkGenerators.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::setupArityCheckData):

  • tests/stress/exit-from-getter.js: Added.
  • tests/stress/poly-chain-getter.js: Added.

(Cons):
(foo):
(test):

  • tests/stress/poly-chain-then-getter.js: Added.

(Cons1):
(Cons2):
(foo):
(test):

  • tests/stress/poly-getter-combo.js: Added.

(Cons1):
(Cons2):
(foo):
(test):
(.test):

  • tests/stress/poly-getter-then-chain.js: Added.

(Cons1):
(Cons2):
(foo):
(test):

  • tests/stress/poly-getter-then-self.js: Added.

(foo):
(test):
(.test):

  • tests/stress/poly-self-getter.js: Added.

(foo):
(test):
(getter):

  • tests/stress/poly-self-then-getter.js: Added.

(foo):
(test):

  • tests/stress/weird-getter-counter.js: Added.

(foo):
(test):

Source/WTF:

  • wtf/Bag.h:

(WTF::Bag::iterator::operator!=):

LayoutTests:

  • js/regress/getter-no-activation-expected.txt: Added.
  • js/regress/getter-no-activation.html: Added.
  • js/regress/script-tests/getter-no-activation.js: Added.
  • js/regress/getter-richards-expected.txt: Added.
  • js/regress/getter-richards.html: Added.
  • js/regress/script-tests/getter-richards.js: Added.
5:13 PM Changeset in webkit [169142] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (WK2): Tapping on the input field in duckduckgo.com shows the keyboard but not the caret.
https://bugs.webkit.org/show_bug.cgi?id=133140
<rdar://problem/16980898>

Reviewed by Benjamin Poulain.

When a page focuses a field on load, we receive the call to startAssistingNode
but we don't create a text interaction assistant if the focus is not originated
by a user action. Upon receiving the selection change notification we don't
call the text interaction assistant, since we don't have one, but we do call
the web selection assistant. We don't have any valid rects for web selection
and we clear the selection on the page, causing the caret not to appear and
the typing to have no effect.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateChangedSelection]):

5:07 PM Changeset in webkit [169141] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Rollout r169076.

5:03 PM Changeset in webkit [169140] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merge r168974.

3:55 PM Changeset in webkit [169139] by mhahnenberg@apple.com
  • 15 edits in trunk/Source

Watchdog timer should be lazily allocated
https://bugs.webkit.org/show_bug.cgi?id=133135

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
We incur a noticeable amount of overhead on some benchmarks due to checking if the Watchdog ever fired.
There is no reason to do this checking if we never activated the Watchdog, which can only be done through
JSContextGroupSetExecutionTimeLimit or JSContextGroupClearExecutionTimeLimit.

By allocating the Watchdog lazily on the VM we can avoid all of the associated overhead when we don't use
these two API functions (which is true of most clients).

  • API/JSContextRef.cpp:

(JSContextGroupSetExecutionTimeLimit):
(JSContextGroupClearExecutionTimeLimit):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

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

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/VM.h:
  • runtime/Watchdog.cpp:

(JSC::Watchdog::Scope::Scope): Deleted.
(JSC::Watchdog::Scope::~Scope): Deleted.

  • runtime/Watchdog.h:

(JSC::Watchdog::Scope::Scope):
(JSC::Watchdog::Scope::~Scope):

Source/WebCore:
No new tests.

We incur a noticeable amount of overhead on some benchmarks due to checking if the Watchdog ever fired.
There is no reason to do this checking if we never activated the Watchdog, which can only be done through
JSContextGroupSetExecutionTimeLimit or JSContextGroupClearExecutionTimeLimit.

By allocating the Watchdog lazily on the VM we can avoid all of the associated overhead when we don't use
these two API functions (which is true of most clients).

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::isExecutionTerminating):

3:54 PM Changeset in webkit [169138] by Lucas Forschler
  • 5 edits in branches/safari-537.77-branch/Source

Versioning.

3:22 PM Changeset in webkit [169137] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r169114.

3:14 PM Changeset in webkit [169136] by Lucas Forschler
  • 1 copy in branches/safari-537.77-branch

New Branch.

2:48 PM Changeset in webkit [169135] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch

Merge r169094.

2:03 PM Changeset in webkit [169134] by dino@apple.com
  • 13 edits in trunk/Source

[Mac] Allow popup menus to override default appearance
https://bugs.webkit.org/show_bug.cgi?id=133129

Reviewed by Tim Horton.

Source/WebCore:
WebKitSystemInterface's WKPopupMenu has a flag to hide
the arrows at the end of a popup-menu (e.g. <select>).
Expose that via adding a hasDefaultAppearance flag to
PopupMenuStyle, which then passes it on to WKSI.

  • platform/PopupMenuStyle.h:

(WebCore::PopupMenuStyle::PopupMenuStyle): New flag in constructor.
(WebCore::PopupMenuStyle::hasDefaultAppearance): New flag.

  • platform/mac/WebCoreSystemInterface.h: wkPopupMenu signature has changed to accept

the new flag.

  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • rendering/RenderMenuList.cpp:

(RenderMenuList::itemStyle): Pass in true as default appearance when creating
the PopupMenuStyle. We don't need it.
(RenderMenuList::menuStyle): In this case we pass in the negated value of
style().hasAppearance(), which indicates if we are overriding the built-in drawing.

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::menuStyle): Use true as the default value.

Source/WebKit/mac:
Replace the call to wkPopupMenuWithSize with wkPopupMenu, now
with extra parameters to indicate the control size and whether
or not to draw the arrows at the end.

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

Source/WebKit2:
Add an extra "hideArrows" flag to PlatformPopupMenuData
and replace the call to WKPopupMenuWithSize with WKPopupMenu.

  • Shared/PlatformPopupMenuData.cpp: Encode and decode the new data value.

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h: Add hideArrows boolean.
  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:

(WebKit::WebPopupMenu::setUpPlatformData): The hideArrows flag is
true if we don't have the default appearance.

1:59 PM Changeset in webkit [169133] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

[Mac] Allow popup menus to override default appearance
https://bugs.webkit.org/show_bug.cgi?id=133129

Reviewed by Tim Horton.

Add a new parameter to WKPopupMenu.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
1:57 PM Changeset in webkit [169132] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/JavaScriptCore

Merge r169094.

1:57 PM Changeset in webkit [169131] by jer.noble@apple.com
  • 2 edits in trunk/Source/WTF

[Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
https://bugs.webkit.org/show_bug.cgi?id=133130

Reviewed by Geoff Garen.

Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
up immediately after the end of the function.

  • wtf/mac/MainThreadMac.mm:

(WTF::timerFired):

1:52 PM Changeset in webkit [169130] by eric.carlson@apple.com
  • 8 edits in trunk/Source

[Mac] do not deactivate an audio session that has running I/O
https://bugs.webkit.org/show_bug.cgi?id=133127

Reviewed by Jer Noble.

Source/WebCore:

  • page/Settings.h:

(WebCore::Settings::setShouldManageAudioSessionCategory): Renamed from setShouldManageAudioSession.
(WebCore::Settings::shouldManageAudioSessionCategory): Renamed from shouldManageAudioSession.
(WebCore::Settings::setShouldManageAudioSession): Deleted.
(WebCore::Settings::shouldManageAudioSession): Deleted.

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): Don't deactivate the session if there are any

Video or Audio sessions.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Drive-by change to log errors

returned by -statusOfValueForKey:error: in debug builds.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]): Settings::setShouldManageAudioSession

renamed to setShouldManageAudioSessionCategory, deal with it.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Settings::setShouldManageAudioSession renamed to

setShouldManageAudioSessionCategory, deal with it.

1:36 PM Changeset in webkit [169129] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

REGRESSION: All non-mainframe scrollbars don't paint after r169065
https://bugs.webkit.org/show_bug.cgi?id=133132
-and corresponding-
<rdar://problem/16968850>

Reviewed by Geoff Garen.

We should not universally return true here. This feature will only work for
scrollbars with layers.

  • platform/ScrollableArea.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

1:34 PM Changeset in webkit [169128] by dbates@webkit.org
  • 7 edits
    4 adds in trunk

Element within flattened frame may update its scroll state during the layout phase of the wrong RenderView
https://bugs.webkit.org/show_bug.cgi?id=133013
<rdar://problem/16760154>

Reviewed by David Hyatt.

Source/WebCore:
Fixes an issue where the scroll state of an element may be updated during the layout of the wrong
RenderView. In particular, the scroll state of an element inside a CSS flex box in a flattened
frame f is updated during the layout of the RenderView associated with the parent frame of f instead
of during the layout of the RenderView associated with f.

The layout machinery assumes that the scroll state of each scrollable element is updated before the
completion of layout for its associated RenderView. Currently we have logic to defer updating the scroll
state of a scrollable element until completion of recursive layout. For a page with a flattened frame, we
defer such updates until completion of layout for all RenderViews along the ancestor frame hierarchy of
each flattened frame regardless of the RenderView associated with the element that originated the
deferred scroll state request. Instead, only the RenderView associated with the element that deferred its
scroll state update should dispatch the scroll state update.

Tests: fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html

fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html

  • rendering/RenderBlock.cpp: Removed WTF::-prefix in typedef definition for ContinuationOutlineTableMap.

(WebCore::UpdateScrollInfoAfterLayoutTransaction::UpdateScrollInfoAfterLayoutTransaction): Added; a struct
that represents a RenderView v, nested transaction count, and a list of RenderBlocks in v that will need
to have their scroll state updated.
(WebCore::updateScrollInfoAfterLayoutTransactionStack): Added; returns the global stack of transactions.
(WebCore::RenderBlock::willBeDestroyed): Call removeFromUpdateScrollInfoAfterLayoutTransaction(), which
was formerly named as removeFromDelayedUpdateScrollInfoSet.
(WebCore::currentUpdateScrollInfoAfterLayoutTransaction): Added; returns the top-most transaction in the
global stack.
(WebCore::RenderBlock::beginUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to make use
of the global stack of transactions; formerly named startDelayUpdateScrollInfo.
(WebCore::RenderBlock::endAndCommitUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to
make use of the global stack of transactions; formerly named finishDelayUpdateScrollInfo.
(WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to make
use of the global stack of transactions; formerly named removeFromDelayedUpdateScrollInfoSet.
(WebCore::RenderBlock::updateScrollInfoAfterLayout): Modified as appropriate to make use of the global
stack of transactions.
(WebCore::RenderBlock::layout): Ditto.
(WebCore::RenderBlock::startDelayUpdateScrollInfo): Deleted.
(WebCore::RenderBlock::finishDelayUpdateScrollInfo): Deleted.
(WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed): Call removeFromUpdateScrollInfoAfterLayoutTransaction(), which
was formerly named removeFromDelayedUpdateScrollInfoSet.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Call {begin, end}UpdateScrollInfoAfterLayoutTransaction(),
which was formerly named {start, end}DelayUpdateScrollInfo.
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Ditto.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock): Ditto.

LayoutTests:
Added tests to ensure that that we update the scroll state of an element during the layout phase of its
associated RenderView.

  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash-expected.txt: Added.
  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html: Added.
  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure-expected.txt: Added.
  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html: Added.
1:21 PM Changeset in webkit [169127] by Lucas Forschler
  • 6 edits in branches/safari-538.34.5-branch

Merged r168599.

1:18 PM Changeset in webkit [169126] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169114.

1:02 PM Changeset in webkit [169125] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

12:31 PM Changeset in webkit [169124] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION (r169065): Mountain Lion run-api-tests failures: ASSERTION FAILED:
Uncaught exception - -[NSRegularLegacyScrollerImp setPresentationValue:]:
unrecognized selector sent to instance 0x7ff51aa38000
https://bugs.webkit.org/show_bug.cgi?id=133121

Reviewed by Tim Horton.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):

12:13 PM Changeset in webkit [169123] by Simon Fraser
  • 12 edits in trunk/Source

REGRESSION (r169063) Fixed and sticky nodes misplaced on scrolling sometimes
https://bugs.webkit.org/show_bug.cgi?id=133106
<rdar://problem/16967648>

Reviewed by Sam Weinig.

Fix regression from r169063. That commit removed scrolledContentsLayers from
frame scrolling nodes, but they do actually use them.

So put them back; not in the base class, because they have a somewhat different
meaning for overflow scrolling and frame scrolling.

Source/WebCore:

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

(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateFrameScrollingNode):

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:

(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setScrolledContentsLayer):

  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

11:44 AM Changeset in webkit [169122] by ap@apple.com
  • 6 edits in trunk

[Mac] WebProcess doesn't follow localization of UI process when run as a service
https://bugs.webkit.org/show_bug.cgi?id=133126
<rdar://problem/13396515>
<rdar://problem/16561084>

Reviewed by Sam Weinig and Tim Horton.

Source/WebKit2:

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::handleXPCBootstrap):
(main):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::handleXPCBootstrap):
(main):
Set localization very early in process lifetime (in development builds, that's
even before WebKit framework is loaded).

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::connectToService):

Pass UI process localization to the service, computing it in the same way we do
for child processes.

Tools:

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize): It was too late to override language
here, and it's not necessary any more. Keeping the code for older OS versions in
case it did have effect in some code paths.

11:07 AM Changeset in webkit [169121] by mhahnenberg@apple.com
  • 8 edits
    21 adds in trunk

JSArray::shiftCountWith* could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=133011

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Our current implementations of shiftCountWithAnyIndexingType and shiftCountWithArrayStorage
are scared of the presence of any holes in the array. We can mitigate this somewhat by enabling
them to correctly handle holes, thus avoiding the slowest of slow paths in most cases.

  • runtime/ArrayStorage.h:

(JSC::ArrayStorage::indexingHeader):
(JSC::ArrayStorage::length):
(JSC::ArrayStorage::hasHoles):

  • runtime/IndexingHeader.h:

(JSC::IndexingHeader::publicLength):
(JSC::IndexingHeader::from):

  • runtime/JSArray.cpp:

(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSArray.h:

(JSC::JSArray::shiftCountForShift):
(JSC::JSArray::shiftCountForSplice):
(JSC::JSArray::shiftCount):

  • runtime/Structure.cpp:

(JSC::Structure::holesRequireSpecialBehavior):

  • runtime/Structure.h:

LayoutTests:
Added a performance regression test which tests the contiguous shift case. We're ~85% faster
on this microbenchmark with this patch.

Also added a bunch of tests for each permutation of contiguous/array storage with no holes, holes,
and holes that require special behavior (e.g. indexed properties in the prototype chain).

  • js/array-storage-splice-holes-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior.html: Added.
  • js/array-storage-splice-holes.html: Added.
  • js/array-storage-splice-no-holes-expected.txt: Added.
  • js/array-storage-splice-no-holes.html: Added.
  • js/contiguous-splice-holes-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior.html: Added.
  • js/contiguous-splice-holes.html: Added.
  • js/contiguous-splice-no-holes-expected.txt: Added.
  • js/contiguous-splice-no-holes.html: Added.
  • js/regress/array-splice-contiguous-expected.txt: Added.
  • js/regress/array-splice-contiguous.html: Added.
  • js/regress/script-tests/array-splice-contiguous.js: Added.

(foo):

  • js/script-tests/array-storage-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/array-storage-splice-holes.js: Added.
  • js/script-tests/array-storage-splice-no-holes.js: Added.
  • js/script-tests/contiguous-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/contiguous-splice-holes.js: Added.
  • js/script-tests/contiguous-splice-no-holes.js: Added.
10:38 AM Changeset in webkit [169120] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

REGRESSION: [CSS Regions] Content flowed directly into the flow thread that ends up in the second region is not properly repainted
https://bugs.webkit.org/show_bug.cgi?id=133111

Reviewed by David Hyatt.

Source/WebCore:
When computing the repaint rect of an element flowed into a flow thread, if the element is flowed directly into
the flow thread (meaning its containing block is the flow thread itself), the region's position within the flow
must no longer be taken into consideration, because its already included in the element's |topLeft|.

Test: fast/regions/hover-element-flowed-second-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

LayoutTests:
Added test for the correct repaint of an element flowed directly into the second region of a flow thread.

  • fast/regions/hover-element-flowed-second-region-expected.html: Added.
  • fast/regions/hover-element-flowed-second-region.html: Added.
10:29 AM Changeset in webkit [169119] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix web timing assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=133094
<rdar://problem/16966032>

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-20
Reviewed by Alexey Proskuryakov.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getConnectionTimingData):
Set requestStart and responseStart to 0 instead of -1 to match the
ResourceLoadTiming constructor and prevent the assertion failure in
PerformanceTiming::responseStart.

10:13 AM Changeset in webkit [169118] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Only set title on SVG documents
https://bugs.webkit.org/show_bug.cgi?id=133068

Patch by Prashant Hiremath <hiremathprashants@gmail.com> on 2014-05-20
Reviewed by Dirk Schulze.

Source/WebCore:
Test: svg/custom/html_document_set_title.html

  • svg/SVGTitleElement.cpp:

(WebCore::SVGTitleElement::insertedInto):
(WebCore::SVGTitleElement::removedFrom):
(WebCore::SVGTitleElement::childrenChanged):

LayoutTests:

  • svg/custom/html_document_set_title-expected.txt: Added.
  • svg/custom/html_document_set_title.html: Added.
10:08 AM Changeset in webkit [169117] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crashy than before
https://bugs.webkit.org/show_bug.cgi?id=133124

10:06 AM Changeset in webkit [169116] by andersca@apple.com
  • 2 edits in trunk/LayoutTests

Skip http/tests/inspector/replay/document-last-modified-fallback-value.html since it asserts.

10:01 AM Changeset in webkit [169115] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Invalid content in cache file, causes broken rendering.
https://bugs.webkit.org/show_bug.cgi?id=133069

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-20
Reviewed by Brent Fulgham.

When data for a url is received as multiple parts, the cache file for the url is truncated when opened for writing,
and will only contain the last part of data received.
This is fixed by only opening the file once, and close it after all data has been received.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::CurlCacheEntry): Initialize cache file handle member.
(WebCore::CurlCacheEntry::~CurlCacheEntry): Close cache file.
(WebCore::CurlCacheEntry::saveCachedData): Only open cache file once to avoid truncating.
(WebCore::CurlCacheEntry::didFail): Close cache file.
(WebCore::CurlCacheEntry::didFinishLoading): Ditto.
(WebCore::CurlCacheEntry::openContentFile): Added method to open cache file.
(WebCore::CurlCacheEntry::closeContentFile): Added method to close cache file.

  • platform/network/curl/CurlCacheEntry.h: Added file handle member, and methods to open and close cache file.
9:59 AM Changeset in webkit [169114] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a header comment
https://bugs.webkit.org/show_bug.cgi?id=133123
<rdar://problem/16973783>

Reviewed by Geoffrey Garen.

  • UIProcess/API/Cocoa/WKUserContentController.h:
9:23 AM Changeset in webkit [169113] by dfarler@apple.com
  • 9 edits in trunk/Tools

Move WebKitTestRunner to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=133081

Reviewed by Daniel Bates.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didCreatePage):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::runTest):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:
  • WebKitTestRunner/TestInvocation.h:
  • WebKitTestRunner/WorkQueueManager.cpp:

(WTR::WorkQueueManager::processWorkQueue):
(WTR::WorkQueueManager::enqueue):

  • WebKitTestRunner/WorkQueueManager.h:
8:20 AM Changeset in webkit [169112] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] WebKitWebPage::send-request always pass a valid pointer for redirected response
https://bugs.webkit.org/show_bug.cgi?id=133119

Reviewed by Sergio Villar Senin.

Source/WebKit2:
The problem is that we were checking whether the passed in
WKURLResponseRef is NULL or not, but it's always a valid object
that can contain a NULL WebCore::ResourceResponse.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(willSendRequestForFrame): Pass NULL as redirect-response
parameter of WebKitWebPage::send-request signal when the
WebCore::ResourceResponse of the passed in WKURLResponseRef is NULL.

Tools:
Check that redirect response parameter of
WebKitWebPage::send-request signal is NULL when not redirecting
and a valid WebKitURIResponse object when redirecting.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebResourceSendRequest):
(serverCallback):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(sendRequestCallback):

7:47 AM Changeset in webkit [169111] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

Make fast/dom/remove-element-with-{id|name}-that-was-inserted-on-DOMNodeRemoved.html reliable
<http://webkit.org/b/133088>

Reviewed by Alexey Proskuryakov.

  • fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html:
  • fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html:
  • Use waitUntilDone()/notifyDone() to make the tests reliable since they use setTimeout().
7:34 AM Changeset in webkit [169110] by stavila@adobe.com
  • 5 edits
    4 adds in trunk

[CSS Regions] Block incorrectly sized when containing an unsplittable box
https://bugs.webkit.org/show_bug.cgi?id=132601

Reviewed by Antti Koivisto.

Source/WebCore:
When laying out elements in a region, when an inline element is encountered
the size of its parent must not be increased beyond the bottom of the current region,
unless if its the last region. This will ensure that the next sibling of the
inline element is correctly laid out at the top of the next region, instead
of leaving an empty space equal to the height of the overflow, as it did until now.

Tests: fast/regions/inline-block-inside-anonymous-overflow.html

fast/regions/inline-block-overflow.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::hasNextPage):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):

LayoutTests:
Added tests for the layout of elements following inline-block elements
that overflow their region, with and without anonymous blocks.

  • fast/regions/inline-block-inside-anonymous-overflow-expected.html: Added.
  • fast/regions/inline-block-inside-anonymous-overflow.html: Added.
  • fast/regions/inline-block-overflow-expected.html: Added.
  • fast/regions/inline-block-overflow.html: Added.
6:56 AM Changeset in webkit [169109] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Double-tap zoom does not take obscuring insets into account
https://bugs.webkit.org/show_bug.cgi?id=133116
<rdar://problem/16765604>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):

Compute the zoom target taking insets into account.

6:39 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
6:15 AM Changeset in webkit [169108] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Rename translation domain as WebKit2GTK-3.0
https://bugs.webkit.org/show_bug.cgi?id=132953

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/OptionsGTK.cmake:

Source/WebCore/platform/gtk/po:

  • CMakeLists.txt:
5:34 AM Changeset in webkit [169107] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Add polygon tests for shapes on regions and shapes on the content flow
https://bugs.webkit.org/show_bug.cgi?id=133107

Reviewed by Mihnea Ovidenie.

  • fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats-expected.html: Added.
  • fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats.html: Added.
5:17 AM Changeset in webkit [169106] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] Several WebKit2GTK+ unit tests are no longer built
https://bugs.webkit.org/show_bug.cgi?id=133117

Reviewed by Philippe Normand.

Bring back missing tests to the build.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
3:57 AM Changeset in webkit [169105] by mihnea@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Regions] Crash while painting block selection gaps in regions
https://bugs.webkit.org/show_bug.cgi?id=132720

Reviewed by David Hyatt.

Source/WebCore:
The fix for WebKit bug https://bugs.webkit.org/show_bug.cgi?id=131511
allowed selection highlight to match the DOM selection when the start
and end point of the selection were in different flow threads. In order
to enable that, the selection was performed separately on view and
render flow threads, considered selection subtrees.

However, the start and end points for each selection subtree were computed
by means of Range class but it is not always possible to construct a valid
Range from two pairs of RenderObjects and offsets.

This patch keeps the substrees approach but instead of storing the endpoints
for each subtree in a Range and continuously extending the Range, it stores them
using the already available SelectionSubtreeRoot class. After the end points are
computed for each subtree and before processing the subtree selection, the end points
are adjusted in a similar fashion as the one used in FrameSelection::updateAppearance(),
to make sure we are passing the same expected information to the method implementing
the visible selection processing.

Test: fast/regions/selection-gaps-paint-crash.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees):

  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::selectionClear):

LayoutTests:

  • TestExpectations: Unskip a test that was crashing
  • fast/regions/selection-gaps-paint-crash-expected.txt: Added.
  • fast/regions/selection-gaps-paint-crash.html: Added.
2:52 AM Changeset in webkit [169104] by commit-queue@webkit.org
  • 41 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Rebaseline affected tests by changes on integral snapping of inlines
introduced at r169048.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-20

  • platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/gtk/css1/text_properties/text_indent-expected.txt:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
  • platform/gtk/css2.1/t1601-c547-indent-00-b-a-expected.txt:
  • platform/gtk/fast/block/float/026-expected.txt:
  • platform/gtk/fast/block/float/028-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-expected.txt:
  • platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/gtk/fast/line-grid/line-align-left-edges-expected.txt:
  • platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
  • platform/gtk/fast/multicol/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/gtk/fast/text/whitespace/024-expected.txt:
  • platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

May 19, 2014:

10:30 PM Changeset in webkit [169103] by Lucas Forschler
  • 11 edits in branches/safari-537.76-branch

Merged r169098.

9:40 PM Changeset in webkit [169102] by fpizlo@apple.com
  • 4 edits in trunk

Test gardening: skip some failing tests on not-X86.

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml:

LayoutTests:

  • js/script-tests/function-apply-many-args.js:
9:17 PM Changeset in webkit [169101] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.43

New Tag.

7:57 PM Changeset in webkit [169100] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.17

New Tag.

7:56 PM Changeset in webkit [169099] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Rollout r169074.

7:49 PM Changeset in webkit [169098] by Lucas Forschler
  • 11 edits in branches/safari-537.75-branch

Merged r156116.

7:31 PM Changeset in webkit [169097] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Scrolling pages with large TiledBacking content layers creates way too many tiles
https://bugs.webkit.org/show_bug.cgi?id=133101

Reviewed by Tim Horton.

Fix the GraphicsLayerCA::adjustTiledLayerVisibleRect() logic to avoid making giant rects if the old
and new visible rects don't overlap.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):

  • platform/graphics/ca/mac/TileController.h:
7:31 PM Changeset in webkit [169096] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Correctly maintain the "isInWindow" state for all TiledBackings
https://bugs.webkit.org/show_bug.cgi?id=133095

Reviewed by Tim Horton.

We never updated the "isInWindow" state for TiledBacking that wasn't the RenderView's
backing. Fix it by having RenderLayerCompositor::setIsInWindow() recurse through all
layers (if necessary), updating their state. Also set the state on newly created
TiledBackings.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
(WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::pageTiledBacking): Deleted.

  • rendering/RenderLayerCompositor.h:
7:22 PM Changeset in webkit [169095] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

WebKit2/iOS: parented view should be considered hidden if app is backgrounded
https://bugs.webkit.org/show_bug.cgi?id=133099
radar://16942183

Reviewed by Simon Fraser.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewWindowActive):

(WebKit::PageClientImpl::isViewFocused):

(WebKit::PageClientImpl::isViewVisible):

  • take UIApplication applicationState into account in determining visibility.

(WebKit::PageClientImpl::isViewVisibleOrOccluded):

  • implemented in terms of isViewVisible.

(WebKit::PageClientImpl::isVisuallyIdle):

  • implemented in terms of isViewVisible.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):

  • register for UIApplicationDidEnterBackgroundNotification.

(-[WKContentView _applicationDidEnterBackground:]):
(-[WKContentView _applicationWillEnterForeground:]):

  • when the application state changes all flags except IsInWindow may be affected.
7:03 PM Changeset in webkit [169094] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

operationOptimize() should defer the GC for a while.
<https://webkit.org/b/133103>

Reviewed by Filip Pizlo.

Currently, operationOptimize() only defers the GC until its end. As a result,
a GC may be triggered just before we return from operationOptimize(), and it may
jettison the optimize codeBlock that we're planning to OSR enter into when we
return from this function. This is because the OSR entry on-ramp code hasn't
been executed yet, and hence, there is not yet a reference to this new codeBlock
from the stack, and there won't be until we've had a chance to return out of
operationOptimize() to run the OSR entry on-ramp code.

This issue is now fixed by using DeferGCForAWhile instead of DeferGC. This
ensures that the GC will be deferred until after the OSR entry on-ramp can be
executed.

  • jit/JITOperations.cpp:
6:56 PM Changeset in webkit [169093] by Chris Fleizach
  • 3 edits in trunk/LayoutTests

AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Unreviewed.
Make the layout test more resilient to platform differences in frame positions.

  • platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
  • platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:
6:53 PM Changeset in webkit [169092] by fpizlo@apple.com
  • 7 edits in trunk

Take care of some ARM64 test failures
https://bugs.webkit.org/show_bug.cgi?id=133090

Reviewed by Geoffrey Garen.

PerformanceTests/SunSpider:

  • profiler-test.yaml: Skip these on not-x86.

Source/JavaScriptCore:

Constant blinding on ARM64 cannot use the scratch register.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::convertInt32ToDouble):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::store64):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::scratchRegisterForBlinding):

Tools:

  • Scripts/run-jsc-stress-tests: Make it easier to conditionally skip things.
6:09 PM Changeset in webkit [169091] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WK2 iOS: Pressing the form navigation button causes the keyboard to be dismissed.
https://bugs.webkit.org/show_bug.cgi?id=133100
<rdar://problem/16808673>

Reviewed by Benjamin Poulain.

The call to focusNextAssistedNode is the result of a user action, since
it is called when the user pressed the form navigation buttons.
Therefore we must set m_userIsInteracting to true before changing the focus
to make sure the focus change is honored.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::focusNextAssistedNode):

5:55 PM Changeset in webkit [169090] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Use status display for live streams
https://bugs.webkit.org/show_bug.cgi?id=133097

Reviewed by Sam Weinig.

Follow-on from https://bugs.webkit.org/show_bug.cgi?id=131390
Allow the iOS controls to use the status display field.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls): Live streams should
not have a timeline or rewind button.

5:45 PM Changeset in webkit [169089] by mmaxfield@apple.com
  • 13 edits
    12 adds in trunk

Text decorations do not contribute to visual overflow
https://bugs.webkit.org/show_bug.cgi?id=132773

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-05-19
Reviewed by Antti Koivisto.

Source/WebCore:
This patch creates a function, visualOverflowForDecorations, which computes
how much visual overflow to add around a text box due to text decorations. Most of the time,
text decorations are fully contained within the text box, so the result is usually 0.

This function exists within style/InlineTextBoxStyle.cpp, which is an added file. This is
so that it can be called from setLogicalWidthForTextRun() inside RenderBlockLineLayout.cpp
and from RenderStyle::changeAffectsVisualOverflow(). The former case passes in the full
InlineTextBox and the latter case just passes in a RenderStyle (because the InlineTextBox
is unavailable.)

This patch also modifies RenderTableSection::spannedColumns() to fix an off-by-one error
that was causing table borders to not be drawn when they existed right on the edge of
a repaint rect.

Tests: fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html
Tests: fast/repaint/border-collapse-table-off-by-one-expected.html

  • WebCore.vcxproj/WebCore.vcxproj: Adding reference to new InlineTextBoxStyle.cpp file
  • WebCore.vcxproj/WebCore.vcxproj.filters: Adding reference to new InlineTextBoxStyle files
  • WebCore.xcodeproj/project.pbxproj: Adding reference to new InlineTextBoxStyle files
  • rendering/InlineTextBox.cpp:

(WebCore::computeUnderlineOffset): Moved to InlineTextBox.cpp
(WebCore::getWavyStrokeParameters): Moved to InlineTextBox.cpp
(WebCore::InlineTextBox::paintDecoration): Update to use newly refactored functions

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun): Call visualOverflowForDecorations()

  • rendering/RenderTableSection.cpp:
  • rendering/RenderTableSelection.cpp: Fix off-by-one error when the boundary of a repaint

rect lies exactly on top of a table column position

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeAffectsVisualOverflow): Inspects shadows and text decorations
(WebCore::RenderStyle::changeRequiresLayout): Calls changeAffectsVisualOverflow()
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Moved code from here
to changeAffectsVisualOverflow().

  • rendering/style/RenderStyle.h: Function signature
  • style/InlineTextBoxStyle.cpp: Added.

(WebCore::computeUnderlineOffset): Moved from InlineTextBox.cpp
(WebCore::getWavyStrokeParameters): Moved from InlineTextBox.cpp
(WebCore::extendIntToFloat): Convenience function for dealing with the fact that
underline bounding boxes use floats and GlyphOverflow uses ints
(WebCore::visualOverflowForDecorations): Given
vertical overflow bounds, possibly extend those to include location of
decorations.

  • style/InlineTextBoxStyle.h: Added. Function signatures.

(WebCore::textDecorationStrokeThickness): Refactored from InlineTextBox.cpp
(WebCore::wavyOffsetFromDecoration): Refactored from InlineTextBox.cpp

  • platform/graphics/Font.h:

(WebCore::GlyphOverflow::isEmpty): Convenience function
(WebCore::GlyphOverflow::extendTo): Convenience function

LayoutTests:
This first test makes sure that repaint rects are extended to include text decorations that may
lie outside of the text layout rects. It compares text with an underline to text that has
had underline applied to it in a timer.

The second test triggers an off-by-one error in collapsed table borders where a border was not
being drawn if it lay right on top of a repaint rect.

  • fast/css3-text/css3-text-decoration/repaint/resources/Litherum.svg: Added. This font has a

descent of 0 (so it will not intersect underlines).

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-expected.html: Added.

Apply the underline without any timeout.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html: Added.

Apply the underline with a timeout.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed-expected.html: Added.

Draw text without decorations.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed.html: Added.

Draw text with decorations which contribute to overflow, then remove those decorations on a timer.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered-expected.html: Added.

Draw text as if the final state of the decorations had always existed.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered.html: Added.

Make sure that modifying decorations that contribute to overflow redraw properly.

  • fast/repaint/border-collapse-table-off-by-one-expected.html: Added.
  • fast/repaint/border-collapse-table-off-by-one.html: Added. Trigger the off-by-one error in

RenderTableSection.cpp

5:43 PM Changeset in webkit [169088] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[iOS] REGRESSION (r168910): webkitdirs.pm: Be more forgiving when parsing --sdk, --device and --sim
<http://webkit.org/b/133089>

Reviewed by Darin Adler.

  • Scripts/webkitdirs.pm:

(determineXcodeSDK): If both '--sdk SDKROOT' and '--sim' are
specified on the command line, we would remove the '--sdk'
arguments, but leave '--sim', potentially passing it along to
xcodebuild causing a build failure. This happens when
'old-run-webkit-tests --release --sim' invokes
build-dumprendertree when DumpRenderTree hasn't been built yet.

5:24 PM Changeset in webkit [169087] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

TelephoneNumberOverlayController should use a modern loop for text quad bounding
boxes
https://bugs.webkit.org/show_bug.cgi?id=133096

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::textQuadsToBoundingRectForRange):

5:18 PM Changeset in webkit [169086] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

PlatformCALayerRemoteCustom properties aren't initialized to match the PlatformLayer
https://bugs.webkit.org/show_bug.cgi?id=133025

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-19
Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
Initialize PlatformCALayerRemote properties from the PlatformLayer.

5:01 PM Changeset in webkit [169085] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r169082

  • platform/network/ResourceHandle.h:

Added NSDictionary declaration.

4:56 PM Changeset in webkit [169084] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION: Standalone images need to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=133092
-and corresponding-
<rdar://problem/16945791>

Reviewed by Darin Adler.

The FrameView’s size is accurate in terms of the NSWindow size, but that is not
really what the ImageDocument code is looking for here. The ImageDocument wants to
know the size of the unobscured viewport area. We should use visibleSize() for
that.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::imageFitsInWindow):
(WebCore::ImageDocument::imageClicked):

4:55 PM Changeset in webkit [169083] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

4:45 PM Changeset in webkit [169082] by achristensen@apple.com
  • 12 edits in trunk/Source/WebCore

Collect web timing data on iOS.
https://bugs.webkit.org/show_bug.cgi?id=133075

Reviewed by Sam Weinig.

  • platform/network/ResourceHandle.h:

Added setCollectsTimingData wrapper and getConnectionTimingData declarations.
getConnectionTimingData with a dictionary parameter is a private helper function.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::start):
Call setCollectsTimingData wrapper when creating a connection to ensure that timing data is collected.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:

Pass the CFURLConnectionRef to didReceiveResponse to get timing data from.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getConnectionTimingData):
Moved from getTimingData to compile regardless of using CFNetwork and added wrapper with CFDictionaryRef.
(WebCore::ResourceHandle::setCollectsTimingData):
Added wrapper to call objc function from c++.
(WebCore::ResourceHandle::getTimingData):
Renamed to getConnectionTimingData.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Updated function name from getTimingData to getConnectionTimingData.

4:37 PM Changeset in webkit [169081] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Reviewed by Simon Fraser.

Source/WebCore:
Modify the scroll view's frame so that it recognizes the content inset.
This is needed so that when VoiceOver sorts elements to create an ordering,
the web area is not ordered at the top of the screen.

Test: platform/mac-wk2/accessibility/content-inset-scrollview-frame.html

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::elementRect):

LayoutTests:

  • platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt: Added.
  • platform/mac-wk2/accessibility/content-inset-scrollview-frame.html: Added.
4:08 PM Changeset in webkit [169080] by dfarler@apple.com
  • 2 edits in trunk/Tools

Dashboard: OpenSource revision key changed from WebKitOpenSource to WebKit
https://bugs.webkit.org/show_bug.cgi?id=133086

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
3:41 PM Changeset in webkit [169079] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Use different AppKit API for image control menus.
<rdar://problem/16807828> and https://bugs.webkit.org/show_bug.cgi?id=133087

Reviewed by Tim Horton.

For image control menus, use popUpMenuPositioningItem: instead of popUpContextMenu:

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):
(WebContextMenuClient::showContextMenu):

3:39 PM Changeset in webkit [169078] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r169042): Fix run-api-tests on Mountain Lion
<http://webkit.org/b/132954>

  • Scripts/webkitdirs.pm:

(sharedCommandLineOptionsUsage): Remove the prototype for the
subroutine. Older perls don't like the "+@" syntax.

3:20 PM Changeset in webkit [169077] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.8

New Tag.

3:14 PM Changeset in webkit [169076] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merge r169037.

3:07 PM Changeset in webkit [169075] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Merge r168991.

3:04 PM Changeset in webkit [169074] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merge r168974.

2:59 PM Changeset in webkit [169073] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r169039.

2:57 PM Changeset in webkit [169072] by matthew_hanson@apple.com
  • 24 edits
    17 copies
    2 deletes in branches/safari-538.34-branch/Source

Merge r169023.

2:46 PM Changeset in webkit [169071] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merge r169015.

2:45 PM Changeset in webkit [169070] by matthew_hanson@apple.com
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r169000.

2:43 PM Changeset in webkit [169069] by matthew_hanson@apple.com
  • 27 edits
    6 copies in branches/safari-538.34-branch/Source

Merge r168994.

2:42 PM Changeset in webkit [169068] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] When a page relayout on dynamic resize, keep the same relative width in view
https://bugs.webkit.org/show_bug.cgi?id=133026
<rdar://problem/16833971>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-19
Reviewed by Simon Fraser.

When a page does not relayout, we keep the same width in view.
When a page relayout, we should keep the same relative width in view.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::isResponsiveDesignWithContentLargerThanLayout):
(WebKit::WebPage::dynamicViewportSizeUpdate):

2:19 PM Changeset in webkit [169067] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspect Element sometimes does not select the right DOM Node
https://bugs.webkit.org/show_bug.cgi?id=127938

Patch by Jono Wells <jonowells@apple.com> on 2014-05-19
Reviewed by Joseph Pecoraro.

Inspecting an element when the inspector is in a closed state was selecting the node but then
overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
Now when an element is inspected a flag prevents the restore from taking place.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype.inspectElement):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.

(WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
Added.

  • UserInterface/Views/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.

2:17 PM Changeset in webkit [169066] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Add some missing state reset on crash
https://bugs.webkit.org/show_bug.cgi?id=133036

Reviewed by Sam Weinig.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):
The missing reset for m_isTrackingTouchEvents would cause the WebPageProxy to send
touch events when it shouldn't. That would only be for an active touch sequence.

The missing reset m_lastVisibleContentRectUpdate would prevent pushing the new UI state
to the new page on reload, that is very bad.

Also moved m_videoFullscreenManager to be in the same order as initialization, and invalidate
the callbacks for dictation.

2:09 PM Changeset in webkit [169065] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

Scrollbars display incorrectly after switching between fast and slow scrolling
mode, affects Find and real sites
https://bugs.webkit.org/show_bug.cgi?id=133077
-and corresponding-
<rdar://problem/16888608>

Reviewed by Tim Horton.

We should always return true here when updating on the secondary thread is
supported. It does not need to be gated on whether we are actively taking
advantage of that support at this moment.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

Always update the presentationValue whenever we update the doubleValue just to
keep them in sync.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):

2:02 PM Changeset in webkit [169064] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Move scale noise filtering to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=133021

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-19
Reviewed by Darin Adler.

Filtering in the UIProcess was stupid. It forces to handle a third kind of scale just for updates.

The WebProcess already adjusts the input scale based on the viewport. Changing the input scale at that level
is already supported. It is a better place to have the filtering.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

1:23 PM Changeset in webkit [169063] by Simon Fraser
  • 44 edits
    6 copies
    5 moves
    2 adds in trunk

Split scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
https://bugs.webkit.org/show_bug.cgi?id=133022

Reviewed by Sam Weinig.

Source/WebCore:

In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
into FrameScrolling and OverflowScrolling nodes.

Move what was the "viewportSize" property onto the base class for the scrolling
nodes, calling it "scrollableAreaSize".

Make minimum/maximumScrollPosition() virtual so we can share more code (and there
is more code sharing to be done in future).

  • Configurations/WebCore.xcconfig: Remove ScrollingStateScrollingNodeMac.mm and ScrollingTreeScrollingNodeMac.mm

from the list, using #ifdefs in the file instead.

  • WebCore.exp.in: Lots of exports.
  • WebCore.xcodeproj/project.pbxproj: New files.
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode): Deleted.
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode): Deleted.
This tiny function didn't need to exist.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateFrameScrollingNode):
(WebCore::ScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::ScrollingCoordinator::updateScrollingNode): Deleted.

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp.

(WebCore::ScrollingStateFrameScrollingNode::create):
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::~ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::clone):
(WebCore::ScrollingStateFrameScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateFrameScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateFrameScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateFrameScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateFrameScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateFrameScrollingNode::setFooterHeight):
(WebCore::ScrollingStateFrameScrollingNode::setTopContentInset):
(WebCore::ScrollingStateFrameScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateFrameScrollingNode::setInsetClipLayer):
(WebCore::ScrollingStateFrameScrollingNode::setContentShadowLayer):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateFrameScrollingNode::setFooterLayer):
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateFrameScrollingNode.h: Copied from Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h.
  • page/scrolling/ScrollingStateNode.h:

(WebCore::LayerRepresentation::layerID):
(WebCore::ScrollingStateNode::isFrameScrollingNode):
(WebCore::ScrollingStateNode::isOverflowScrollingNode):

  • page/scrolling/ScrollingStateOverflowScrollingNode.cpp: Added.

(WebCore::ScrollingStateOverflowScrollingNode::create):
(WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::~ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::clone):
(WebCore::ScrollingStateOverflowScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateOverflowScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateOverflowScrollingNode.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm.

(WebCore::ScrollingStateOverflowScrollingNode::scrolledContentsLayer):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::dumpProperties):
(WebCore::ScrollingStateScrollingNode::create): Deleted.
(WebCore::ScrollingStateScrollingNode::clone): Deleted.
(WebCore::ScrollingStateScrollingNode::setViewportSize): Deleted.
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Deleted.
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion): Deleted.
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount): Deleted.
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements): Deleted.
(WebCore::ScrollingStateScrollingNode::setHeaderHeight): Deleted.
(WebCore::ScrollingStateScrollingNode::setFooterHeight): Deleted.
(WebCore::ScrollingStateScrollingNode::setTopContentInset): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setInsetClipLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setContentShadowLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setHeaderLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setFooterLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars): Deleted.

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::scrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::totalContentsSize):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::commit):

  • page/scrolling/ScrollingStateTree.h:

(WebCore::ScrollingStateTree::rootStateNode):
(WebCore::ScrollingStateTree::setRootStateNode):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitNewTreeState):

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp: Added.

(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::~ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeFrameScrollingNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h.

(WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll):
(WebCore::ScrollingTreeFrameScrollingNode::synchronousScrollingReasons):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously):
(WebCore::ScrollingTreeFrameScrollingNode::frameScaleFactor):
(WebCore::ScrollingTreeFrameScrollingNode::headerHeight):
(WebCore::ScrollingTreeFrameScrollingNode::footerHeight):
(WebCore::ScrollingTreeFrameScrollingNode::topContentInset):
(WebCore::ScrollingTreeFrameScrollingNode::scrollBehaviorForFixedElements):

  • page/scrolling/ScrollingTreeNode.h:

(WebCore::ScrollingTreeNode::isFrameScrollingNode):
(WebCore::ScrollingTreeNode::isOverflowScrollingNode):

  • page/scrolling/ScrollingTreeOverflowScrollingNode.cpp: Copied from Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.

(WebCore::ScrollingTreeOverflowScrollingNode::ScrollingTreeOverflowScrollingNode):
(WebCore::ScrollingTreeOverflowScrollingNode::~ScrollingTreeOverflowScrollingNode):

  • page/scrolling/ScrollingTreeOverflowScrollingNode.h: Copied from Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNode::setScrollPosition):
(WebCore::ScrollingTreeScrollingNode::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNode::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNode::maximumScrollPosition):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::scrollableAreaSize):
(WebCore::ScrollingTreeScrollingNode::totalContentsSize):
(WebCore::ScrollingTreeScrollingNode::totalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::setTotalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::synchronousScrollingReasons): Deleted.
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.
(WebCore::ScrollingTreeScrollingNode::viewportSize): Deleted.
(WebCore::ScrollingTreeScrollingNode::frameScaleFactor): Deleted.
(WebCore::ScrollingTreeScrollingNode::headerHeight): Deleted.
(WebCore::ScrollingTreeScrollingNode::footerHeight): Deleted.
(WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements): Deleted.
(WebCore::ScrollingTreeScrollingNode::topContentInset): Deleted.

  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h: Renamed from Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h.

(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollLayer):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm: Renamed from Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm.

(WebCore::ScrollingTreeFrameScrollingNodeIOS::create):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::ScrollingTreeFrameScrollingNodeIOS):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::~ScrollingTreeFrameScrollingNodeIOS):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterDelegatedScroll):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::minimumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::maximumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):

  • page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm.

(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h.
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm.

(WebCore::ScrollingTreeFrameScrollingNodeMac::create):
(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeFrameScrollingNodeMac::pinnedInDirection):
(WebCore::ScrollingTreeFrameScrollingNodeMac::canScrollHorizontally):
(WebCore::ScrollingTreeFrameScrollingNodeMac::canScrollVertically):
(WebCore::ScrollingTreeFrameScrollingNodeMac::shouldRubberBandInDirection):
(WebCore::ScrollingTreeFrameScrollingNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeFrameScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeFrameScrollingNodeMac::logExposedUnfilledArea):
(WebCore::logThreadedScrollingMode):
(WebCore::logWheelEventHandlerCountChanged):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
into FrameScrolling and OverflowScrolling nodes.

Move what was the "viewportSize" property onto the base class for the scrolling
nodes, calling it "scrollableAreaSize".

Make minimum/maximumScrollPosition() virtual so we can share more code (and there
is more code sharing to be done in future).

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::decode):
(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::createNode):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollLayer):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

LayoutTests:

Updated for new node name. No geometry changes.

  • platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:
1:13 PM Changeset in webkit [169062] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169039.

1:12 PM Changeset in webkit [169061] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169026.

1:11 PM Changeset in webkit [169060] by Lucas Forschler
  • 24 edits
    17 copies
    2 deletes in branches/safari-538.34.5-branch/Source

Merged r169023.

1:09 PM Changeset in webkit [169059] by Lucas Forschler
  • 13 edits in branches/safari-538.34.5-branch

Merged r169016.

1:08 PM Changeset in webkit [169058] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r169015.

1:05 PM Changeset in webkit [169057] by Lucas Forschler
  • 3 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169000.

12:58 PM Changeset in webkit [169056] by Lucas Forschler
  • 27 edits
    6 copies in branches/safari-538.34.5-branch/Source

Merged r168994.

12:54 PM Changeset in webkit [169055] by Lucas Forschler
  • 4 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168909.

12:10 PM Changeset in webkit [169054] by Alan Bujtas
  • 9 edits in trunk/LayoutTests

Fix Element.offset* and .client* rounding mismatches after r168868.
https://bugs.webkit.org/show_bug.cgi?id=133076

Unreviewed gardening.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:
11:33 AM Changeset in webkit [169053] by Simon Fraser
  • 5 edits
    2 adds in trunk

Images missing sometimes with composited clipping layers
https://bugs.webkit.org/show_bug.cgi?id=133065
<rdar://problem/15224559>

Reviewed by Beth Dakin.

Source/WebCore:

When support for solid colors on layers was added, a layer was considered a candidate
for the solid color optimization without regard to whether it had descendent layers
with "paintsIntoCompositedAncestor" requirements.

Fix hasVisibleNonCompositingDescendantLayers(), renaming it to isPaintDestinationForDescendentLayers()
and having it take into account whether descendent layers need to paint into an
ancestor.

Also, this test has to happen after those descendent layers have had their
compositing state updated, so move the isSimpleContainerCompositingLayer() to
a new updateAfterDescendents() function which is called from the various
places we do compositing-udpate-tree-walks.

Test: compositing/backing/solid-color-with-paints-into-ancestor.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateAfterDescendents):
(WebCore::RenderLayerBacking::paintsChildren):
(WebCore::compositedWithOwnBackingStore):
(WebCore::descendentLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::isPaintDestinationForDescendentLayers):
(WebCore::hasVisibleNonCompositingDescendant): Deleted.
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers): Deleted.

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

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests:

  • compositing/backing/solid-color-with-paints-into-ancestor-expected.html: Added.
  • compositing/backing/solid-color-with-paints-into-ancestor.html: Added.
11:14 AM Changeset in webkit [169052] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Fix a typo in plug-in sandbox
https://bugs.webkit.org/show_bug.cgi?id=133074

Reviewed by Anders Carlsson.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
11:00 AM Changeset in webkit [169051] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

[WebKit2] Wake up threads blocked in waitForAndDispatchImmediately() if we lose our connection
https://bugs.webkit.org/show_bug.cgi?id=133010

Reviewed by Geoffrey Garen.

If a thread is blocked on m_waitForMessageCondition and we lose our connection, treat that like we do a timeout.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):
(IPC::Connection::waitForMessage):
(IPC::Connection::connectionDidClose):

  • Platform/IPC/Connection.h:
10:50 AM Changeset in webkit [169050] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Script include paths for js-test-pre.js and js-test-post.js were incorrect.
https://bugs.webkit.org/show_bug.cgi?id=133072

Patch by Jono Wells <jonowells@apple.com> on 2014-05-19
Reviewed by Andy Estes.

  • http/tests/navigation/forward-to-fragment-fires-onload.html: Fixed script includes.
10:45 AM Changeset in webkit [169049] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Set WebKitSuppressesIncrementalRenderingKey to NO by default on both Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=133073

Reviewed by Simon Fraser.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

10:37 AM Changeset in webkit [169048] by Alan Bujtas
  • 70 edits
    5 adds in trunk

REGRESSION (r133351, sub-pixel layout): Right-to-left block with text-overflow: ellipsis truncates prematurely (breaks facebook.com Hebrew UI)
https://bugs.webkit.org/show_bug.cgi?id=112227

Reviewed by Maciej Stachowiak.

This patch removes unnecessary integral snapping of inlines at layout time.

Source/WebCore:
The general rule of thumb of using round/floor/ceil at layout time is to not use them.

When some computed values (x, y, width, height) get snapped during layout, while others don't,
intersecting/measuring mismatches could occur and they could end up producing visual artifacts such as truncations.
This patch also enables iframe content to be positioned on odd device pixel positions on retina displays.

Tests: fast/frames/hidpi-position-iframe-on-device-pixel.html

fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Deleted.
(WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): Deleted.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateLogicalInlinePositions):
(WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):

LayoutTests:
1px off differences and rounding expected results to match new behavior. -rebaselining.

  • fast/frames/hidpi-position-iframe-on-device-pixel-expected.html: Added.
  • fast/frames/hidpi-position-iframe-on-device-pixel.html: Added.
  • fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off-expected.html: Added.
  • fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html:
  • platform/mac/TestExpectations:
  • platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
  • platform/mac/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/mac/editing/selection/caret-ltr-2-expected.txt:
  • platform/mac/editing/selection/caret-ltr-2-left-expected.txt:
  • platform/mac/editing/selection/caret-rtl-expected.txt:
  • platform/mac/editing/selection/caret-rtl-right-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/mac/fast/block/float/026-expected.txt:
  • platform/mac/fast/block/float/028-expected.txt:
  • platform/mac/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/mac/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/forms/file/file-input-direction-expected.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/line-grid/line-align-left-edges-expected.txt:
  • platform/mac/fast/lists/008-expected.txt:
  • platform/mac/fast/lists/008-vertical-expected.txt:
  • platform/mac/fast/multicol/column-count-with-rules-expected.txt:
  • platform/mac/fast/multicol/float-multicol-expected.txt:
  • platform/mac/fast/multicol/layers-in-multicol-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/mac/fast/text/script-tests/ligature-subdivision.js:
  • platform/mac/fast/text/vertical-rl-rtl-linebreak-expected.txt:
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
  • platform/mac/fast/text/word-break-run-rounding-expected.txt:
  • platform/mac/svg/wicd/rightsizing-grid-expected.txt:
9:10 AM Changeset in webkit [169047] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: iOS: using AXAttributeCacheEnabler is too slow for every accessibilityElementAtIndex:
https://bugs.webkit.org/show_bug.cgi?id=133043

Reviewed by Mario Sanchez Prada.

iOS Accessibility code tries to improve performance by caching attributes when accessing
elements through the platform API. However, those API calls can be used very frequently when
iterating elements. Creating the AXAttributeCacheEnabler object and tearing it down is proving
to be the hottest code path in samples for accessibility access.

We need to move the logic for enabling/disabling the attribute cache to a level that can make
a more informed decision about when to enable/disable.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper enableAttributeCaching]):
(-[WebAccessibilityObjectWrapper disableAttributeCaching]):
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):

8:53 AM Changeset in webkit [169046] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Use RenderStyle& in more places in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=133061

Reviewed by Andreas Kling.

Convert several member functions to use references to RenderStyle rather
than pointers. Move canCreateTiledImage() higher in the file (no code
changes). Other minor cleanup.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateOpacity):
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateFilters):
(WebCore::RenderLayerBacking::updateBlendMode):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::hasBoxDecorations):
(WebCore::canCreateTiledImage):
(WebCore::hasBoxDecorationsOrBackgroundImage):
(WebCore::hasPerspectiveOrPreserves3D):
(WebCore::supportsDirectBoxDecorationsComposition):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::startTransition):

  • rendering/RenderLayerBacking.h:
8:53 AM Changeset in webkit [169045] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Rename some RenderLayerBacking member functions
https://bugs.webkit.org/show_bug.cgi?id=133030

Reviewed by Sam Weinig.

Remove "GraphicsLayer" from some member function names on RenderLayerBacking.

No behavior change.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createAVCFVideoLayer):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Deleted.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Deleted.

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

(WebCore::RenderLayerCompositor::updateLayerCompositingState):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::attachRootLayer):

8:18 AM Changeset in webkit [169044] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

Unreviewed gardening, try to unbreak Mac buildbots and EWS bots after r169023.

  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
4:09 AM Changeset in webkit [169043] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

run-javascriptcore-tests should sort the list of failing stress tests
https://bugs.webkit.org/show_bug.cgi?id=132989

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-19
Reviewed by Csaba Osztrogonác.

  • Scripts/run-javascriptcore-tests:
2:17 AM Changeset in webkit [169042] by ddkilzer@apple.com
  • 5 edits in trunk/Tools

webkitdirs.pm: Add setupMacWebKitEnvironment() to set XPC_DYLD_FRAMEWORK_PATH consistently
<http://webkit.org/b/132954>

Reviewed by Darin Adler.

Extract code into setupMacWebKitEnvironment() for setting up
common environment variables so it may be shared. Sets
XPC_DYLD_FRAMEWORK_PATH consistently and adds support for
using guardmalloc to some scripts.

Also adds support for parsing shared (common) command-line

switches, initially just -gguard-malloc.
Scripts/bisect-builds: Add -gguard-malloc support by using

sharedCommandLineOptions() and sharedCommandLineOptionsUsage().
(mountAndRunNightly): Call setupMacWebKitEnvironment(). Use a
local copy of %ENV when launching Safari so we don't have to
restore variables.

Scripts/run-api-tests: Add -gguard-malloc support by using

sharedCommandLineOptions() and sharedCommandLineOptionsUsage().
Check result of GetOptions() to catch invalid command-line
switches.
(runTest): Use a local copy of %ENV when running tests so we
don't have to restore variables.
(prepareEnvironmentForRunningTestTool): Call
setupMacWebKitEnvironment().

Scripts/run-pageloadtest: Add -gguard-malloc support by

using sharedCommandLineOptions() and
sharedCommandLineOptionsUsage(). Call
setupMacWebKitEnvironment().

  • Scripts/webkitdirs.pm:

(sharedCommandLineOptions): Return array of common switches to
pass to Getopt::Long::GetOptions().
(sharedCommandLineOptionsUsage): Return formatted string of
common switches for printing usage help text.
(setUpGuardMallocIfNeeded): Support using '-g' for enabling
guardmalloc.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Ditto.
(setupMacWebKitEnvironment): Extracted from runMacWebKitApp()
and changed not to clobber DYLD_FRAMEWORK_PATH if already set.
(runMacWebKitApp): Call setupMacWebKitEnvironment(). Use a
local copy of %ENV when launching Safari so we don't have to
restore variables.
(execMacWebKitAppForDebugging): Call
setupMacWebKitEnvironment().

2:02 AM Changeset in webkit [169041] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix assertion failure with simple line layout debug borders enabled.

Rubber-stamped by Andreas Kling.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintDebugBorders): We shoudn't try to paint empty rects.

2:00 AM Changeset in webkit [169040] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

Removing some check-webkit-style warnings from ./dfg
https://bugs.webkit.org/show_bug.cgi?id=132854

Patch by Tanay C <tanay.c@samsung.com> on 2014-05-19
Reviewed by Darin Adler.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractValue.h:
  • dfg/DFGBlockInsertionSet.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDominators.h:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGPredictionPropagationPhase.h:
1:44 AM Changeset in webkit [169039] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix after r169023.

  • Shared/API/Cocoa/WebKitPrivate.h: Stop including headers that no longer exist.

I hope for weinig's sake that no-one was relying on them.

May 18, 2014:

11:44 PM Changeset in webkit [169038] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Reduce constructor copypasta in RenderText and RenderElement.
<https://webkit.org/b/133056>

Use delegating constructors to remove duplicated initializer lists
from the constructors of RenderText and RenderElement.

Reviewed by Anders Carlsson.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::RenderText):

  • rendering/RenderText.h:
10:50 PM Changeset in webkit [169037] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Crash during scroll when latched
https://bugs.webkit.org/show_bug.cgi?id=133064

Reviewed by Simon Fraser.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents): Prevent dereference of NULL
wheelEventTarget argument.

9:48 PM Changeset in webkit [169036] by Lucas Forschler
  • 1 delete in tags/Safari-538.34.42/safari-538.34-branch

Remove Duplicate Tag.

9:47 PM Changeset in webkit [169035] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

9:35 PM Changeset in webkit [169034] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.42/safari-538.34-branch

New Tag.

9:34 PM Changeset in webkit [169033] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.42

New Tag.

7:37 PM Changeset in webkit [169032] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove bogus comment. We already made the FTL use our calling convention.
That was a long time ago.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileReturn):

5:51 PM Changeset in webkit [169031] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168976.

5:45 PM Changeset in webkit [169030] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

5:43 PM Changeset in webkit [169029] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.7

New tag.

5:35 PM Changeset in webkit [169028] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

5:28 PM Changeset in webkit [169027] by bshafiei@apple.com
  • 3 edits in branches/safari-538.34.5-branch/Source/WebKit/mac

Merged r169018.

5:12 PM Changeset in webkit [169026] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Relax an assertion when creating document loaders
https://bugs.webkit.org/show_bug.cgi?id=133058

Reviewed by Sam Weinig.

When navigating back/forward items recursively, createDocumentLoader will be called
for subframes before main frames so only associate the navigation with main frames.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createDocumentLoader):

4:30 PM Changeset in webkit [169025] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

CMake Buildfix after r169023.

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt: Add new files after r168994.
4:25 PM Changeset in webkit [169024] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Input ::selection pseudo class does not work leading to hidden selection
https://bugs.webkit.org/show_bug.cgi?id=38943

Source/WebCore:

Patch by Svetlana Redchenko <redchenko@yandex-team.ru> on 2014-05-18
Reviewed by Darin Adler.

Test: fast/selectors/input-with-selection-pseudo-element.html

When text is selected inside input element, it should change the
color and background color according to the ::selection pseudo element.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionBackgroundColor):
(WebCore::RenderObject::selectionColor):
(WebCore::RenderObject::selectionPseudoStyle):

  • rendering/RenderObject.h:

LayoutTests:

Patch by Svetlana Redchenko <redchenko@yandex-team.ru> on 2014-05-18
Reviewed by Darin Adler.

  • fast/selectors/input-with-selection-pseudo-element-expected.html: Added.
  • fast/selectors/input-with-selection-pseudo-element.html: Added.
4:12 PM Changeset in webkit [169023] by weinig@apple.com
  • 24 edits
    1 move
    16 adds
    1 delete in trunk/Source

[WebKit2] Implement ScriptMessageHandlers
https://bugs.webkit.org/show_bug.cgi?id=133053

Reviewed by Anders Carlsson.

  • DerivedSources.make:

../WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation):

  • bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Added.

(WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld):
(WebCore::DOMWindow::webkitNamespace):

  • page/DOMWindow.h:
  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserMessageHandlerDescriptor):
(WebCore::UserContentController::removeUserMessageHandlerDescriptor):

  • page/UserContentController.h:

(WebCore::UserContentController::userMessageHandlerDescriptors):

  • page/UserMessageHandler.cpp: Added.

(WebCore::UserMessageHandler::UserMessageHandler):
(WebCore::UserMessageHandler::~UserMessageHandler):
(WebCore::UserMessageHandler::postMessage):
(WebCore::UserMessageHandler::name):
(WebCore::UserMessageHandler::world):

  • page/UserMessageHandler.h: Added.

(WebCore::UserMessageHandler::create):

  • page/UserMessageHandler.idl: Added.
  • page/UserMessageHandlerDescriptor.cpp: Added.

(WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor):
(WebCore::UserMessageHandlerDescriptor::~UserMessageHandlerDescriptor):
(WebCore::UserMessageHandlerDescriptor::name):
(WebCore::UserMessageHandlerDescriptor::world):

  • page/UserMessageHandlerDescriptor.h: Added.

(WebCore::UserMessageHandlerDescriptor::Client::~Client):
(WebCore::UserMessageHandlerDescriptor::create):
(WebCore::UserMessageHandlerDescriptor::client):

  • page/UserMessageHandlerDescriptorTypes.h: Added.
  • page/UserMessageHandlersNamespace.cpp: Added.

(WebCore::UserMessageHandlersNamespace::UserMessageHandlersNamespace):
(WebCore::UserMessageHandlersNamespace::~UserMessageHandlersNamespace):
(WebCore::UserMessageHandlersNamespace::handler):

  • page/UserMessageHandlersNamespace.h: Added.

(WebCore::UserMessageHandlersNamespace::create):

  • page/UserMessageHandlersNamespace.idl: Added.
  • page/WebKitNamespace.cpp: Added.

(WebCore::WebKitNamespace::WebKitNamespace):
(WebCore::WebKitNamespace::~WebKitNamespace):
(WebCore::WebKitNamespace::messageHandlers):

  • page/WebKitNamespace.h: Added.

(WebCore::WebKitNamespace::create):

  • page/WebKitNamespace.idl: Added.

../WebKit2:

  • Scripts/webkit2/messages.py:

(struct_or_class):
(argument_coder_headers_for_type):
(headers_for_type):

  • UIProcess/API/Cocoa/WKScriptMessage.mm:

(-[WKScriptMessage _initWithBody:webView:name:]):
(-[WKScriptMessage body]):
(-[WKScriptMessage webView]):
(-[WKScriptMessage name]):
(-[WKScriptMessage _scriptWorld]): Deleted.

  • UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h.
  • UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed.
  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addScriptMessageHandler:name:]):
(-[WKUserContentController removeScriptMessageHandlerForName:]):
(-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted.
(-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted.

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed.
  • UIProcess/API/Cocoa/WKWebView.mm:

(pageToViewMap):
(fromWebPageProxy):
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/UserContent/WebScriptMessageHandler.cpp: Added.

(WebKit::WebScriptMessageHandlerHandle::encode):
(WebKit::WebScriptMessageHandlerHandle::decode):
(WebKit::generateIdentifier):
(WebKit::WebScriptMessageHandler::create):
(WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
(WebKit::WebScriptMessageHandler::~WebScriptMessageHandler):

  • UIProcess/UserContent/WebScriptMessageHandler.h: Added.

(WebKit::WebScriptMessageHandler::Client::~Client):
(WebKit::WebScriptMessageHandler::handle):
(WebKit::WebScriptMessageHandler::identifier):
(WebKit::WebScriptMessageHandler::name):
(WebKit::WebScriptMessageHandler::client):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::removeProcess):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserMessageHandlerDescriptorProxy::create):
(WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):
(WebKit::WebUserMessageHandlerDescriptorProxy::descriptor):
(WebKit::WebUserMessageHandlerDescriptorProxy::identifier):
(WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
4:10 PM Changeset in webkit [169022] by bshafiei@apple.com
  • 3 edits in tags/Safari-538.34.6/Source/WebKit/mac

Merged r169018.

4:06 PM Changeset in webkit [169021] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.34.6/Source

Versioning.

4:01 PM Changeset in webkit [169020] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.6

New tag.

3:03 PM Changeset in webkit [169019] by mjs@apple.com
  • 4 edits in trunk

REGRESSION (r156546): Default media controls are laid out incorrectly when media element is styled with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=132531
<rdar://problem/16806267>

Source/WebCore:

Reviewed by Mark Rowe.

This was already tested by the media/video-rtl.htm reftest, now unskipped.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel): Add missing direction: ltr

LayoutTests:

Reviewed by Mark Rowe.

  • platform/mac/TestExpectations: Unskip media/video-rtl.html
2:36 PM Changeset in webkit [169018] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Bring back two NSString category methods on iOS
https://bugs.webkit.org/show_bug.cgi?id=133055
<rdar://problem/16951983>

Reviewed by Adele Peterson.

  • Misc/WebNSURLExtras.h:
  • Misc/WebNSURLExtras.mm:

(-[NSString _webkit_unescapedQueryValue]):
(-[NSString _webkit_queryKeysAndValues]):

1:36 PM Changeset in webkit [169017] by cabanier@adobe.com
  • 22 edits
    2 adds in trunk

support for navigator.hardwareConcurrency
https://bugs.webkit.org/show_bug.cgi?id=132588

Reviewed by Filip Pizlo.

.:

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

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
Added a new API that returns the number of CPU cores up to 8.

Test: fast/dom/navigator-hardwareConcurrency.html

  • Configurations/FeatureDefines.xcconfig:
  • page/Navigator.cpp:

(WebCore::Navigator::hardwareConcurrency):

  • page/Navigator.h:
  • page/Navigator.idl:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • fast/dom/navigator-detached-no-crash-expected.txt:
  • fast/dom/navigator-hardwareConcurrency-expected.txt: Added.
  • fast/dom/navigator-hardwareConcurrency.html: Added.
12:33 PM Changeset in webkit [169016] by andersca@apple.com
  • 13 edits in trunk

Implement Navigations for all methods declared returning one
https://bugs.webkit.org/show_bug.cgi?id=133048
<rdar://problem/16830064>

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
Create and return navigations.

(-[WKWebView _reload]):
Call -[WKWebView reload].

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

(WebKit::NavigationState::createBackForwardNavigation):
Create a back/forward navigation.

(WebKit::NavigationState::createReloadNavigation):
Create a reload navigation.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcessWithItem):
Generate a navigation ID and send it with the GoToBackForwardItem message.

(WebKit::WebPageProxy::reload):
Return a navigation ID.

(WebKit::WebPageProxy::goForward):
Generate a navigation ID and send it with the GoForward message.

(WebKit::WebPageProxy::goBack):
Generate a navigation ID and send it with the GoBack message.

(WebKit::WebPageProxy::goToBackForwardItem):
Generate a navigation ID and send it with the GoToBackForwardItem message.

  • UIProcess/WebPageProxy.h:

Return navigation IDs where appropriate.

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::restoreFromSessionStateData):
Generate a navigation ID and send it with the RestoreSessionAndNavigateToCurrentItem message.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):
Set up the pending navigation ID.

(WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
Call goToBackForwardItem with a navigation ID.

  • WebProcess/WebPage/WebPage.h:

Add navigation IDs.

  • WebProcess/WebPage/WebPage.messages.in:

Add navigation IDs.

Tools:

  • MiniBrowser/mac/MiniBrowser_Prefix.pch:

Import WebKit.h.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController webView:didStartProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didFailProvisionalNavigation:withError:]):
(-[WK2BrowserWindowController webView:didCommitNavigation:]):
(-[WK2BrowserWindowController webView:didFinishLoadingNavigation:]):
(-[WK2BrowserWindowController webView:didFailNavigation:withError:]):
Print out the navigations.

10:47 AM Changeset in webkit [169015] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS build.

  • WebCore.exp.in:

Move UserContentController symbols to the right place.

10:32 AM Changeset in webkit [169014] by fpizlo@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Factor out how CallLinkStatus uses exit site data
https://bugs.webkit.org/show_bug.cgi?id=133042

Reviewed by Anders Carlsson.

This makes it easier to use CallLinkStatus from clients that are calling into after
already holding some of the relevant locks. This is necessary because we use a "one lock
at a time" policy for CodeBlock locks: if you hold one then you're not allowed to acquire
any of the others. So, any code that needs to lock multiple CodeBlock locks needs to sort
of lock one, do some stuff, release it, then lock another, and then do more stuff. The
exit site data corresponds to the stuff you do while holding the baseline lock, while the
CallLinkInfo method corresponds to the stuff you do while holding the CallLinkInfo owner's
lock.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeDFGStatuses):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::ExitSiteData::ExitSiteData):

9:53 AM Changeset in webkit [169013] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for r169006.

Unreviewed.

  • loader/ResourceLoader.h: Return didCreateQuickLookHandle() to public.
9:29 AM Changeset in webkit [169012] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r169001.
https://bugs.webkit.org/show_bug.cgi?id=133050

We can't expose the C SPI from WKWebView (Requested by
andersca on #webkit).

Reverted changeset:

"Need a way to get a WKPageRef from a WKWebView"
https://bugs.webkit.org/show_bug.cgi?id=133015
http://trac.webkit.org/changeset/169001

3:51 AM Changeset in webkit [169011] by Antti Koivisto
  • 9 edits
    2 adds in trunk

REGRESSION (r160259): text-combine glyphs are not rendered
https://bugs.webkit.org/show_bug.cgi?id=127324

Reviewed by Andreas Kling.

Source/WebCore:

The original text gets overwritten by a change that is supposed to affect rendered text only.
Fixed by giving the text update functions well-defined purposes.

Test: fast/text/text-combine-rendering.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineText):
(WebCore::RenderCombineText::setTextInternal): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::computePreferredLogicalWidths):

  • rendering/RenderText.cpp:

(WebCore::RenderText::setRenderedText):

This function now updates the rendered text but does not change the original.
Get the original text by calling originalText().

(WebCore::RenderText::setText):

This the only place original text now changes.

(WebCore::RenderText::setTextInternal): Deleted.

Renamed to setRenderedText.

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

(WebCore::RenderSVGInlineText::setRenderedText):
(WebCore::RenderSVGInlineText::setTextInternal): Deleted.

  • rendering/svg/RenderSVGInlineText.h:

LayoutTests:

  • fast/text/text-combine-rendering-expected.html: Added.
  • fast/text/text-combine-rendering.html: Added.
12:57 AM Changeset in webkit [169010] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2][GTK] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

12:52 AM Changeset in webkit [169009] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

12:43 AM Changeset in webkit [169008] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2][cmake] Buildfix after r168994.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt: Added new files to the build system introduced in r168994.

May 17, 2014:

11:11 PM Changeset in webkit [169007] by mjs@apple.com
  • 3 edits
    4 adds in trunk

Don't attempt to update id or name for nodes that are already removed
https://bugs.webkit.org/show_bug.cgi?id=133041

Reviewed by Sam Weinig.

Source/WebCore:

Tests: fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html

fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html

  • dom/Element.cpp:

(WebCore::Element::removedFrom): Skip updating ids and names for an element not
in a treescope, as we already do for elements not in a document.

LayoutTests:

Test originally by Dan Bates.

  • fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
  • fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html: Added.
  • fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
  • fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html: Added.
10:29 PM Changeset in webkit [169006] by ap@apple.com
  • 11 edits in trunk

REGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
https://bugs.webkit.org/show_bug.cgi?id=133007
<rdar://problem/13702706>

appcache tests often fail on the Mac WebKit2 bot
https://bugs.webkit.org/show_bug.cgi?id=82061

Reviewed by Maciej Stachowiak.

Source/WebCore:
Covered by existing tests, which this patch enables.

  • WebCore.exp.in: Export ResourceLoader::cancel(const ResourceError&). It used

to be virtual, but marking subclasses final has resulted in the compiler calling
it directly from WebKitLegacy framework. Seeing that no subclass overrides it,
I then made it non-virtual.
Also export ApplicationCacheHost functions that are now used from WebKit2.

  • loader/ResourceLoader.h: Made the class abstract (as I didn't realize at first

that it's always either a SubresourceLoader or a NetscapePlugInStreamLoader).
Made ResourceHandleClient functions private, as they should never be called other
than via a ResourceHandleClient pointer.

  • loader/NetscapePlugInStreamLoader.h:
  • loader/SubresourceLoader.h:

Marked these final.

  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSwitchToSubstituteResource):

Added a function to be called when switching to a substitute resource. We still
need a ResourceLoader at this point, as substitute resource will be delivered through
it, but we don't want it to continue its current load.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
Call the ResourceLoader function instead of using handle, which is null when
using out of process networking.

Source/WebKit2:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
(WebKit::WebResourceLoader::didFailResourceLoad):
Perform the same appcache checks that ResourceHandleClient implementation in ResourceLoader
does. We should eventually come up with a way to share the code. Perhaps add a class that
isolates ResourceLoader from networking details? But ResourceLoader was itself supposed
to be the class that isolates DocumentLoader from networking details. So, unsure.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Let's enable all the appcache tests (except

for a couple that fail), and see what happens on bots. I don't see any reason
why WebKit2 would be any more flaky than WebKit1 here.

8:44 PM Changeset in webkit [169005] by fpizlo@apple.com
  • 7 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] InlineCallFrame::isCall should be an enumeration
https://bugs.webkit.org/show_bug.cgi?id=133034

Reviewed by Sam Weinig.

Once we start inlining getters and setters, we'll want InlineCallFrame to be able to tell
us that the inlined call was a getter call or a setter call. Initially I thought I would
have a new field called "kind" that would have components NormalCall, GetterCall, and
SetterCall. But that doesn't make sense, because for GetterCall and SetterCall, isCall
would have to be true. Hence, It makes more sense to have one enumeration that is Call,
Construct, GetterCall, or SetterCall. This patch is a first step towards this.

It's interesting that isClosureCall should probably still be separate, since getter and
setter inlining could inline closure calls.

  • bytecode/CodeBlock.h:

(JSC::baselineCodeBlockForInlineCallFrame):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dumpInContext):
(WTF::printInternal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::kindFor):
(JSC::InlineCallFrame::specializationKindFor):
(JSC::InlineCallFrame::InlineCallFrame):
(JSC::InlineCallFrame::specializationKind):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGOSRExitPreparation.cpp:

(JSC::DFG::prepareCodeOriginForOSRExit):

  • runtime/Arguments.h:

(JSC::Arguments::finishCreation):

7:05 PM Changeset in webkit [169004] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

We shouldn't make a ScrollingThread on iOS.
<https://webkit.org/b/133038>
<rdar://problem/16947589>

Don't call ScrollingThred::dispatch() from the pressure relief
code on iOS since that will end up instantiating a scrolling thread
which we'd otherwise never have.

Reviewed by Sam Weinig.

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

6:43 PM Changeset in webkit [169003] by jaepark@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL] Remove m_contentPosition from PageViewportControllerClientEfl
https://bugs.webkit.org/show_bug.cgi?id=132774

Reviewed by Anders Carlsson.

m_contentPosition is not used anywhere. So, this patch removes
m_contentPosition and reduces one unnecessary assignment in
setViewportPosition. Also, it renames contentsPoint to contentsPosition.

  • UIProcess/PageViewportControllerClient.h:
  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setViewportPosition):

  • UIProcess/efl/PageViewportControllerClientEfl.h:
5:40 PM Changeset in webkit [169002] by Alan Bujtas
  • 10 edits in trunk

Subpixel rendering: Add subpixelCSSOMElementMetricsEnabled to WK1 WebPreferences.
https://bugs.webkit.org/show_bug.cgi?id=133029

Reviewed by Simon Fraser.

Source/WebKit/mac:
To match the WK2 preferences API.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences subpixelCSSOMElementMetricsEnabled]):
(-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Tools:
Added a menu item to toggle subpixelCSSOMElementMetricsEnabled's value. However
toggling it on a WK2 window needs restart.
Adding dynamic toggle to WK2 requires a WebPreferences SPI. It's not worth cluttering
the WebPreferences just to support this temporary toggle.

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]):
(-[WK1BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]):
(-[WK2BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]):

5:38 PM Changeset in webkit [169001] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit2

Need a way to get a WKPageRef from a WKWebView
<http://webkit.org/b/133015>

Reviewed by Benjamin Poulain.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _pageRef]): Added.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(-[WKWebView _pageRef]): Added declaration.

4:24 PM Changeset in webkit [169000] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Give user scripts custom URLs
https://bugs.webkit.org/show_bug.cgi?id=133035

Reviewed by Beth Dakin.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addUserScript:]):
Create a user-script:<number> URL for user scripts.

  • UIProcess/API/Cocoa/WKUserScript.h:

Move the init method after the properties.

3:31 PM Changeset in webkit [168999] by andersca@apple.com
  • 16 edits in trunk

Replace WKContextSetDatabaseDirectory with two WKContextConfiguration parameters
https://bugs.webkit.org/show_bug.cgi?id=133033
<rdar://problem/16830143>

Reviewed by Sam Weinig.

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:

Rename databaseDirectory to webSQLDatabaseDirectory to better indicate the directory type.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDatabaseDirectory): Deleted.
This is no longer needed.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyIndexedDBDatabaseDirectory):
(WKContextConfigurationSetIndexedDBDatabaseDirectory):
(WKContextConfigurationCopyWebSQLDatabaseDirectory):
(WKContextConfigurationSetWebSQLDatabaseDirectory):

  • UIProcess/API/C/WKContextConfigurationRef.h:

Add setters and getters.

  • UIProcess/API/C/WKContextPrivate.h:

Remove WKContextSetDatabaseDirectory.

  • UIProcess/APIContextConfiguration.cpp:

(API::ContextConfiguration::webContextConfiguration):
Set m_indexedDBDatabaseDirectory and m_webSQLDatabaseDirectory on the configuration.

  • UIProcess/APIContextConfiguration.h:

(API::ContextConfiguration::indexedDBDatabaseDirectory):
(API::ContextConfiguration::setIndexedDBDatabaseDirectory):
(API::ContextConfiguration::webSQLDatabaseDirectory):
(API::ContextConfiguration::setWebSQLDatabaseDirectory):
Add getters and setters to the C++ part of WKContextConfigurationRef.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
Set webSQLDatabaseDirectory and indexedDBDatabaseDirectory.

(WebKit::WebContext::WebContext):
Initialize m_webSQLDatabaseDirectory and m_indexedDBDatabaseDirectory.

(WebKit::WebContext::ensureDatabaseProcess):
Set parameters.indexedDatabaseDirectory from m_indexedDBDatabaseDirectory.

(WebKit::WebContext::createNewWebProcess):
Set parameters.webSQLDatabaseDirectory from m_webSQLDatabaseDirectory.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory):
Rename this to indicate that it's about WebSQL databases.

(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory):
Add this.

  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:

(WebKit::WebDatabaseManager::initialize):
Update for WebProcessCreationParameters rename.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
Update for WebProcessCreationParameters rename.

Tools:
Set up the WebSQL and IndexedDB directories.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

2:49 PM Changeset in webkit [168998] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[Phone Number Detection] drop-down menu in the phone number detection box doesn't appear.
https://bugs.webkit.org/show_bug.cgi?id=133024

Reviewed by Sam Weinig.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::TelephoneNumberOverlayController::drawRect): Don't clear the set of found phone numbers each
time we call drawRect. This gets called ~9 times per screen refresh, so end up with no active
phone numbers to interact with.

2:42 PM Changeset in webkit [168997] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

NetworkProcess can repeatedly crash handling Blob messages after any unrelated crash
https://bugs.webkit.org/show_bug.cgi?id=133032
<rdar://problem/16951630>

Reviewed by Geoffrey Garen.

Replaced assertions with runtime checks. This can happen if NetworkProcess previously
crashed for any unrelated reason.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):

2:36 PM Changeset in webkit [168996] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Setting playback rate on video with media controller is not ignored.
https://bugs.webkit.org/show_bug.cgi?id=129048

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-17
Reviewed by Jer Noble.

Source/WebCore:
Replaced queries for m_playbackRate with effectivePlaybackRate()
which includes media controller playback rate.

Test: media/video-controller-child-rate.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:

LayoutTests:

  • media/video-controller-child-rate-expected.txt: Added.
  • media/video-controller-child-rate.html: Added.
1:14 PM Changeset in webkit [168995] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

-[WKWebView dealloc] should close the page
https://bugs.webkit.org/show_bug.cgi?id=133031
<rdar://problem/16929815>

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView dealloc]):

12:57 PM Changeset in webkit [168994] by andersca@apple.com
  • 27 edits
    6 copies
    5 adds in trunk/Source

Expose WKUserScript as API
https://bugs.webkit.org/show_bug.cgi?id=133017
<rdar://problem/16948059>

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in:

Export symbols.

  • WebCore.xcodeproj/project.pbxproj:

Change UserContentController.h to be a private header.

  • page/Page.cpp:

(WebCore::Page::Page):
Set m_userContentController from the page configuration and add it if it's not null.

  • page/Page.h:

Add UserContentController to PageClients.

  • page/PageGroup.cpp:

(WebCore::PageGroup::addPage):
Only try to add a user content controller if the page doesn't already have one.

(WebCore::PageGroup::removePage):
Only try to remove the user content controller if it's the group one.

Source/WebKit2:

  • DerivedSources.make:

Add WebUserContentController.

  • Shared/API/Cocoa/WebKit.h:

Add WKUserScript.h

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toUserScriptInjectionTime):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

  • Shared/API/c/WKUserScriptInjectionTime.h:

Rename WKUserScriptInjectionTime to _WKUserScriptInjectionTime to free up the name for the Objective-C API

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
Encode the user content controller ID.

(WebKit::WebPageCreationParameters::decode):
Decode the user content controller ID.

  • Shared/WebPageCreationParameters.h:

Add userContentControllerID.

  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserScript):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

  • UIProcess/API/C/WKPageGroup.h:

Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

  • UIProcess/API/Cocoa/WKBrowsingContextGroup.h:

Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

  • UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:

(-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

  • UIProcess/API/Cocoa/WKUserContentController.h:

Add new methods.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController init]):
Create the WebUserContentControllerProxy object and user scripts array.

(-[WKUserContentController userScripts]):
Return the user scripts array.

(toWebCoreUserScriptInjectionTime):
Helper for converting from a WKUserScriptInjectionTime enum to WebCore::UserScriptInjectionTime.

(-[WKUserContentController addUserScript:]):
Call through to the _userContentControllerProxy object.

(-[WKUserContentController removeAllUserScripts]):
Call through to the _userContentControllerProxy object.

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h: Added.

Add WebUserContentControllerProxy ivar.

  • UIProcess/API/Cocoa/WKUserScript.h: Added.

Add new header.

  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
Initialize the WKUserScript object.

(-[WKUserScript source]):
(-[WKUserScript injectionTime]):
(-[WKUserScript isForMainFrameOnly]):
Add getters.

(-[WKUserScript copyWithZone:]):
Since WKUserScript is immutable, just return a retained object.

  • UIProcess/API/Cocoa/WKUserScriptInternal.h:

Add ivars.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Set the user content controller from the configuration.

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp: Added.

(WebKit::generateIdentifier):
Return a unique identifier.

(WebKit::WebUserContentControllerProxy::create):
Return a new WebUserContentControllerProxy object.

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
Initialize m_identifier.

(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
Add destructor.

(WebKit::WebUserContentControllerProxy::addProcess):
Add the process to the m_processes set. If it's the first time doing so, add the user scripts we know about.

(WebKit::WebUserContentControllerProxy::removeProcess):
Remove the process from m_processes.

(WebKit::WebUserContentControllerProxy::addUserScript):
Add the user script and let all the web processes know that it was added.

(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
Remove all user scripts and tell all the web processes about it.

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

Add new class.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
If the process is already running, add it to the user content controller.

(WebKit::WebPageProxy::close):
If the process is running, remove it from the user content controller.

(WebKit::WebPageProxy::connectionWillOpen):
Add the process to the user content controller.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Remove the process from the user content controller.

(WebKit::WebPageProxy::creationParameters):
Pass along the user content controller ID when creating the web page.

  • UIProcess/WebPageProxy.h:

Add a WebUserContentControllerProxy object to the web page configuration.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:

Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

  • WebProcess/UserContent/WebUserContentController.cpp: Added.

New class that manages a WebCore::UserContentController object.

(WebKit::WebUserContentController::getOrCreate):
Look up (or create) a WebUserContentController object given its identifier.

(WebKit::WebUserContentController::WebUserContentController):
Add ourselves as a message receiver.

(WebKit::WebUserContentController::~WebUserContentController):
Remove ourselves as a message receiver.

(WebKit::WebUserContentController::addUserScripts):
Add all passed in user scripts to the WebCore user content controller object.

(WebKit::WebUserContentController::removeAllUserScripts):
Remove all user scripts from the WebCore user content controller object.

  • WebProcess/UserContent/WebUserContentController.messages.in: Added.

Add new messages file.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Get a WebUserContentController object and pass it along to WebCore.

  • WebProcess/WebPage/WebPage.h:

Add WebUserContentController member.

3:08 AM Changeset in webkit [168993] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

REGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repaint timers.
<https://webkit.org/b/133027>
<rdar://problem/16867410>

Instead of storing a rarely-used repaint timer on every RenderBox, store one
on the RenderView, and keep a hash set of renderers needing repaint.

Renderers get a flag tracking whether they have a pending lazy repaint.
This way we can avoid hash lookups in the common case.

Also added a static assertion to catch RenderBox growing in the future.

Reviewed by Antti Koivisto.

  • rendering/RenderBox.cpp:

(WebCore::SameSizeAsRenderBox::~SameSizeAsRenderBox):
(WebCore::RenderBox::RenderBox):
(WebCore::RenderBox::~RenderBox):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBox.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setRenderBoxNeedsLazyRepaint):
(WebCore::RenderElement::renderBoxNeedsLazyRepaint):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::RenderView::scheduleLazyRepaint):
(WebCore::RenderView::unscheduleLazyRepaint):
(WebCore::RenderView::lazyRepaintTimerFired):

  • rendering/RenderView.h:
Note: See TracTimeline for information about the timeline view.