Timeline



May 31, 2014:

11:26 PM Changeset in webkit [169512] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r169412): Garbage pixels when vertical rubber-banding on http://yvoschaap.com/pmarca/
https://bugs.webkit.org/show_bug.cgi?id=133418
<rdar://problem/17065494>

Reviewed by Sam Weinig.

  • WebCore.exp.in:
  • platform/graphics/FloatPoint.h:

(WebCore::toFloatPoint):

  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):
The manual tiling code previously adjusted the initial
tiling source rect so that if the pattern was out of phase,
the first row and column would paint only the necessary part
of the tile. However, it did not also adjust the destination rect,
so the tile was painted in entirely the wrong place.
Additional testing (by enabling manual tiling mode for all patterned
images and running all of the layout tests) exposed another bug
where the last row and column would paint too much, which
was resolved by clipping to the outer image's destination rect.

11:26 PM Changeset in webkit [169511] by Darin Adler
  • 2 edits in trunk/LayoutTests

One more missed piece of that last check-in.

css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html
test since that now works reliably.

11:25 PM Changeset in webkit [169510] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

View snapshots are sometimes taken at the wrong scale
https://bugs.webkit.org/show_bug.cgi?id=133419
<rdar://problem/17087497>

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):
Work around <rdar://problem/17084993> by re-requesting the snapshot at
kCGWindowImageNominalResolution if it was captured at the wrong scale.

11:14 PM Changeset in webkit [169509] by Darin Adler
  • 3 edits in trunk/LayoutTests

Try to fix another failure from the previous check-in seen on some bots.

  • platform/mac-wk2/TestExpectations: Removed a couple obsolete lines.
  • platform/wk2/TestExpectations: Added expectation for filter-hidden-content.svg, which

seems to be affected by the resizing for tests before it.

8:48 PM Changeset in webkit [169508] by Darin Adler
  • 3 edits in trunk/LayoutTests

Fix test failure from the previous check-in.

  • fast/dynamic/window-resize-scrollbars-test.html: Add resize handler so this test works

with asynchronous resizing.

  • platform/wk2/TestExpectations: Expect failure for the test above; it's showing scrollbars,

and it should not. Before, the test was not running correctly so it seemed to pass.

8:04 PM Changeset in webkit [169507] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

DYEBench: Prevent frame flattening on iOS
https://bugs.webkit.org/show_bug.cgi?id=133428

Reviewed by Andreas Kling.

Prevent frame flattening on iOS by setting scrolling=no.

  • DoYouEvenBench/Full.html:
  • DoYouEvenBench/resources/benchmark-runner.js:

(BenchmarkRunner.prototype._appendFrame):

6:34 PM Changeset in webkit [169506] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

CSS JIT cleanup: move two utility functions out of the properties-matcher section
https://bugs.webkit.org/show_bug.cgi?id=133427

Reviewed by Andreas Kling.

Just move the code, no other modification.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoPreviousAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoNextAdjacentElement):

5:01 PM Changeset in webkit [169505] by Darin Adler
  • 26 edits in trunk

Viewport percentage tests that resize the viewport are flaky
https://bugs.webkit.org/show_bug.cgi?id=133351

Reviewed by Anders Carlsson.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect): Removed code that explicitly sends a resize event here.
The resize event will be sent as a side effect of layout instead.
(WebCore::FrameView::sendResizeEventIfNeeded): Don't send a resize event until layout is done,
since this is what propagates the new geometry in so the JavaScript code can detect it. Also
simplified the logic and streamlined a little, and added a FIXME about the bad idea here where
the code enqueues an event for an unknown time in the future. Removed the unneeded code that
passes in the DOM window as the target to dispatchWindowEvent, since that gets filled in as the
target by default.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(sizeWebViewForCurrentTest): Added a call to reset the window origin, which
happens to be stored in the UI delegate object. This is part of resetting the
window position.

  • DumpRenderTree/mac/UIDelegate.h: Store the window origin rather than storing

a frame rectangle. The size is stored in the size of the web view itself.

  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate resetWindowOrigin]): Added.
(-[UIDelegate webView:setFrame:]): Changed to set the size of the web view. The
old version would store the frame, but not resize the web view!
(-[UIDelegate webViewFrame:]): Get the size from the web view.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::setWindowFrame): Added code to resize the web view.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::resizeTo): Added a comment about missing code to resize
the window.

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::resizeTo): Changed this to call setWindowFrame so the
window gets resized too, not just the web view.
(WTR::PlatformWebView::setWindowFrame): Added code to set the size of the web view.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::resizeTo): Changed this to call setWindowFrame so the
window gets resized too, not just the web view.
(WTR::PlatformWebView::setWindowFrame): Added code to set the size of the web view.

LayoutTests:

  • css3/viewport-percentage-lengths/resources/resize-test.js:

Added code to compensate for the difference between innerWidth/Height and outerWidth/Height
so this works well in a browser window. Added code to "warm up" so the first resize triggers
a resize event. Tweaked style of the code a bit. Use resize events to avoid flakiness due
to race conditions. One thing I did not fix is the "out of order" problem where all the
test results get written out after the words TEST COMPLETE.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block-expected.txt:

Updated due to changes to the underlying test machinery, and also to show actual expected success.
The old results said PASS with various obviously wrong results.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html:

Changed this test to use the shared resize-test.js.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child-expected.txt:

Updated due to changes to the underlying test machinery, and also to show actual expected success.
The old results said PASS with various obviously wrong results.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html:

Streamlined this test a little.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt:

Updated due to changes to the underlying test machinery, and also to show actual expected success.
The old results said PASS with various obviously wrong results.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html:

Streamlined this test a little.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt:

Updated due to changes to the underlying test machinery, and also to show both expected success,
and some expected failures. These failures were going unnoticed before since the test didn't
successfully do any resizing of the web view.

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html:

Streamlined this test a little.

  • fast/dom/Window/window-resize-contents-expected.txt: Updated to reflect the test actually

resizing. The old test results expected no resizing to occur.

  • fast/dom/Window/window-resize-contents.html: Updated to use a resize event handler so the

test can successfully test asynchronous resizes like the ones done by WebKit2.

  • fast/dom/rtl-scroll-to-leftmost-and-resize.html: Updated to use a resize event handler so

this can test asynchronous resizes. Also fixed code that was treating the arguments to resizeTo
as if they were inner coordinates rather than outer. However, the bug this tests for has not
been fixed, so need to expect failures.

  • platform/mac/TestExpectations: Added a failure expection for the test above.
  • platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Updated to expect a result

that successfully resized.

  • platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Ditto.
1:29 PM Changeset in webkit [169504] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] WebKit2.framework is unused
https://bugs.webkit.org/show_bug.cgi?id=133424

Reviewed by Anders Carlsson.

  • Configurations/WebKit2.xcconfig: Set SKIP_INSTALL to YES when targeting iOS.
10:41 AM Changeset in webkit [169503] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Don't use std::mutex::try_lock to check if we own a mutex
https://bugs.webkit.org/show_bug.cgi?id=133421

Reviewed by Dan Bernstein.

According the C++ standard, calling try_lock on a mutex that's already owned by the current thread
is undefined behavior, so don't do that.

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::guidToVersionMap):
(WebCore::updateGuidVersionMap):
(WebCore::guidToDatabaseMap):
(WebCore::guidForOriginAndName):

May 30, 2014:

10:12 PM Changeset in webkit [169502] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/PerformanceTests

DYEBench spits out 404 errors for learn.json
https://bugs.webkit.org/show_bug.cgi?id=133416

Reviewed by Oliver Hunt.

Add an empty learn.json file so that it won't cause a 404 error when hosted on a http server.

Bumped the version number to 0.12.

  • DoYouEvenBench/Full.html:
  • DoYouEvenBench/resources/todomvc/learn.json:
5:56 PM Changeset in webkit [169501] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebKit2

[iOS][WK2] When a page does not finish rotation before the end of the animation, synchronize explicitely
https://bugs.webkit.org/show_bug.cgi?id=133364
<rdar://problem/17026333>

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

When a page that does layout on rotation does not respond before the end of the animation, we end up with
a completely inconsistent state on the UIProcess (because it is unware of the new states).

The perfect way to fix this would be to make animated resize transactional and have the WebProcess resolve
conflicts. That is very complicated and the issue is uncommon, so this patch does not do that.

This patch force the synchronization whenever we finish the animation before we heard back
from the WebProcess.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _endAnimatedResize]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):

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

(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::synchronizeDynamicViewportUpdate):

5:12 PM Changeset in webkit [169500] by enrica@apple.com
  • 12 edits in trunk/Source

REGRESSION (WebKit2): space space to insert period doesn't work in web forms.
https://bugs.webkit.org/show_bug.cgi?id=133413
<rdar://problem/16948333>

Reviewed by Benjamin Poulain.

Source/WebCore:
Adding utility functions and their exports.

  • WebCore.exp.in:
  • editing/TextIterator.cpp:

(WebCore::plainTextReplacingNoBreakSpace):

  • editing/TextIterator.h:
  • editing/VisibleUnits.cpp:

(WebCore::charactersAroundPosition):
(WebCore::characterBeforePosition): Deleted.

  • editing/VisibleUnits.h:

Source/WebKit2:
iOS TextInput needs to know about content surrounding the
current position while editing. Since we don't want to
query this information synchronously when asked, we cache it
as part of the EditorState. EditorState now contains a vector of
three characters representing the content after, before and two
position before the caret position.
The patch also replaces all calls to plainText with plainTextReplacingNoBreakSpace
to work well with iOS text input.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _characterInRelationToCaretSelection:]):
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::replaceSelectedText):
(WebKit::WebPage::replaceDictatedText):
(WebKit::WebPage::requestAutocorrectionData):
(WebKit::WebPage::syncApplyAutocorrection):
(WebKit::computeAutocorrectionContext):

4:10 PM Changeset in webkit [169499] by dburkart@apple.com
  • 1 copy in tags/Safari-537.77.3

Tagging it

4:03 PM Changeset in webkit [169498] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Cleanup temporary setting of image interpolation quality in GraphicsContext::drawImage*
https://bugs.webkit.org/show_bug.cgi?id=133407

Reviewed by Darin Adler.

Add helper class to set/reset image interpolation quality value.

No change in functionality.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::InterpolationQualityMaintainer::InterpolationQualityMaintainer):
(WebCore::InterpolationQualityMaintainer::~InterpolationQualityMaintainer):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):

2:51 PM Changeset in webkit [169497] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed the build by adding back a declaration I deleted by accident :(.

Unreviewed.

  • UIProcess/API/Cocoa/WKWebView.h:
2:41 PM Changeset in webkit [169496] by ggaren@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Fixed some ChangeLog grammar.

2:41 PM Changeset in webkit [169495] by ggaren@apple.com
  • 16 edits in trunk/Source/WebKit2

Unreviewed, rolling in r169490.

I change a non-ASCII apostrophe to ASCII.

Restored changeset:

"Some more copy-editing of the Modern WebKit headerdoc"
https://bugs.webkit.org/show_bug.cgi?id=133408
http://trac.webkit.org/changeset/169490

  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKProcessPool.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
2:25 PM Changeset in webkit [169494] by dburkart@apple.com
  • 2 edits in branches/safari-537.77-branch/Source/WebCore

Supplementary build fix for <rdar://problem/16848509>, borrowed from <rdar://problem/16701806>.

2:07 PM Changeset in webkit [169493] by ggaren@apple.com
  • 16 edits in trunk/Source/WebKit2

Unreviewed, rolling out r169490.

It broke the build with a mysterious warning about ASCII

Reverted changeset:

"Some more copy-editing of the Modern WebKit headerdoc"
https://bugs.webkit.org/show_bug.cgi?id=133408
http://trac.webkit.org/changeset/169490

1:59 PM Changeset in webkit [169492] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Support -apple-system-font on OS X
https://bugs.webkit.org/show_bug.cgi?id=133382

Addressing post-review comments.

  • platform/mac/WebFontCache.mm:

(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

12:26 PM Changeset in webkit [169491] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove repetitive header in HTMLInputElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=133376

Patch by Prashant Hiremath <hiremathprashants@gmail.com> on 2014-05-30
Reviewed by Anders Carlsson.

It is just removal repeative headers hence no test needed.

  • html/HTMLInputElement.cpp:
12:11 PM Changeset in webkit [169490] by ggaren@apple.com
  • 16 edits in trunk/Source/WebKit2

Some more copy-editing of the Modern WebKit headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133408

Reviewed by Beth Dakin.

A copy-editor suggested some edits to the headerdoc for clarity,
style, and formatting.

I reviewed the edits and accepted about 80% of them.

  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKProcessPool.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
11:19 AM Changeset in webkit [169489] by msaboff@apple.com
  • 2 edits in trunk/Tools

Change run-jsc-stress-tests to not resolve jsc path locally when creating a bundle
https://bugs.webkit.org/show_bug.cgi?id=133409

Reviewed by Filip Pizlo.

Handle creating a tarball the same way as running remote when processing
paths in prepareBundle.

  • Scripts/run-jsc-stress-tests:
9:49 AM Changeset in webkit [169488] by mario.prada@samsung.com
  • 4 edits in trunk/LayoutTests

[GTK] Don't use logAccessibilityEvents() in aria-slider-required-attributes.html
https://bugs.webkit.org/show_bug.cgi?id=133405

Reviewed by Chris Fleizach.

Change the test to use addNotificationListener() instead.

  • platform/gtk/TestExpectations: Removed failure expectation
  • platform/gtk/accessibility/aria-slider-required-attributes-expected.txt: Updated
  • platform/gtk/accessibility/aria-slider-required-attributes.html: Updated
9:47 AM Changeset in webkit [169487] by mario.prada@samsung.com
  • 6 edits in trunk

[ATK] Deprecate usage of logAccessibilityEvents() in layout tests
https://bugs.webkit.org/show_bug.cgi?id=132280

Reviewed by Chris Fleizach.

Tools:
Remove implementation of logAccessibilityEvents() for ATK based
ports, as this has proved to be a flaky method of checking that
ATK events are being properly emitted. Instead, it's better to use
the addNotificationListener() functions and provide a JS callback
to check that the right events are being emmitted from the tests.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:

(WTR::AccessibilityController::logAccessibilityEvents): Replaced
with dummy implementation.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(WTR::AccessibilityNotificationHandler::logAccessibilityEvents): Removed

LayoutTests:
Removed 36 flaky expectations from TestExpectations for tests that
were ocassionally showing the output of logAccessibilityEvents()
even if they did not make use of that feature (thus the flakiness).

  • platform/gtk/TestExpectations: Updated.
8:43 AM Changeset in webkit [169486] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
https://bugs.webkit.org/show_bug.cgi?id=133370
<rdar://problem/17061361>

Reviewed by Darin Adler.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::willDestroyDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Post-landing review comments from Darin noted that checking if the
DrawingArea's m_displayRefreshMonitors contains the monitor in the
list to notify is insufficient, because a new one could have been
added with the same address. Instead, copy the HashSet, removing
at random from it and firing didUpdateLayers, but *also* removing
from it in the willDestroyDisplayRefreshMonitor callback.
This is very similar to what DisplayRefreshMonitor itself does internally
(we don't have to duplicate its code to avoid re-entry because it is
already impossible to re-enter didUpdate).

8:20 AM Changeset in webkit [169485] by mario.prada@samsung.com
  • 3 edits in trunk/Tools

[ATK] Deprecate usage of logAccessibilityEvents() in layout tests
https://bugs.webkit.org/show_bug.cgi?id=132280

Rubber stamped by Carlos Garcia Campos.

Fix two small issues with previous patch (r169483), that caused some tests to break.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks): Removed
duplicated entry.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::setSelectedTextRange): Fix boolean condition.

7:16 AM Changeset in webkit [169484] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Remove redundant GraphicsContext::drawImage() function.
https://bugs.webkit.org/show_bug.cgi?id=133347

Reviewed by Simon Fraser.

There are 2 GraphicsContext::drawImage functions with very similar parameter list. This looks
to be a source of confusion and results in passing unneeded parameters.

No change in functionality.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::updateContents):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintNinePieceImage):

3:58 AM Changeset in webkit [169483] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

Tools: [ATK] Added new accessibility signal: text-caret-moved.
Make AccessibilityUIElement.setSelectedTextRange work
as atk_text_set_caret_offset when given offset == 0.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-05-30
Reviewed by Mario Sanchez Prada.

text-caret-moved signal in accessibilityController is needed to
implement tests from Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c
as LayoutTests. Add the signal to the controller.

  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(setSelectedTextRange): Change return type to bool.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(setSelectedTextRange): Call atk_text_set_caret_offset and return bool.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(axObjectEventListener): Add notification name AXTextCaretMoved, allow
for extra arguments passed to handler and use it for text-caret-moved offset.
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
Connect callback to new listener for ATK:AtkText:text-caret-moved.
Refactor so that failures be reported.
Initialize atk interfaces before trying to connect to them, see
https://bugzilla.gnome.org/show_bug.cgi?id=729922
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
Simplify code by using a vector in place of dozen variables.

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

Comment about not synchronizing with accessibilityController.

LayoutTests: [ATK] Convert caret offset tests from testatk.c.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-05-30
Reviewed by Mario Sanchez Prada.

The tests are replicated from testatk.c file, functions

testWebkitAtkCaretOffsets()
testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces()

The file was present in webkit1. Removed from trunk in r166977, so
the last version was
https://trac.webkit.org/browser/trunk/Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c?rev=166976
What could not be verified in the same way:

  1. Whether element implements ATK_TEXT. If setCaretOffset

succeeds, it confirms that element is text as well. But in cases
when setCaretOffset must fail I see no way to confirm it is text
element.

  1. Whether position is correct through a call to

atk_text_get_caret_offset. text-caret-moved signal value is
tested instead.

Anyway these cases don't look crucial, so they are skipped.

  • platform/gtk/resources/atk-helpers.js: Added.

(setCaretOffset): Added.

  • platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces-expected.txt: Added.
  • platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces.html: Added.
  • platform/gtk/accessibility/caret-offsets-expected.txt: Added.
  • platform/gtk/accessibility/caret-offsets.html: Added.

May 29, 2014:

7:11 PM Changeset in webkit [169482] by dburkart@apple.com
  • 5 edits in branches/safari-537.77-branch/Source

Bump versioning to 537.77.3

5:56 PM Changeset in webkit [169481] by dburkart@apple.com
  • 1 copy in tags/Safari-537.77.2

New TaG

5:52 PM Changeset in webkit [169480] by achristensen@apple.com
  • 2 edits in trunk/Source/WTF

Enable css jit by default on arm64.
https://bugs.webkit.org/show_bug.cgi?id=133246
<rdar://problem/17073407>

Reviewed by Benjamin Poulain.

  • wtf/Platform.h:

Added arm64 to list of supported architectures.

5:25 PM Changeset in webkit [169479] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Prepare css jit for arm64 and other architectures.
https://bugs.webkit.org/show_bug.cgi?id=133394

Reviewed by Benjamin Poulain.

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::swapArguments):

  • cssjit/RegisterAllocator.h:

Use a designated temporary register on arm64 to prevent using a deallocated argument register to swap argument registers in.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Added assertion to make sure there are enough registers.

5:15 PM Changeset in webkit [169478] by benjamin@webkit.org
  • 14 edits in trunk/Source/WebCore

CSS JIT: add support for the pseudo classes :hover and :active
https://bugs.webkit.org/show_bug.cgi?id=133295

Reviewed by Andreas Kling.

This patch adds compilation support for :hover and :active. The code generation of both of them is trivial,
most of the patch is improving the infrastructure and safety.

The document compatibility mode is moved to its own typed enum. This ensure the values are exclusives and
the native type is known (unsigned char here). The values are changes to binary flags to take advantage of
test-and-branch on ARM64 (not used explicitely, it is automatically generated by the MacroAssembler).

The other important refactoring is the code updating the flags on RenderStyle::NonInheritedFlags.
The code was duplicated in some places so it is move into its own function addFlagToElementStyleFromContext().

The generators themself are very simple. First we check the quirks-mode exceptions, that is generally excluded
at compile time because the conditions are almost never met, even in strict mode.
Then we have two cases: style resolution and query selector. Almost everything is just function calls.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagToElementStyleFromContext):
(WebCore::SelectorCompiler::fragmentOnlyMatchesLinksInQuirksMode):
(WebCore::SelectorCompiler::getDocument):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSpecialFailureInQuirksModeForActiveAndHoverIfNeeded):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::elementIsActive):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::elementIsHovered):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::setCompatibilityMode):
(WebCore::Document::implicitOpen):
(WebCore::Document::cloneDataFromDocument):

  • dom/Document.h:

(WebCore::Document::compatibilityModeMemoryOffset):
(WebCore::Document::inQuirksMode):
(WebCore::Document::inLimitedQuirksMode):
(WebCore::Document::inNoQuirksMode):
(WebCore::Document::compatibilityMode): Deleted.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::ImageDocument):

  • html/MediaDocument.cpp:

(WebCore::MediaDocument::MediaDocument):

  • html/PluginDocument.cpp:

(WebCore::PluginDocument::PluginDocument):

  • html/TextDocument.cpp:

(WebCore::TextDocument::TextDocument):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore::HTMLConstructionSite::setCompatibilityMode):
(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype):
(WebCore::HTMLConstructionSite::insertDoctype):

  • html/parser/HTMLConstructionSite.h:
  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::replaceDocument):

  • loader/SinkDocument.cpp:

(WebCore::SinkDocument::SinkDocument):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::initWithSimpleHTMLDocument):

  • rendering/style/RenderStyle.h:
5:09 PM Changeset in webkit [169477] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

-[WKProcessPoolConfiguration setCachePartitionedURLSchemes:] should do a deep copy
https://bugs.webkit.org/show_bug.cgi?id=133393

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):

4:56 PM Changeset in webkit [169476] by jpfau@apple.com
  • 2 edits in branches/safari-537.77-branch/Source/WebCore

Build fix for Mavericks

  • WebCore.exp.in:
4:52 PM Changeset in webkit [169475] by jhoneycutt@apple.com
  • 34 edits
    7 adds in trunk

Roll r168668 back in.

<https://bugs.webkit.org/show_bug.cgi?id=132621>

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html

fast/events/beforeload-iframe-crash.html
fast/events/beforeload-input-time-crash.html

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

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

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

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

LayoutTests:

  • compositing/plugins/composited-plugin.html:
  • compositing/plugins/no-backing-store.html:
  • fast/dom/beforeload/flash-before-load.html:
  • fast/events/beforeload-assertion-expected.txt: Added.
  • fast/events/beforeload-assertion.html: Added.
  • fast/events/beforeload-iframe-crash-expected.txt: Added.
  • fast/events/beforeload-iframe-crash.html: Added.
  • fast/events/beforeload-input-time-crash-expected.txt: Added.
  • fast/events/beforeload-input-time-crash.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:

(testImpl.iframe.onload):
(testImpl):

  • http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
  • platform/mac/plugins/supports-carbon-event-model.html:
  • platform/mac/plugins/testplugin-onnew-onpaint.html:
  • plugins/get-user-agent-with-null-npp-from-npp-new.html:
  • plugins/mouse-click-plugin-clears-selection.html:
  • plugins/netscape-plugin-map-data-to-src.html:
  • plugins/no-mime-with-valid-extension.html:
  • plugins/plugin-initiate-popup-window.html:
  • plugins/windowless_plugin_paint_test.html:
  • resources/plugin.js: Added.

(runAfterPluginLoad):

4:41 PM Changeset in webkit [169474] by mmaxfield@apple.com
  • 6 edits in trunk

Support -apple-system-font on OS X
https://bugs.webkit.org/show_bug.cgi?id=133382

Source/WebCore:
Reviewed by Simon Fraser.

Guard on both family names: "-apple-system-font" and "-webkit-system-font"

Test: platform/mac/fast/text/systemFont.html

  • platform/mac/WebFontCache.mm:

(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

LayoutTests:
This test makes sure that -apple-system-font is rendered the same way as -webkit-system-font.

Reviewed by Simon Fraser.

  • platform/mac-mountainlion/platform/mac/fast/text/systemFont-expected.txt: Updated.
  • platform/mac/fast/text/systemFont.html: Tests -apple-system-font in addition to -webkit-system-font.
  • platform/mac/platform/mac/fast/text/systemFont-expected.txt: Updated.
4:24 PM Changeset in webkit [169473] by jpfau@apple.com
  • 2 edits in branches/safari-537.77-branch/Source/WebCore

Build fix

  • WebCore.exp.in:
4:04 PM Changeset in webkit [169472] by ap@apple.com
  • 3 edits
    3 adds in trunk

Loading <object> from WebArchive crashes
https://bugs.webkit.org/show_bug.cgi?id=133386
<rdar://problem/13345509>

Reviewed by Brady Eidson.

Source/WebCore:
Test: webarchive/loading/object.html

This (a) fixes the crash, and (b) avoids the crash.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy):

Some types of substitute data - such as WebArchive - don't contain HTTP result codes,
so let's not drop to <object> fallback content when status is 0.
And if the load somehow failed anyway, don't crash by trying to deliver substitute data
to a finished loader.

LayoutTests:

  • webarchive/loading/object-expected.txt: Added.
  • webarchive/loading/object.html: Added.
  • webarchive/loading/resources/object.webarchive: Added.
4:00 PM Changeset in webkit [169471] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Add an instruction on how to backup the database.
https://bugs.webkit.org/show_bug.cgi?id=133391

Rubber-stamped by Andreas Kling.

  • Install.md:
3:50 PM Changeset in webkit [169470] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.37/Source/WebKit2

Merge r169468. <rdar://problem/17067920>

3:47 PM Changeset in webkit [169469] by dburkart@apple.com
  • 6 edits
    1 copy in branches/safari-537.77-branch

Merge r166628.

3:26 PM Changeset in webkit [169468] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Restoring FloatingPointEnvironment initialization that was accidentally rolled out by r169176.
<https://webkit.org/b/133389>

Rubber stamped by Oliver Hunt.

  • Shared/ios/ChildProcessIOS.mm:

(WebKit::ChildProcess::platformInitialize):

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

[iOS WebGL] Fix depth buffer clearing issue.
https://bugs.webkit.org/show_bug.cgi?id=133388

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-29
Reviewed by Dean Jackson.

No new tests, but this fixes webgl/1.0.1/conformance/canvas/buffer-preserve-test.html.

  • platform/graphics/mac/WebGLLayer.mm:

(-[WebGLLayer display]):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):
Moved marking the layer as composited from the mac-only prepareTexture to
the end of [WebGLLayer display] which is called by mac and iOS.

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

Need to notify the keyboard about every KeyDown event.
https://bugs.webkit.org/show_bug.cgi?id=133383
<rdar://problem/16633975>

Reviewed by Benjamin Poulain.

A key down will generate most of the time a call to the keyboard to add input or delete.
But the event could be handled by JavaScript and its default prevented.
We need to notify the keyboard in every case to allow updating its internal state about what has been typed.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::doneWithKeyEvent):

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

(-[WKContentView _didHandleKeyEvent:]):

2:44 PM Changeset in webkit [169465] by matthew_hanson@apple.com
  • 17 edits in trunk/Source/WebKit2

Roll out r169439. <rdar://problem/17069364>

2:38 PM Changeset in webkit [169464] by jpfau@apple.com
  • 2 edits in branches/safari-537.77-branch/Source/WebCore

Workaround for <rdar://problem/16848509>

Reviewed by David Kilzer.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest):

2:37 PM Changeset in webkit [169463] by matthew_hanson@apple.com
  • 17 edits in tags/Safari-538.37/Source/WebKit2

Roll out r169439.

1:23 PM Changeset in webkit [169462] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Fix an exception in InspectorBackend.Command.prototype.supports.

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

Reviewed by Joseph Pecoraro.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype.supports): Use some not any.

1:14 PM Changeset in webkit [169461] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Add a WebKit2 Performance bot.
https://bugs.webkit.org/show_bug.cgi?id=132862

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-29
Reviewed by Csaba Osztrogonác.

This adds a GTK WebKit2 perf bot.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:01 PM Changeset in webkit [169460] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

[Cocoa] Can’t recover from subframe load errors
https://bugs.webkit.org/show_bug.cgi?id=133385

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
  • UIProcess/Cocoa/NavigationState.h: Added flag in m_navigationDelegateMethods struct.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate): Initialize
webViewNavigationDidFailProvisionalLoadInSubframeWithError flag in the delegate methods
struct.
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): If the
error occurred in a subframe, invoke the new delegate method.

11:40 AM Changeset in webkit [169459] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Gardening: marking js/primitive-property-access-edge-cases.html as crashy.
<https://webkit.org/b/133356>

Not reviewed.

11:38 AM Changeset in webkit [169458] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKit2

Added a missing @result to WKPreferences headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133381

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKPreferences.h:
11:24 AM Changeset in webkit [169457] by ap@apple.com
  • 10 edits
    2 adds in trunk/Source/WebKit2

[Mac] Always use plug-in sandbox with sandboxed clients
https://bugs.webkit.org/show_bug.cgi?id=133358
<rdar://problem/15637695>

Reviewed by Anders Carlsson.

  • PluginProcess/mac/PluginProcessMac.mm: (WebKit::PluginProcess::initializeSandbox):

Refuse to start if parent process is sandboxed, and plug-in process is not going to be.
None of this should run in normal case, because there are also checks on UI process side.

  • Shared/Plugins/PluginModuleInfo.h:
  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::getPluginInfo):
Added a member to PluginModuleInfo, telling whether the plug-in has a sandbox profile.

  • Shared/Plugins/Netscape/mac/PluginInformationMac.mm:

(WebKit::getPlatformPluginModuleInformation): Use the new PluginModuleInfo member,
we no longer need to check the file system here.

  • WebKit2.xcodeproj/project.pbxproj:
  • Shared/mac/SandboxUtilities.h: Added.
  • Shared/mac/SandboxUtilities.cpp: Added. (WebKit::processIsSandboxed):

This code is simple, but include magic is not. Moved it to a separate file to
avoid repeating.

  • UIProcess/API/C/mac/WKContextPrivateMac.mm: Removed an unused include.
  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::shouldUsePlugin): Don't use unsandboxed plug-ins in
sandboxed applications.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformGetLaunchOptions): Don't ever pass disable-sandbox
from sandboxed processes.

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

(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
Use the new shared code in SandboxUtilities.h.

11:19 AM Changeset in webkit [169456] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
https://bugs.webkit.org/show_bug.cgi?id=133370
<rdar://problem/17061361>

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Copy the set of refresh monitors so that we don't try to mutate the list we're iterating,
and don't try to fire refresh monitors that were removed in a previous iteration of the loop.

11:06 AM Changeset in webkit [169455] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (iOS WebKit2): Find-in-Page doesn't work in subframes
https://bugs.webkit.org/show_bug.cgi?id=133372
<rdar://problem/17045070>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindController::willFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):
Flip ignoreCompositionSelectionChange and updateAppearanceEnabled on all
frames, not just the main frame, because the found string can be in a subframe.
Ideally we would flip it on/off for each frame as we move the selection between them,
but would require a lot of work (and the overhead of touching each frame shouldn't be significant).

10:49 AM Changeset in webkit [169454] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Gardening: marking js/primitive-property-access-edge-cases.html as flaky.
<https://webkit.org/b/133356>

Not reviewed.

10:40 AM Changeset in webkit [169453] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed the WebKitTestRunner build after r169452.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::initialize):

10:27 AM Changeset in webkit [169452] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

WKBundleActivateMacFontAscentHack is unused
https://bugs.webkit.org/show_bug.cgi?id=133379

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleActivateMacFontAscentHack): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:

(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.

  • WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:

(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.

10:09 AM Changeset in webkit [169451] by matthew_hanson@apple.com
  • 5 edits in trunk/Source

Versioning.

9:41 AM Changeset in webkit [169450] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Perserve caption selection in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=133350

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-29
Reviewed by Eric Carlson.

Use the logic from the inline player to calculate the selected caption index.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::mediaControlsHost):
Expose mediaControlsHost() for use by WebVideoFullscreenModelMediaElement.

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::updateLegibleOptions):
Use logic from buildCaptionsMenu from mediaControlsApple.js.

9:26 AM Changeset in webkit [169449] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Use correct version of requiresFullscreenForVideoPlayback().
https://bugs.webkit.org/show_bug.cgi?id=133331

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-29
Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-fullscreeen-only-controls.html

Update the last place not yet using m_mediaSession->requiresFullscreenForVideoPlayback.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):
switch to media session version for requriesFullscreenForVideoPlayback.

LayoutTests:

  • media/video-fullscreeen-only-controls-expected.txt: Added.
  • media/video-fullscreeen-only-controls.html: Added. Make sure video element

controls show even when not specified if inline playback is restricted.

9:10 AM Changeset in webkit [169448] by ap@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Add a sandbox profile for com.apple.appstore.CodeRedeemerNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=133360

Reviewed by Sam Weinig.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Looks like

anyone using camera would need access to CoreMedia preferences.

  • Resources/PlugInSandboxProfiles/com.apple.appstore.CodeRedeemerNetscapePlugin.sb: Added.
  • WebKit2.xcodeproj/project.pbxproj: Added the profile.
9:09 AM Changeset in webkit [169447] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source

DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
https://bugs.webkit.org/show_bug.cgi?id=133368

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::fixupBlock): Loop in the right order so that we insert in the right order.

  • tests/stress/new-array-dead.js: Added.

(foo):

Source/WTF:

  • wtf/Insertion.h:

(WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.

9:05 AM Changeset in webkit [169446] by Carlos Garcia Campos
  • 4 edits in trunk/Source

[GTK] Add support for HiDPI icons
https://bugs.webkit.org/show_bug.cgi?id=133377

Reviewed by Martin Robinson.

Source/WebCore:
Use the GTK+ missing icon at 16 or 32 size depending on the device
scale factor.

  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::loadMissingImageIconFromTheme):
(WebCore::Image::loadPlatformResource):

Source/WebKit2:

  • PlatformGTK.cmake: Compile also the @2x versions for the builtin icons.
8:10 AM Changeset in webkit [169445] by Carlos Garcia Campos
  • 12 edits in trunk/Source

[GTK] Add HighDPI support for non-accelerated compositing contents
https://bugs.webkit.org/show_bug.cgi?id=131562

Patch by Owen Taylor <otaylor@redhat.com> on 2014-05-29
Reviewed by Anders Carlsson.

Source/WebCore:
No new tests. This will be tested once we have the proper dependencies in the WebKit testing
JHBuild.

  • platform/cairo/WidgetBackingStore.h:

(WebCore::WidgetBackingStore::WidgetBackingStore): Accept a device scale argument.

  • platform/cairo/WidgetBackingStoreCairo.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
  • platform/cairo/WidgetBackingStoreCairo.h: Accept a device scale argument.
  • platform/graphics/cairo/CairoUtilities.cpp: Add a new helper to set the device scale if Cairo built against is new enough.
  • platform/graphics/cairo/CairoUtilities.h:
  • platform/gtk/GtkVersioning.h: Add the HAVE_GTK_SCALE_FACTOR macro.
  • platform/gtk/WidgetBackingStoreGtkX11.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
  • platform/gtk/WidgetBackingStoreGtkX11.h: Accept a device scale argument.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(deviceScaleFactorChanged): Added this callback to pass scale changes to the page proxy.
(webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::WebPageProxy::setCustomDeviceScaleFactor): Do not set a
custom device scale factor for cairo when it's not supported.
(WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
(WebKit::BackingStore::incorporateUpdate): Ditto.

3:33 AM Changeset in webkit [169444] by Carlos Garcia Campos
  • 8 edits in trunk/Source/WebKit2

[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130081

Reviewed by Martin Robinson.

  • Platform/WorkQueue.h:
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::registerSocketEventHandler): Stop pretending it's
possible to register a socket event handler for more than one
descriptor.
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::~DownloadClient):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::handleResponse):
(WebKit::DownloadClient::handleResponseLater):

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::scheduleLayerFlush):
(WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2:38 AM Changeset in webkit [169443] by Carlos Garcia Campos
  • 3 edits in trunk

[WK2][GTK] ASSERTION FAILED: m_status == Scheduled in GMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=131220

Reviewed by Philippe Normand.

Unskip inspector-protocol/dom/remove-multiple-nodes.html.

  • platform/gtk/TestExpectations:

May 28, 2014:

11:56 PM Changeset in webkit [169442] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.37

New Tag.

9:06 PM Changeset in webkit [169441] by yoon@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Update my email addresses in contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
8:22 PM Changeset in webkit [169440] by Brent Fulgham
  • 10 edits in trunk/Source/WebCore

Captions during HLS playback flash/are difficult to readily
https://bugs.webkit.org/show_bug.cgi?id=133365
<rdar://problem/16584132>

Reviewed by Eric Carlson.

Correct two problems:

  1. Add new logic to handle cues that are identical to existing cues, except that they cover a slightly later moment in playback. For example, a cue encoding device might emit a cue at 24 fps, with many of the cues containing the same content but covering only 1/24th of a second.


Rather than hiding and displaying our cues at the cue encoding rate, we should
simply continue to display the same cue as long as the content is unchanged.

  1. The cue "isEqual" logic for TextTrackCueGeneric improperly short-circuited the VTTCue isEqual logic. This was done to avoid a false failure due to the cue type being 'generic' rather than 'vtt', but incorrectly treated cues with non-matching text as equal.
  • html/track/DataCue.cpp:

(WebCore::DataCue::cueContentsMatch): Move cue comparison code to new method that
doesn't check that the 'type' of the cue is identical.
(WebCore::DataCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::DataCue::isStartOfCue): Confirms cues match except for start and end times.

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

(WebCore::TextTrack::hasCue): Modify to check if a new cue is simply a continuation
of an existing cue.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::cueContentsMatch): New method containing the equality code
that used to live in 'isEqual'.
(WebCore::TextTrackCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::TextTrackCue::isStartOfCue): Confirms cues match except for start and
end times.

  • html/track/TextTrackCue.h:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::cueContentsMatch): New method containing the equality
code that used to live in 'isEqual'.
(WebCore::TextTrackCueGeneric::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::TextTrackCueGeneric::isStartOfCue): Confirms cues match except for start and
end times.

  • html/track/TextTrackCueGeneric.h:
  • html/track/VTTCue.cpp:

(WebCore::VTTCue::cueContentsMatch): New method containing the equality code that
used to live in 'isEqual'.
(WebCore::VTTCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::VTTCue::isStartOfCue): Confirms cues match except for start and end times.

  • html/track/VTTCue.h:
6:41 PM Changeset in webkit [169439] by barraclough@apple.com
  • 17 edits in trunk/Source/WebKit2

viewStateDidChange should always fully update ViewState
https://bugs.webkit.org/show_bug.cgi?id=133159

Reviewed by Anders Carlson.

Currently WebPageProxy::viewStateDidChange is passed a mask of bits to update.

This has the following negative consequences:

– WKWebView implicitly requires more detailed knowledge of the internal implementation of the PageClient.
– Updates may unnecessarily be split over multiple IPC messages.
– In order to support partial updates we make multiple virtual function calls to PageClient, which then makes duplicate objc calls.

Better to just always update the entire ViewState.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView didMoveToWindow]):

  • removed argument to viewStateDidChange.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisible): Deleted.
(WebKit::PageClientImpl::isViewInWindow): Deleted.

  • UIProcess/API/gtk/PageClientImpl.h:
    • merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
  • UIProcess/API/mac/WKView.mm:

(-[WKView becomeFirstResponder]):
(-[WKView resignFirstResponder]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidBecomeKey:]):
(-[WKView _windowDidResignKey:]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidDeminiaturize:]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):
(-[WKView _windowDidChangeOcclusionState:]):
(-[WKView viewDidHide]):
(-[WKView viewDidUnhide]):
(-[WKView _activeSpaceDidChange:]):
(-[WKView _setThumbnailView:]):
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):

  • removed argument to viewStateDidChange.
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::viewState):
(WebKit::WebView::isViewWindowActive): Deleted.
(WebKit::WebView::isViewFocused): Deleted.
(WebKit::WebView::isViewVisible): Deleted.
(WebKit::WebView::isViewInWindow): Deleted.

  • UIProcess/CoordinatedGraphics/WebView.h:
    • merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
  • UIProcess/PageClient.h:

(WebKit::PageClient::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClient::isVisuallyIdle): Deleted.

  • merged isViewVisibleOrOccluded/isVisuallyIdle to subclass viewState methods.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):

  • updateViewState -> PageClient::viewState

(WebKit::WebPageProxy::viewStateDidChange):

  • argument removed; updateViewState -> PageClient::viewState.

(WebKit::WebPageProxy::setCursor):

  • call isViewWindowActive on WebPageProxy, rather than PageClient.

(WebKit::WebPageProxy::updateBackingStoreDiscardableState):

  • call isViewWindowActive on WebPageProxy, rather than PageClient.

(WebKit::WebPageProxy::updateViewState): Deleted.

  • removed - viewState method moved to PageClient.
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isViewWindowActive):

  • added missing implementation.

(WebKit::WebPageProxy::isViewVisible):

  • removed argument to viewStateDidChange.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::windowServerConnectionStateChanged):

  • removed argument to viewStateDidChange.
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisible): Deleted.
(WebKit::PageClientImpl::isViewInWindow): Deleted.
(WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClientImpl::isVisuallyIdle): Deleted.

  • merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
  • UIProcess/ios/WKContentView.mm:

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

  • removed argument to viewStateDidChange.
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::showCorrectionPanel):
(WebKit::PageClientImpl::showDictationAlternativeUI):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClientImpl::isVisuallyIdle): Deleted.

  • merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
4:26 PM Changeset in webkit [169438] by oliver@apple.com
  • 10 edits in trunk/Source/WebCore

Whoops, update bindings tests results.

4:14 PM Changeset in webkit [169437] by jpfau@apple.com
  • 4 edits in trunk/Source/WebKit2

Add Obj-C API for cache partitioned URL schemes
https://bugs.webkit.org/show_bug.cgi?id=133361
<rdar://problem/17035415>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
(-[_WKProcessPoolConfiguration copyWithZone:]):

3:54 PM Changeset in webkit [169436] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
<rdar://problem/17029526>
https://bugs.webkit.org/show_bug.cgi?id=133362

Reviewed by Dan Bernstein.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Remove unnecessary initialization of a unique_ptr.

(WebKit::WebPageProxy::reattachToWebProcess):
Move calls to update the view state and activity tokens to after we have swapped in the new process.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Clear the activity token on process exit.

2:48 PM Changeset in webkit [169435] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WKWebView SPI to forcefully kill the associated Web process
https://bugs.webkit.org/show_bug.cgi?id=133357

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _killWebContentProcess]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
2:28 PM Changeset in webkit [169434] by mhock@apple.com
  • 2 edits in trunk/LayoutTests

Marking test as flaky pending further review.
https://bugs.webkit.org/show_bug.cgi?id=133351

Unreviewed gardening.

Skip css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html

1:54 PM Changeset in webkit [169433] by oliver@apple.com
  • 14 edits in trunk

Make DOM properties exposed as instance properties use the base object instead of |this|
https://bugs.webkit.org/show_bug.cgi?id=133353

Reviewed by Geoffrey Garen.

Source/WebCore:
Make the bindings generator emit code that uses the base object for
a property, rather than the this object. This means that attributes
that we need to be treated as instance properties will match their old
instance-based behaviour.

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstanceForCompatibility):
(InterfaceRequiresAttributesOnInstance):
(GetCastingHelperForBaseObject):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectExcitingAttr):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::jsTestExceptionName):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

LayoutTests:
Update tests to cover change in expected behaviour.

  • js/dom/dom-as-prototype-assignment-exception-expected.txt:
  • js/dom/dom-attributes-on-mismatch-type-expected.txt:
  • js/dom/dom-attributes-on-mismatch-type.html:
  • js/dom/script-tests/dom-as-prototype-assignment-exception.js:
1:26 PM Changeset in webkit [169432] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Crash when trying to decode an instance of a class inheriting from WKObject
https://bugs.webkit.org/show_bug.cgi?id=133355

Reviewed by Anders Carlsson.

  • Shared/Cocoa/WKObject.mm:

(-[WKObject classForCoder]): Override this NSObject method to forward to the
target object.
(-[WKObject classForKeyedArchiver]): Ditto.

12:41 PM Changeset in webkit [169431] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix not-x86 32-bit.

  • llint/LowLevelInterpreter32_64.asm:
12:34 PM Changeset in webkit [169430] by Simon Fraser
  • 5 edits in trunk/Source

[iOS WK2] Improve behavior of position:fixed inside accelerated overflow-scroll
https://bugs.webkit.org/show_bug.cgi?id=133352

Reviewed by Tim Horton.

Source/WebCore:
When adjusting layers inside accelerated overflow-scroll, pass a delta
down to descendant nodes. Fix behavior of sticky nodes inside fixed nodes
inside overflow scroll (sticky should only be affected if the parent node
is a scrolling node).

  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange): Just remove
some .get()

  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange): Remove .get()s.
We never care about the cumulative delta here, because sticky nodes only respond to
changes in their direct scrolling ancestors. Only adjust the layer if the parent
is a scrolling node.

Source/WebKit2:
Pass the correct delta down to descendant nodes.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):

12:21 PM Changeset in webkit [169429] by jhoneycutt@apple.com
  • 2 edits
    2 adds in trunk/Tools

Need an API test for bug #133193 (r169315)
<https://bugs.webkit.org/show_bug.cgi?id=133324>

This adds an API test that ensures that calling "stop loading" during a
"did fail provisional load" callback doesn't crash.

Reviewed by Andy Estes.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Add new files to project.

  • TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp: Added.

(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
If the message is the "test done" message, record that.
(TestWebKitAPI::setInjectedBundleClient):
Register a function for the "did receive message from injected bundle"
callback.
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame):
Assert that we received the message from the injected bundle, and set
'done' to finish the test.
(TestWebKitAPI::TEST):
Create a WebView, register a page loader client for the "did fail
provisional load" callback, and load a non-existent resource.

  • TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp: Added.

(TestWebKitAPI::StopLoadingDuringDidFailProvisionalLoadTest::StopLoadingDuringDidFailProvisionalLoadTest):
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrameCallback):
Tell the StopLoadingDuringDidFailProvisionalLoadTest object that the
provisional load failed.
(TestWebKitAPI::StopLoadingDuringDidFailProvisionalLoadTest::didCreatePage):
Register a page loader client for the "did fail provisional load"
callback.
(TestWebKitAPI::StopLoadingDuringDidFailProvisionalLoadTest::didFailProvisionalLoad):
Call WKBundlePageStopLoading() during the callback. This not crashing
is what we're ensuring with this test.

11:59 AM Changeset in webkit [169428] by fpizlo@apple.com
  • 3 edits
    2 adds in trunk/Source/JavaScriptCore

Arrayify neglects to inform the clobberizer that it might fire watchpoints
https://bugs.webkit.org/show_bug.cgi?id=133340

Reviewed by Mark Lam.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize): Be honest.

  • llint/LowLevelInterpreter32_64.asm: Profile the object, not its structure.
  • tests/stress/arrayify-fires-watchpoint.js: Added.

(foo):
(test):
(makeObjectArray):

  • tests/stress/arrayify-structure-bad-test.js: Added.

(foo):
(test):

11:31 AM Changeset in webkit [169427] by Chris Fleizach
  • 2 edits
    2 adds in trunk

AX: WebKit does not recognize ARIA 1.1 tables
https://bugs.webkit.org/show_bug.cgi?id=133163

Reviewed by Darin Adler.

The AXObjectCache code that determines which object to create based on the role needs to be token fallback aware.

Test: accessibility/table-fallback-roles-expose-element-attributes.html

  • accessibility/AXObjectCache.cpp:

(WebCore::nodeHasRole):

11:07 AM Changeset in webkit [169426] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] REGRESSION (r168388): DidNotHandleTapAsClick not sent when commitPotentialTap() fails
https://bugs.webkit.org/show_bug.cgi?id=133349

Reviewed by Benjamin Poulain.

WebPage::commitPotentialTap() fails when a recognized single tap cannot be sent as a synthetic click event.
We should send WebPageProxy::DidNotHandleTapAsClick in these cases.

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

(WebKit::WebPage::commitPotentialTap):
(WebKit::WebPage::commitPotentialTapFailed):

9:38 AM Changeset in webkit [169425] by stavila@adobe.com
  • 4 edits
    2 adds in trunk

REGRESSION (r168046): Invalid layout in multicol
https://bugs.webkit.org/show_bug.cgi?id=133322

Reviewed by Antti Koivisto.

Source/WebCore:
In some situations, deleting the line boxes of a multicol element causes the line to region
link to become invalid.

Test: fast/multicol/newmulticol/multicol-inside-multicol.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::clearLinesToRegionMap):
(WebCore::RenderFlowThread::deleteLines):
(WebCore::RenderFlowThread::willBeDestroyed):

  • rendering/RenderFlowThread.h:

LayoutTests:

  • fast/multicol/newmulticol/multicol-inside-multicol-expected.html: Added.
  • fast/multicol/newmulticol/multicol-inside-multicol.html: Added.
9:22 AM Changeset in webkit [169424] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

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

It makes a lot of tests crash in assert (Requested by KaL on
#webkit).

Reverted changeset:

"[GTK] Use GMainLoopSource for idle and timeout sources in
WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=130081
http://trac.webkit.org/changeset/169423

8:34 AM Changeset in webkit [169423] by Carlos Garcia Campos
  • 8 edits in trunk/Source/WebKit2

[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130081

Reviewed by Martin Robinson.

  • Platform/WorkQueue.h:
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::registerSocketEventHandler): Stop pretending it's
possible to register a socket event handler for more than one
descriptor.
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::~DownloadClient):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::handleResponse):
(WebKit::DownloadClient::handleResponseLater):

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::scheduleLayerFlush):
(WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
7:28 AM Changeset in webkit [169422] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

[Cocoa] Can't use bundle-defined classes for bundle parameters
https://bugs.webkit.org/show_bug.cgi?id=133339

Reviewed by Anders Carlsson.

Ensure that bundle parameters are decoded only after the injected bundle is loaded.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::create): Moved the definition from the header to here, added the
lagacy initializationUserData as a parameter, and made this function set the sandbox
extension and load the bundle.
(WebKit::InjectedBundle::InjectedBundle): Removed call to platformInitialize.

  • WebProcess/InjectedBundle/InjectedBundle.h:

(WebKit::InjectedBundle::setSandboxExtension): Deleted.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::initialize): Renamed the load function to this, and added the
creation parameters as a parameter. Moved code to initialize the bundle paramters from
platformInitialize to here. Changed the class passed to -decodeObjectOfClass:forKey: to
NSObject, to allow arbitrary types in the values, and added an assertion that the
top-level object is a dictionary.
(WebKit::InjectedBundle::platformInitialize): Deleted.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Changed to pass the legacy initialization user
data to InjectedBundle::create() and removed code to separately set the sandbox extension
and load the bundle, which is now done by create().

6:28 AM Changeset in webkit [169421] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix warning: unused parameter 'frame'

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didFinishDocumentLoad):

4:43 AM Changeset in webkit [169420] by ryuan.choi@samsung.com
  • 4 edits
    1 delete in trunk/Source/WebCore

Remove DocumentThreadableLoaderClient.h
https://bugs.webkit.org/show_bug.cgi?id=133341

Reviewed by Gyuyoung Kim.

DocumentThreadableLoaderClient is not used anymore.

  • WebCore.order:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived):

  • loader/DocumentThreadableLoaderClient.h: Removed.
  • loader/ThreadableLoaderClient.h:

(WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient): Deleted.

3:11 AM Changeset in webkit [169419] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM bindings symbols file after r169017.

  • bindings/gobject/webkitdom.symbols: Add webkit_dom_navigator_get_hardware_concurrency.
2:49 AM Changeset in webkit [169418] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Make it possible to build with FTL enabled
https://bugs.webkit.org/show_bug.cgi?id=133219

Reviewed by Philippe Normand.

.:
Add LLVM and LIBCXXABI as dependencies when building with FTL enabled.

  • Source/cmake/OptionsGTK.cmake:

Tools:

  • gtk/jhbuild-optional.modules: Add llvm from svn and build the

same revision than mac.

2:47 AM Changeset in webkit [169417] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r168868): [GTK] Element.offset* client* scroll* API changed
https://bugs.webkit.org/show_bug.cgi?id=133313

Reviewed by Philippe Normand.

Keep old API that uses long also for GObject bindings.

  • dom/Element.idl:
1:50 AM Changeset in webkit [169416] by ljaehun.lim@samsung.com
  • 5 edits in trunk

[CMake] Clean up FAST_MOBILE_SCROLLING
https://bugs.webkit.org/show_bug.cgi?id=133342

Reviewed by Gyuyoung Kim.

FAST_MOBILE_SCROLLING was removed in r168726.

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

May 27, 2014:

11:08 PM Changeset in webkit [169415] by bshafiei@apple.com
  • 5 edits in branches/safari-537.77-branch/Source

Versioning.

11:05 PM Changeset in webkit [169414] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.77.1

New tag.

10:08 PM Changeset in webkit [169413] by commit-queue@webkit.org
  • 5 edits
    2 deletes in trunk

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

Broke the iOS build in
LocalizedDateCache::calculateMaximumWidth() (Requested by smfr
on #webkit).

Reverted changeset:

"SVG TextRuns do not always get RenderingContexts"
https://bugs.webkit.org/show_bug.cgi?id=133198
http://trac.webkit.org/changeset/169400

9:46 PM Changeset in webkit [169412] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (Margin tiles): Background gradient on dom.spec.whatwg.org is very slow to render
https://bugs.webkit.org/show_bug.cgi?id=133335
<rdar://problem/17011392>

Reviewed by Simon Fraser.

  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):
Make cross-platform and use some iOS code which avoids patterned drawing when the pattern buffer
would be very large. Instead, it calls draw() repeatedly over the pattern space, avoiding the allocation
of a huge (in the case of bug 133335, nearly 2GB) buffer.

9:44 PM Changeset in webkit [169411] by Simon Fraser
  • 15 edits in trunk/Source

[iOS WK2] Fix behavior of position:sticky inside accelerated overflow-scroll
https://bugs.webkit.org/show_bug.cgi?id=133334
<rdar://problem/16462535>

Reviewed by Tim Horton.

When the scroll position changes in an accelerated overflow-scroll element, we have
to update child nodes in the scrolling tree for position:sticky. That requires a
more generic ability to update the scrolling tree after some arbitrary zoom or
scroll. To do this, we need to know the current fixed position rect, rather than
having it passed in.

So make the fixed position rect available from ScrollingTree, and make it possible
to get the current scrollPosition() from any ScrollingTreeScrollingNode.

Also, implement updateLayersAfterDelegatedScroll() in ScrollingTreeOverflowScrollingNodeIOS,
and have it update descendant layers.

Finally, fix ScrollingTreeOverflowScrollingNode to use the correct rectangle for its
constraints math, using the scroll position of the parent node if appropriate.

Source/WebCore:

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):

  • page/scrolling/ios/ScrollingTreeIOS.cpp:

(WebCore::ScrollingTreeIOS::fixedPositionRect):

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

(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange):

Source/WebKit2:

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::fixedPositionRect):

  • UIProcess/Scrolling/RemoteScrollingTree.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterDelegatedScroll):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::customFixedPositionRect):

9:44 PM Changeset in webkit [169410] by Simon Fraser
  • 18 edits in trunk/Source

Do some renaming in the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=133333

Reviewed by Tim Horton.

Source/WebCore:

Rename ScrollingTreeNode::parentScrollPositionDidChange() to updateLayersAfterAncestorChange()
since this goes deep and to indicate that it's about layer updating.

Also rename the "viewportRect" parameter to "fixedPositionRect", since on iOS
this is the custom fixed-position rect that changes on zooming.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):

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

(WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange):
(WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange): Deleted.

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

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

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

(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange):
(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange): Deleted.

Source/WebKit2:

Rename ScrollingTreeNode::parentScrollPositionDidChange() to updateLayersAfterAncestorChange()
since this goes deep and to indicate that it's about layer updating.

Also rename the "viewportRect" parameter to "fixedPositionRect", since on iOS
this is the custom fixed-position rect that changes on zooming.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):

9:44 PM Changeset in webkit [169409] by Simon Fraser
  • 7 edits
    2 copies in trunk/Source/WebCore

Instantiate a ScrollingTreeMac on Mac
https://bugs.webkit.org/show_bug.cgi?id=133332

Reviewed by Tim Horton.

Mac previously instantiated a ThreadedScrollingTree, but this has no platform
knowledge. To support future expansion, create a ScrollingTreeMac subclass and
instantiate that on Mac.

Also protect ScrollingCoordinatorMac in PLATFORM(MAC) #ifdefs and remove it from the
EXCLUDED_SOURCE_FILE_NAMES list in the xcconfig file, following general trends.

  • Configurations/WebCore.xcconfig:
  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::create): Deleted.

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):

  • page/scrolling/mac/ScrollingTreeMac.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.

(ScrollingTreeMac::create):
(ScrollingTreeMac::ScrollingTreeMac):

  • page/scrolling/mac/ScrollingTreeMac.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
9:44 PM Changeset in webkit [169408] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Prepare for position:sticky support inside accelerated overflow-scroll with WK2
https://bugs.webkit.org/show_bug.cgi?id=133329

Reviewed by Tim Horton.

RenderLayerCompositor::computeStickyViewportConstraints() was always using
the viewport rect as the constraining rect for sticky position. This is not
correct when inside overflow:scroll.

Refactor code in RenderBoxModelObject to make getting the rect easy, and use
it to compute the constraints.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):
(WebCore::RenderBoxModelObject::stickyPositionOffset):

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

(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

6:33 PM Changeset in webkit [169407] by Bem Jones-Bey
  • 60 edits
    11 adds
    2 deletes in trunk

vw/vh units used as font/line-height values don't scale with the viewport
https://bugs.webkit.org/show_bug.cgi?id=87846

Reviewed by Darin Adler.

Source/WebCore:
This patch moves the resolution of viewport units to style recalc
time. Currently viewport units are left unresolved during style
recalcs, which leads to many problems with viewport units. Moving the
resolution will fix these problems, as well as reduce the plumbing
that goes on.

This patch touches a lot of files since the valueForLength functions
no longer need a RenderView. The interesting changes are in:

  • CSSToLengthConversionData -> CSSPrimitiveValue: for moving

resolution to style recalc time.

  • Length / LengthFunctions: no longer needs to know about viewport

units.

  • FrameView -> Document -> StyleResolver: for scheduling style recalcs

upon resize

Note that getComputedStyle will now return pixel values when viewport
units are used. This behavior matches Firefox and the css3-cascade
spec.

This is based on a Blink patch by timloh@chromium.org.

Tests: css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html

css3/viewport-percentage-lengths/viewport-percentage-lengths-calc.html
css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html
css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html
css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html

  • WebCore.exp.in: Remove RenderView argument to floatValueForLength.
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject): Remove RenderView argument.

  • css/BasicShapeFunctions.cpp:

(WebCore::convertToLength): Ditto.
(WebCore::floatValueForCenterCoordinate): Ditto.

  • css/BasicShapeFunctions.h: Ditto.
  • css/CSSCalculationValue.cpp:

(WebCore::unitCategory): Remove special handling for viewport units,

as they get resolved to pixels.

(WebCore::createCSS): Ditto.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::positionOffsetValue): Remove RendewView argument.
(WebCore::getBorderRadiusCornerValues): Remove handling of viewport

units, as they are already resolve to pixels here.

(WebCore::getBorderRadiusCornerValue): Remove RenderView argument.
(WebCore::getBorderRadiusShorthandValue): Ditto.
(WebCore::specifiedValueForGridTrackBreadth): Remove handling of

viewport units, as they are already resolved to pixels here.

(WebCore::specifiedValueForGridTrackSize): Remove RenderView argument.
(WebCore::valueForGridTrackList): Ditto.
(WebCore::lineHeightFromStyle): Ditto.
(WebCore::ComputedStyleExtractor::propertyValue): Ditto.

  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::createGradient): Pass RenderView to

CSSToLengthConversionData constructor.

(WebCore::CSSRadialGradientValue::createGradient): Ditto.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::unitCategory): Remove handling of

viewport units, as they get resolved to pixels.

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
(WebCore::CSSPrimitiveValue::init): Ditto.
(WebCore::CSSPrimitiveValue::computeLengthDouble): Resolve viewport

units to pixels.

(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Remove
handling of viewport units, since they get resolved to pixels.
(WebCore::CSSPrimitiveValue::viewportPercentageLength): Deleted.

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isLength): Remove special handling of

viewport units, since they get resolved to pixels.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertToLength): Ditto.

  • css/CSSToLengthConversionData.cpp:

(WebCore::CSSToLengthConversionData::viewportWidthFactor): Caclulate

conversion factor for viewport units to pixels. Note this does not
set hasViewportUnits on the RenderStyle if computing the font
size, because in the font size case, the RenderStyle is the
parent's style, not the current renderer's style.

(WebCore::CSSToLengthConversionData::viewportHeightFactor): Ditto.
(WebCore::CSSToLengthConversionData::viewportMinFactor): Ditto.
(WebCore::CSSToLengthConversionData::viewportMaxFactor): Ditto.

  • css/CSSToLengthConversionData.h:

(WebCore::CSSToLengthConversionData::CSSToLengthConversionData): Add

RenderView parameter, and make RenderStyle non-const so that
hasViewportUnits can be set on the Style..

(WebCore::CSSToLengthConversionData::style): style is now non-const.
(WebCore::CSSToLengthConversionData::copyWithAdjustedZoom): Handle

RenderView argument.

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillXPosition): Remove handling of

viewport units, as they are already resolved to pixels here.

(WebCore::CSSToStyleMap::mapFillYPosition): Ditto.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyLength::applyValue): Ditto.
(WebCore::ApplyPropertyBorderRadius::applyValue): Ditto.
(WebCore::ApplyPropertyComputeLength::applyValue): Ditto.
(WebCore::ApplyPropertyFontSize::applyValue): Ditto.
(WebCore::ApplyPropertyLineHeight::applyValue): Ditto.
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Ditto.
(WebCore::ApplyPropertyWordSpacing::applyValue): Ditto.
(WebCore::ApplyPropertyVerticalAlign::applyValue): Ditto.
(WebCore::ApplyPropertyTextIndent::applyValue): Ditto.

  • css/LengthFunctions.cpp:

(WebCore::minimumIntValueForLength): Remove RenderView argument.
(WebCore::intValueForLength): Remove RenderView argument and

roundPecentages.

(WebCore::minimumValueForLength): Remove RenderView argument, and

special handling of viewport units.

(WebCore::valueForLength): Ditto.
(WebCore::floatValueForLength): Ditto.
(WebCore::floatSizeForLengthSize): Remove RenderView argument.

  • css/LengthFunctions.h: Ditto.
  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::eval): Add RenderView argument for

CSSToLengthConversionData constuctor.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear): Change to 0 arg constructor

for CSSToLengthConversionData.

(WebCore::StyleResolver::State::updateConversionData): In order to get

the RenderView, we need to have a valid Element set on the state.
Since this means that we need to set the conversion data in more
places, move the contruction of conversion data into this helper
method.

(WebCore::StyleResolver::State::initElement): Make sure conversion

data is up to date.

(WebCore::StyleResolver::State::initForStyleResolve): Ditto.
(WebCore::StyleResolver::State::setStyle): When the style is set, we

need to make sure to update the conversion data.

(WebCore::StyleResolver::styleForElement): If the style has viewport

units, flage the document so that we can make sure to recalc the
viewport unit values when the viewport is resized.

(WebCore::StyleResolver::pseudoStyleForElement): Ditto.
(WebCore::StyleResolver::updateFont): Make sure the font having

viewport units updates the style.

(WebCore::StyleResolver::convertToIntLength): Remove handling of
viewport units, as they are resolved to pixels.
(WebCore::StyleResolver::convertToFloatLength): Ditto.
(WebCore::StyleResolver::clearCachedPropertiesAffectedByViewportUnits):

Invalidate the matched properties cache for styles with viewport
units when the viewport is resized.

(WebCore::createGridTrackBreadth): Remove handling of viewport units,

as they are resolved to pixels.

(WebCore::StyleResolver::applyProperty): Ditto.
(WebCore::StyleResolver::hasMediaQueriesAffectedByViewportChange):

Rename to be less confusing, since it has nothing to do with
viewport units.

(WebCore::StyleResolver::createFilterOperations): Remove handling of

viewport units, as they are resolved to pixels.

(WebCore::StyleResolver::affectedByViewportChange): Deleted.
(WebCore::StyleResolver::viewportPercentageValue): Deleted.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::State): C++11 cleanup: 0 -> nullptr.
(WebCore::StyleResolver::State::setFontSizeHasViewportUnits): Set if

the font size is specified in viewport units.

(WebCore::StyleResolver::State::fontSizeHasViewportUnits): Ditto.
(WebCore::StyleResolver::State::setStyle): Deleted.

  • css/TransformFunctions.cpp:

(WebCore::convertToFloatLength): Remove handling of viewport units,

since they are resolved to pixels.

  • dom/Document.cpp:

(WebCore::Document::Document): Add flag to determine if some style in

the document has viewport units.

(WebCore::Document::pageSizeAndMarginsInPixels): Remove RenderView

argument.

(WebCore::Document::updateViewportUnitsOnResize): Mark elements with

viewport units for style recalc when the viewport size has
changed.

  • dom/Document.h:

(WebCore::Document::setHasStyleWithViewportUnits): Flag to determine

if some style in the document has viewport units.

(WebCore::Document::hasStyleWithViewportUnits): Ditto.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::getRegion): Remove RenderView argument.

  • page/FrameView.cpp:

(WebCore::FrameView::layout): When the viewport is resized, call

updateViewportUnitsOnResize on the document.

  • platform/Length.h:

(WebCore::Length::isSpecified): Remove handling of viewport units,

since they are now resolved to pixels.

(WebCore::Length::viewportPercentageLength): Deleted.
(WebCore::Length::isViewportPercentage): Deleted.

  • rendering/ClipPathOperation.h:

(WebCore::ShapeClipPathOperation::pathForReferenceRect): Remove

RenderView argument.

(WebCore::BoxClipPathOperation::pathForReferenceRect): Ditto.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout): Remove

handling of viewport units, since they get updated by
updateViewportUnitsOnResize when the viewport is resized.

(WebCore::RenderBlock::nodeAtPoint): Remove RenderView argument.
(WebCore::RenderBlock::lineHeight): Ditto.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations): Remove RenderView argument.
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):

Remove handling of viewport units, as they are resolved to pixels.

(WebCore::RenderBox::computePercentageLogicalHeight): Ditto.
(WebCore::RenderBox::computeReplacedLogicalWidthUsing): Ditto.
(WebCore::RenderBox::computeReplacedLogicalHeightUsing): Ditto.
(WebCore::RenderBox::hasViewportPercentageLogicalHeight): Deleted.

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

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect): Remove

RenderView argument.

(WebCore::RenderBoxModelObject::calculateFillTileSize): Remove

handling of viewport units, as they are resolved to pixels.

(WebCore::computeBorderImageSide): Remove RenderView argument.
(WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
(WebCore::RenderBoxModelObject::paintBorder): Ditto.
(WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintAfterLayoutIfNeeded): Ditto.

  • rendering/RenderElement.h:

(WebCore::RenderElement::valueForLength): Remove unused

roundPercentages argument.

(WebCore::RenderElement::minimumValueForLength): Remove unused

RoundPercentages and RenderView arguments.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems): Remove handling of viewport

units as they are resolved to pixels.

  • rendering/RenderInline.cpp:

(WebCore::computeMargin): Ditto.
(WebCore::RenderInline::lineHeight): Remove RenderView argument.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath): Ditto.

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::lineHeight): Ditto.

  • rendering/RenderScrollbarPart.cpp:

(WebCore::calcScrollbarThicknessUsing): Ditto.
(WebCore::RenderScrollbarPart::computeScrollbarWidth): Ditto.
(WebCore::RenderScrollbarPart::computeScrollbarHeight): Ditto.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):

Remove handling of viewport units, since they are resolved to
pixels.

(WebCore::RenderTable::computePreferredLogicalWidths): Now that

viewport unit values are resolved to pixels at style recalc time,
no special checking is needed to handle them, so update the
comment to reflect that.

  • rendering/RenderThemeIOS.mm:

(WebCore::applyCommonButtonPaddingToStyle): Add RenderView argument to

CSSToLengthConversionData constructor.

(WebCore::RenderThemeIOS::adjustButtonStyle): Ditto.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonGradients): Remove

RenderView argument.

  • rendering/RenderView.cpp:

(WebCore::RenderView::layout): Remove handling of viewport units,

since they are resolved to pixels.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox): Remove RenderView

argument.

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape): Remove RenderView argument.

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

(WebCore::ShapeOutsideInfo::computedShape): Ditto.

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeCircle::floatValueForRadiusInBox): Ditto.
(WebCore::BasicShapeCircle::path): Ditto.
(WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Ditto.
(WebCore::BasicShapeEllipse::path): Ditto.
(WebCore::BasicShapePolygon::path): Ditto.
(WebCore::floatSizeForLengthSize): Ditto.
(WebCore::BasicShapeInset::path): Ditto.

  • rendering/style/BasicShapes.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::calcRadiiFor): Ditto.
(WebCore::RenderStyle::getRoundedBorderFor): Ditto.
(WebCore::RenderStyle::computedLineHeight): Remove handling of

viewport units since they are resolved to pixels.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setHasViewportUnits): Set if this style has
a property set with viewport units.
(WebCore::RenderStyle::hasViewportUnits): Ditto.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::resolveLengthAttributeForSVG): Remove RenderView argument.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Ditto.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent): Ditto.

LayoutTests:
Update existing tests to work with the proper behavior of viewport
units.

Add tests for some of the things fixed by this patch: handling of
viewport units in font sizes, with calc, and when the viewport is
resized without a reload.

The anonymous block and percent size child tests make sure that the
viewport unit updates still work properly when there is another
relative unit the depends on the size specified in viewport units.

  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle-expected.txt:
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle.html:
  • css3/viewport-percentage-lengths/resources/resize-test.js: Added.

(resizeTest):
(standardResizeTest):

  • css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block-expected.txt: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-calc-expected.txt: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-calc.html: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child-expected.txt: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt: Added.
  • css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html: Added.
  • fast/canvas/draw-focus-if-needed-expected.txt: Removed.
  • fast/canvas/draw-focus-if-needed.html: Removed.
  • fast/masking/parsing-clip-path-shape-expected.txt:
  • fast/masking/parsing-clip-path-shape.html:
  • fast/shapes/parsing/parsing-shape-lengths-expected.txt:
  • fast/shapes/parsing/parsing-shape-lengths.html:
5:28 PM Changeset in webkit [169406] by zoltan@webkit.org
  • 5 edits in trunk

[CSS Shapes] serialization of the computed value should omit the default radii
https://bugs.webkit.org/show_bug.cgi?id=132747

Reviewed by Darin Adler.

Source/WebCore:
We should omit closest-side value, whereever is possible. Specification:
http://www.w3.org/TR/2014/CR-css-shapes-1-20140320/#basic-shape-computed-values
This change aligns the behavior to the specification.

Added new test cases for the shape-outside parsing tests.

  • css/CSSBasicShapes.cpp:

(WebCore::buildCircleString):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):

LayoutTests:

  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
5:16 PM Changeset in webkit [169405] by ggaren@apple.com
  • 15 edits in trunk/Source/WebKit2

Some proof-reading of the WebKit2 API headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133328

Reviewed by Anders Carlsson.

Consistently say "item" to reference back-forward list items.

Consistently say "webpage" instead of "page" or "web page".

Consistently say "navigation" instead of "load".

Plus a few fix-ups for run-on sentences, mismatched verb tense, and
mismatched singular vs plural.

  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.h:
  • UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKProcessPool.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKWebView.h:
5:02 PM Changeset in webkit [169404] by achristensen@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed Mac Gardening.

  • platform/mac/TestExpectations:

Skip webtiming-two-redirects.php which I forgot to re-skip in r169403.

4:32 PM Changeset in webkit [169403] by achristensen@apple.com
  • 5 edits in trunk/LayoutTests

Run web timing tests if web timing is enabled.
https://bugs.webkit.org/show_bug.cgi?id=133327

Reviewed by Ryosuke Niwa.

  • fast/dom/script-tests/webtiming-document-open.js:

(finishTest):

  • fast/dom/script-tests/webtiming-navigate-within-document.js:

(checkTimingNotChanged):
Use for in loop instead of Object.keys because properties are in prototype chain.

  • fast/dom/script-tests/webtiming.js:

Use performance.now instead of 0.

  • platform/mac/TestExpectations:

Made web timing tests skipped on Mountain Lion and Mavericks.

3:56 PM Changeset in webkit [169402] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

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

Causes assertion failures in tests. See
http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r169399%20(5622)/results.html
(Requested by mlam on #webkit).

Reverted changeset:

"Caret's screen position does not update during an overflow
scroll"
https://bugs.webkit.org/show_bug.cgi?id=133256
http://trac.webkit.org/changeset/169399

2:38 PM Changeset in webkit [169401] by mmaxfield@apple.com
  • 2 edits in trunk

Unreviewed post-commit ChangeLog fixup

2:34 PM Changeset in webkit [169400] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

SVG TextRuns do not always get RenderingContexts
https://bugs.webkit.org/show_bug.cgi?id=133198

Reviewed by Simon Fraser.

Source/WebCore:
There were a couple places in RenderListMarker and RenderMenuList that were
implicitly creating TextRuns by passing a String to a function which
expected a TextRun. Because TextRun has a constructor which takes a single
String and isn't marked explicit, TextRuns were being created without
any of the associated code that initializes the TextRun (such as creating
a RenderingContext if necessary).

This patch marks the aforementioned constructor as "explicit" to discourage
such behavior in the future.

Test: svg/custom/list-items-with-svg-font-family.html

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun): Mark constructors as explicit.

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::computePreferredLogicalWidths): Call
RenderBlock::constructTextRun.
(WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.

  • rendering/RenderMenuList.cpp:

(RenderMenuList::updateOptionsWidth): Ditto.

LayoutTests:
See per-file comments.

  • svg/custom/list-items-with-svg-font-family-expected.txt: Added.
  • svg/custom/list-items-with-svg-font-family.html: Added. Make sure there is

no crash when styling list elements with SVG fonts.

2:14 PM Changeset in webkit [169399] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Caret's screen position does not update during an overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=133256

Reviewed by Simon Fraser.

Source/WebCore:
During a scroll, we set a flag which caret position is gated on, but we never
actually invalidate the caret's position. This patch does so.

Test: editing/input/caret-position-during-scroll.html

  • editing/FrameSelection.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

LayoutTests:
This test places the caret, inspects its position, scrolls, and then immediately inspects its
position again. The two positions should be different.

  • editing/input/caret-position-during-scroll-expected.txt: Added.
  • editing/input/caret-position-during-scroll.html: Added.
1:45 PM Changeset in webkit [169398] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] PDFPlugin snapshots are misplaced
https://bugs.webkit.org/show_bug.cgi?id=133323

Reviewed by Simon Fraser.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::paintControlForLayerInContext):
(WebKit::PDFPlugin::snapshot):
Include the scroll offset in the snapshot translation,
and use the whole document size instead of just the view size.

12:47 PM Changeset in webkit [169397] by Lucas Forschler
  • 1 edit in branches/safari-537.77-branch/Source/JavaScriptCore/dfg/DFGAbstractState.cpp

Merge patch from <rdar://problem/16906035>.

11:53 AM Changeset in webkit [169396] by msaboff@apple.com
  • 2 edits in trunk/Tools

REGRESSION(r169265): sh: line 0: cd: ../.vm
https://bugs.webkit.org/show_bug.cgi?id=133242

Rubber stamped by Oliver Hunt.

Changed runAndMonitorTestRunnerCommand() to pass mysys as a string instead of an
array since the command may contain character escapes that don't work with the
array form of system().

  • Scripts/run-jsc-stress-tests:
11:35 AM Changeset in webkit [169395] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Turn on the LayerPool for iOS
https://bugs.webkit.org/show_bug.cgi?id=133299

Reviewed by Antti Koivisto.

  • Configurations/WebCore.xcconfig:
  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):

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

(WebCore::TileController::createTileLayer):

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

(WebCore::TileGrid::removeTiles):
Turn on the LayerPool for iOS.
We've used this on Mac for a long time, and the WebKit1
("legacy") iOS TileCache also had a similar pool.
This helps a good bit with flashiness while scrolling.

11:35 AM Changeset in webkit [169394] by weinig@apple.com
  • 16 edits
    3 copies in trunk/Source/WebKit2

[WebKit2] Move WebPreferences macro definitions and key names into their own files
https://bugs.webkit.org/show_bug.cgi?id=133315

Reviewed by Anders Carlsson.

  • CMakeLists.txt:
  • Shared/WebPreferencesDefinitions.h: Copied from Source/WebKit2/Shared/WebPreferencesStore.h.
  • Shared/WebPreferencesKeys.cpp: Copied from Source/WebKit2/Shared/WebPreferencesStore.cpp.
  • Shared/WebPreferencesKeys.h: Copied from Source/WebKit2/Shared/WebPreferencesStore.h.
  • Shared/WebPreferencesStore.cpp:
  • Shared/WebPreferencesStore.h:
  • UIProcess/WebPreferences.cpp:
  • UIProcess/WebPreferences.h:
  • UIProcess/mac/WebContextMac.mm:
  • UIProcess/mac/WebPreferencesMac.mm:
  • UIProcess/mac/WebProcessProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebProcess.cpp:
11:31 AM Changeset in webkit [169393] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

Add UI process watchdog on iOS to ensure WebProcess connections close
https://bugs.webkit.org/show_bug.cgi?id=133200
<rdar://problem/16997983>

Mountain Lion build fix

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::watchdogTimerFired):

11:30 AM Changeset in webkit [169392] by Lucas Forschler
  • 2 edits in branches/safari-537.77-branch/Source/WebCore

Merge fix for <rdar://problem/17020210>.

11:21 AM Changeset in webkit [169391] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

importance_assertion -> denap_assertion
https://bugs.webkit.org/show_bug.cgi?id=133294

iOS build fix

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::open):

10:59 AM Changeset in webkit [169390] by hyatt@apple.com
  • 3 edits
    3 adds in trunk

REGRESSION: Audio volume scrubber does not show volume level thumb
<rdar://problem/16902004>
https://bugs.webkit.org/show_bug.cgi?id=133310

Reviewed by Dean Jackson.

Source/WebCore:
This was just a silly mistake on my part with the setting of the pagination
layers. Layers inside transforms are supposed to clear out their pagination
status based off their ancestor containing block layers, and not off the
enclosing pagination layer.

Added fast/multicol/pagination/nested-transforms.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updatePagination):

LayoutTests:

  • fast/multicol/pagination/nested-transforms.html: Added.
  • platform/mac/fast/multicol/pagination/nested-transforms-expected.png: Added.
  • platform/mac/fast/multicol/pagination/nested-transforms-expected.txt: Added.
10:36 AM Changeset in webkit [169389] by barraclough@apple.com
  • 4 edits in trunk/Source/WebKit2

Add UI process watchdog on iOS to ensure WebProcess connections close
https://bugs.webkit.org/show_bug.cgi?id=133200
<rdar://problem/16997983>

Reviewed by Darin Adler.

When the WebProcessProxy wants to disconnect from a WebContent process it just drops the connection,
and hopes the connection closes. There is a watchdog thread in the ChildProcess to try to ensure this
happens.

On iOS the process may not be runnable at the time, preventing termination. Instead add a watchdog in
the UI process to make the process runnable, and to terminate if it doesn't quit in a timely fashion.

  • Platform/IPC/Connection.h:
    • added terminateSoon.
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):

  • take an assertion to make the process runnable, and start a watchdog timer.

(IPC::ConnectionTerminationWatchdog::watchdogTimerFired):

  • if the process hasn't quit by the timer the watchdog fires, kill it.

(IPC::Connection::terminateSoon):

  • create a ConnectionTerminationWatchdog.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

  • when disconnecting from a process, first tell it to terminateSoon.
10:36 AM Changeset in webkit [169388] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

importance_assertion -> denap_assertion
https://bugs.webkit.org/show_bug.cgi?id=133294

Patch by Gavin Barraclough <barraclough@apple.com> on 2014-05-26
Reviewed by Sam Weinig.

Update in accordance with API change. The importance assertion is used on
Mavericks & newer to ensure the WebContent process wakes from AppNap.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::open):

  • MACH_PORT_IMPORTANCE_RECEIVER -> MACH_PORT_DENAP_RECEIVER
  • Platform/IPC/mac/ImportanceAssertion.h:

(IPC::ImportanceAssertion::ImportanceAssertion):
(IPC::ImportanceAssertion::~ImportanceAssertion):

  • proc_importance_assertion -> proc_denap_assertion
10:33 AM Changeset in webkit [169387] by eric.carlson@apple.com
  • 4 edits
    2 adds in trunk

[Mac] media controls should prevent 'click' events from reaching the page
https://bugs.webkit.org/show_bug.cgi?id=133268

Source/WebCore:
Reviewed by Jer Noble.

Test: media/media-controls-cancel-events.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleEvent): Allow event handler to cancel event default action.
(Controller.prototype.handleRewindButtonClicked): Cancel event default.
(Controller.prototype.handlePlayButtonClicked): Ditto.
(Controller.prototype.handleMuteButtonClicked): Ditto.
(Controller.prototype.handleMinButtonClicked): Ditto.
(Controller.prototype.handleCaptionButtonClicked): Ditto.
(Controller.prototype.handleFullscreenButtonClicked): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePlayButtonTouchEnd): Ditto.
(ControllerIOS.prototype.handlePlayButtonTouchCancel): Ditto.
(ControllerIOS.prototype.handleFullscreenTouchEnd): Ditto.
(ControllerIOS.prototype.handleFullscreenTouchCancel): Ditto.
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Ditto.
(ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): Ditto.
(ControllerIOS.prototype.handleWirelessPickerButtonClicked): Ditto.

LayoutTests:
Reviewed by by Jer Noble.

  • media/media-controls-cancel-events-expected.txt: Added.
  • media/media-controls-cancel-events.html: Added.
9:45 AM Changeset in webkit [169386] by jonlee@apple.com
  • 3 edits in trunk/Source/WebCore

Fix Mavericks bots from r169383.
https://bugs.webkit.org/show_bug.cgi?id=133311

Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Update #ifdef to check for ENABLE(MEDIA_SOURCE).
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Ditto.
9:36 AM Changeset in webkit [169385] by stavila@adobe.com
  • 26 edits in trunk/Source/WebCore

REGRESSION (r168046): Incorrect handling of multicol spanner
https://bugs.webkit.org/show_bug.cgi?id=133249

Reviewed by David Hyatt.

When removing the child of an object, the removeChild method should return the next element
following the one being deleted. This will ensure that proper iteration and destruction of
an object's children is possible.

No new tests added. This is because the test that triggers this issue also triggers
another assertion, in RenderMultiColumnSet::requiresBalancing(). However, that is a totally
separate problem and will be handled in a separate bug: https://bugs.webkit.org/show_bug.cgi?id=133309

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeChild):

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

(WebCore::RenderBlockFlow::removeChild):

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

(WebCore::RenderButton::removeChild):

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

(WebCore::RenderElement::removeChild):
(WebCore::RenderElement::removeChildInternal):

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

(RenderMenuList::removeChild):

  • rendering/RenderMenuList.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):

  • rendering/RenderRuby.cpp:

(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::removeChild):

  • rendering/RenderRuby.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::removeChild):

  • rendering/RenderRubyRun.h:
  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::removeChild):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChild):

  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::removeChild):

  • rendering/svg/RenderSVGContainer.h:
  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::removeChild):

  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::removeChild):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::removeChild):

  • rendering/svg/RenderSVGText.h:
9:30 AM Changeset in webkit [169384] by jberlin@webkit.org
  • 4 edits in trunk/Source/WebKit2

Revert r169362 since it broke the ML build.

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog): Deleted.
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog): Deleted.
(IPC::ConnectionTerminationWatchdog::watchdogTimerFired): Deleted.
(IPC::Connection::terminateSoon): Deleted.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

9:25 AM Changeset in webkit [169383] by jonlee@apple.com
  • 14 edits in trunk

Update ENABLE(MEDIA_SOURCE) on Mac
https://bugs.webkit.org/show_bug.cgi?id=133141

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.

LayoutTests:

  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
8:12 AM Changeset in webkit [169382] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failing tests to TestExpectations.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
8:12 AM Changeset in webkit [169381] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] Change download url of freetype6
https://bugs.webkit.org/show_bug.cgi?id=133303

Reviewed by Csaba Osztrogonác.

freetype6 tarball isn't downloaded in Korea. So, we need to
change the url for now.

  • efl/jhbuild.modules:
7:27 AM Changeset in webkit [169380] by commit-queue@webkit.org
  • 92 edits in trunk

Remove BLOB guards
https://bugs.webkit.org/show_bug.cgi?id=132863

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-05-27
Reviewed by Csaba Osztrogonác.

.:

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

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::didFail):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):
(WebCore::WebSocketChannel::abortOutgoingFrameQueue):

  • Modules/websockets/WebSocketChannel.h:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • bindings/js/JSBlobCustom.cpp:

(WebCore::JSBlobConstructor::constructJSBlob):

  • bindings/js/JSFileReaderCustom.cpp:
  • dom/DOMExceptions.in:
  • dom/EventTargetFactory.in:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::publicURLManager):

  • dom/ScriptExecutionContext.h:
  • fileapi/AsyncFileStream.cpp:
  • fileapi/AsyncFileStream.h:
  • fileapi/Blob.cpp:

(WebCore::Blob::Blob):

  • fileapi/Blob.h:

(WebCore::Blob::slice):

  • fileapi/Blob.idl:
  • fileapi/FileError.h:
  • fileapi/FileError.idl:
  • fileapi/FileException.cpp:
  • fileapi/FileException.h:
  • fileapi/FileException.idl:
  • fileapi/FileReader.cpp:
  • fileapi/FileReader.h:
  • fileapi/FileReader.idl:
  • fileapi/FileReaderLoader.cpp:
  • fileapi/FileReaderLoader.h:
  • fileapi/FileReaderLoaderClient.h:
  • fileapi/FileReaderSync.cpp:
  • fileapi/FileReaderSync.h:
  • fileapi/FileReaderSync.idl:
  • fileapi/FileThread.cpp:
  • fileapi/FileThread.h:
  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::registerFileBlobURL): Deleted.
(WebCore::ThreadableBlobRegistry::registerBlobURL): Deleted.
(WebCore::ThreadableBlobRegistry::registerBlobURLForSlice): Deleted.
(WebCore::ThreadableBlobRegistry::unregisterBlobURL): Deleted.
(WebCore::ThreadableBlobRegistry::blobSize): Deleted.
(WebCore::ThreadableBlobRegistry::getCachedOrigin): Deleted.

  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::append):

  • fileapi/WebKitBlobBuilder.h:
  • html/DOMURL.cpp:
  • html/DOMURL.h:
  • html/DOMURL.idl:
  • html/PublicURLManager.cpp:
  • html/PublicURLManager.h:
  • loader/LoaderStrategy.cpp:

(WebCore::LoaderStrategy::createBlobRegistry):

  • loader/LoaderStrategy.h:
  • page/DOMWindow.idl:
  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::shouldUseInnerURL):
(WebCore::getCachedOrigin):

  • platform/FileStream.cpp:
  • platform/FileStream.h:
  • platform/FileStreamClient.h:
  • platform/SchemeRegistry.cpp:

(WebCore::canDisplayOnlyIfCanRequestSchemes):

  • platform/network/BlobRegistry.cpp:
  • platform/network/BlobRegistryImpl.cpp:
  • platform/network/BlobResourceHandle.cpp:
  • platform/network/BlobResourceHandle.h:
  • platform/network/FormData.cpp:

(WebCore::FormData::deepCopy):
(WebCore::FormData::appendFile):
(WebCore::FormData::appendBlob):
(WebCore::FormData::appendKeyValuePairItems):
(WebCore::FormData::resolveBlobReferences):
(WebCore::encodeElement):
(WebCore::decodeElement):

  • platform/network/FormData.h:

(WebCore::FormDataElement::FormDataElement):
(WebCore::operator==):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):
(WebCore::formRead):
(WebCore::setHTTPBody):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getFormElementsCount):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::addEncodedBlobToSoupMessageBody):
(WebCore::addFormElementsToSoupMessage):

  • workers/WorkerGlobalScope.idl:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::createRequest):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebView.mm:

(+[WebView _canHandleRequest:forMainFrame:]):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::blobSize):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:
  • NetworkProcess/NetworkProcessPlatformStrategies.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • WebProcess/FileAPI/BlobRegistryProxy.cpp:
  • WebProcess/FileAPI/BlobRegistryProxy.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canHandleRequest):

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
4:31 AM Changeset in webkit [169379] by commit-queue@webkit.org
  • 7 edits in trunk

Allow building CMake based ports with WEB_REPLAY
https://bugs.webkit.org/show_bug.cgi?id=133154

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

.:

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

Source/JavaScriptCore:

  • CMakeLists.txt:

Source/WebCore:

  • CMakeLists.txt:
3:56 AM Changeset in webkit [169378] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Add missing <wtf/MathExtras.h> header
https://bugs.webkit.org/show_bug.cgi?id=133236

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-05-27
Reviewed by Philippe Normand.

In some configurations, not including <wtf/MathExtras.h> will cause
errors about undefined functions. In particular, this happens in
Linux with glibc 2.19 and compiling with Clang. Having the header
included is the correct thing to do anyway.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

Include <wtf/MathExtras.h>

3:24 AM Changeset in webkit [169377] by berto@igalia.com
  • 2 edits in trunk/Tools

Remove leftover comment from r165182.

Rubber stamped by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
3:19 AM Changeset in webkit [169376] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit

Speculative Windows buildfix after r169358.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
2:43 AM Changeset in webkit [169375] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.4

Merge r169352 - [GTK] WebProcess leaked when closing pages with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=129684

Reviewed by Anders Carlsson.

Source/WebKit2:
The problem is that the web process is not notified when the UI
process closes the connection, because when close() is called on
the socket by the UI process, the socket is shared by another web
process launched later, preventing the connection from being
shut down. We need to set the CLOEXEC flag on the sockets file
descriptor to make sure they are not exposed to other processes.

  • Platform/IPC/Connection.h: Add ConnectionOptions parameter to

createPlatformConnection() with a default value compatible with
existing callers.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::createPlatformConnection): Set the CLOEXEC flag
on the client and server socket file descriptors depending on the
options passed.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess): Use
IPC::Connection::createPlatformConnection() instead of
socketpair() directly, setting the CLOEXEC flag on the server
before spawning the new process and on the client right after
spawning the new process.

Tools:
Enable the test to check that web processes finish when the web
view is destroyed.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
2:06 AM Changeset in webkit [169374] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Rollout r166161 - Unreviewed. Race condition when closing pages with network process enabled

1:08 AM Changeset in webkit [169373] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
https://bugs.webkit.org/show_bug.cgi?id=133291

Patch by Gwang Yoon Hwang <yoon@igalia.com> on 2014-05-27
Reviewed by Carlos Garcia Campos.

GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
GMainContext. Because current implementations in RunLoopGtk passes nullptr
instead of its runLoopContext when using GMainLoopSource, all of dispatched
functions are executed on the main thread regardless of which runloops is used.

This patch fixes the issue by passing the m_runLoopContext instead the default
parameter to the GMainLoopSource::schedule[AfterDelay].

  • wtf/gtk/RunLoopGtk.cpp:

(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::start):

12:17 AM Changeset in webkit [169372] by Manuel Rego Casasnovas
  • 6 edits in trunk/Source/WebCore

Setting up OrderIterator shouldn't require an extra Vector
https://bugs.webkit.org/show_bug.cgi?id=119061

Reviewed by Darin Adler.

From Blink r153971 by <jchaffraix@chromium.org>

This patches reuse the OrderIterator's Vector. It provides a helper class OrderIteratorPopulator, used for
manipulating the Vector directly. Which allows to consolidate the code into a single implementation across
flexbox and grid.

No new tests, already covered by current tests.

  • rendering/OrderIterator.cpp:

(WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Reset OrderIterator and call
removeDuplicatedOrderValues().
(WebCore::OrderIteratorPopulator::removeDuplicatedOrderValues): Sorts the Vector and removes the duplicated
order values.
(WebCore::OrderIteratorPopulator::collectChild): Collect order value information from child.
(WebCore::OrderIterator::setOrderValues): Deleted.

  • rendering/OrderIterator.h:

(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Add helper class to manipulate OrderValues Vector.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
(WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.

  • rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().

12:05 AM Changeset in webkit [169371] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Add LLVM as optional jhbuild module for FTL developers
https://bugs.webkit.org/show_bug.cgi?id=133216

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
Note: See TracTimeline for information about the timeline view.