Timeline



Mar 20, 2014:

11:51 PM Changeset in webkit [166045] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL should correctly compile GetByVal on Uint32Array that claims to return non-int32 values
https://bugs.webkit.org/show_bug.cgi?id=130562
<rdar://problem/16382842>

Reviewed by Geoffrey Garen.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetByVal):

  • tests/stress/uint32array-unsigned-load.js: Added.

(foo):

11:44 PM Changeset in webkit [166044] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Remove a couple of unused functions from CSSOMUtils
https://bugs.webkit.org/show_bug.cgi?id=130558

Reviewed by Andreas Kling.

  • css/CSSOMUtils.cpp: Remove String overloads. Callers all use the StringBuilder

ones, which is good since that is a more efficient idiom.

  • css/CSSOMUtils.h: Ditto.
11:44 PM Changeset in webkit [166043] by Darin Adler
  • 2 edits in trunk/Source/WTF

Fix a header guard mistake (harmless but clearly wrong)
https://bugs.webkit.org/show_bug.cgi?id=130559

Reviewed by Andreas Kling.

  • wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
11:30 PM Changeset in webkit [166042] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. iOS build fix after r166017, r166032.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::visibleContentRectInternal):

10:26 PM Changeset in webkit [166041] by BJ Burg
  • 7 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: add temporary buttons to capture/play/pause replay recordings
https://bugs.webkit.org/show_bug.cgi?id=129692

Reviewed by Timothy Hatcher.

If the Replay agent is available, replace the existing ad-hoc navigation bar
in the Timelines sidebar panel with a record and pause/play button. This UI
is temporary.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into

FIXMEs because the assertions are too strong until the public API uses async chains.
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):

  • UserInterface/Images/Circle.svg: Added.
  • UserInterface/Views/ActivateButtonNavigationItem.js:

(WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):

  • UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style

has opacity:1 and the glyph color is darker.
(.navigation-bar .item.button.suppress-emboss > .glyph):
(.navigation-bar .item.button.suppress-emboss.disabled > .glyph):

  • UserInterface/Views/ButtonNavigationItem.js:

(WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
generate the width and height properties so that separate button instances do
not influence the size of each other.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._captureStarted):
(WebInspector.TimelineSidebarPanel.prototype._captureStopped):
(WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
(WebInspector.TimelineSidebarPanel.prototype._playbackPaused):

9:45 PM Changeset in webkit [166040] by BJ Burg
  • 11 edits
    10 adds in trunk

Web Inspector: add frontend controller and models for replay sessions
https://bugs.webkit.org/show_bug.cgi?id=130145

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/scripts/CodeGeneratorInspector.py: Add the conditional Replay domain.

Source/WebInspectorUI:

Upstream the frontend models and controller for web replay. The replay manager
syncs with the backend controller's replay state and replay sessions by using
the same state machines and transitions.

Session and segment models update their data asynchronously using promises.

  • UserInterface/Base/Main.js:

(WebInspector.loaded): Add the replay manager.

  • UserInterface/Base/Test.js:

(WebInspector.loaded): Add the replay manager.
(InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
(InspectorTest.addResult): Don't try to add results until the test page has loaded.
(InspectorTest.testPageDidLoad): Clear the isReloading flag.
(InspectorTest.reloadPage): Reimplement using promises. Return a promise.

  • UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
  • UserInterface/Controllers/ReplayManager.js: Added.

(WebInspector.ReplayManager):
(WebInspector):
(WebInspector.ReplayManager.prototype.get sessionState):
(WebInspector.ReplayManager.prototype.get segmentState):
(WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
(WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
(WebInspector.ReplayManager.prototype.get playbackSpeed):
(WebInspector.ReplayManager.prototype.set playbackSpeed):
(WebInspector.ReplayManager.prototype.get currentPosition):
(WebInspector.ReplayManager.prototype.getSession.get var):
(WebInspector.ReplayManager.prototype.getSegment.get var):
(WebInspector.ReplayManager.prototype.captureStarted):
(WebInspector.ReplayManager.prototype.captureStopped):
(WebInspector.ReplayManager.prototype.playbackStarted):
(WebInspector.ReplayManager.prototype.playbackHitPosition):
(WebInspector.ReplayManager.prototype.playbackPaused):
(WebInspector.ReplayManager.prototype.playbackFinished):
(WebInspector.ReplayManager.prototype.sessionCreated.set catch):
(WebInspector.ReplayManager.prototype.sessionCreated.this):
(WebInspector.ReplayManager.prototype.sessionCreated):
(WebInspector.ReplayManager.prototype.sessionModified):
(WebInspector.ReplayManager.prototype.sessionRemoved.then):
(WebInspector.ReplayManager.prototype.sessionRemoved):
(WebInspector.ReplayManager.prototype.segmentCreated.set this):
(WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
(WebInspector.ReplayManager.prototype.segmentCompleted):
(WebInspector.ReplayManager.prototype.segmentRemoved.then):
(WebInspector.ReplayManager.prototype.segmentRemoved):
(WebInspector.ReplayManager.prototype.segmentLoaded):
(WebInspector.ReplayManager.prototype.segmentUnloaded):
(WebInspector.ReplayManager.prototype.startCapturing):
(WebInspector.ReplayManager.prototype.stopCapturing):
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
(WebInspector.ReplayManager.prototype.pausePlayback):
(WebInspector.ReplayManager.prototype.stopPlayback):
(WebInspector.ReplayManager.prototype._changeSessionState):
(WebInspector.ReplayManager.prototype._changeSegmentState):

  • UserInterface/Main.html:
  • UserInterface/Models/ReplaySession.js: Added.

(WebInspector.ReplaySession):
(WebInspector.ReplaySession.fromPayload):
(WebInspector.ReplaySession.prototype.get segments):
(WebInspector.ReplaySession.prototype.segmentsChanged):
(WebInspector.ReplaySession.prototype._updateFromPayload):

  • UserInterface/Models/ReplaySessionSegment.js: Added.

(WebInspector.IncompleteSessionSegment):
(WebInspector.IncompleteSessionSegment.prototype.get isComplete):
(WebInspector.ReplaySessionSegment):
(WebInspector.ReplaySessionSegment.prototype.get isComplete):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype._promise): Add a promise-returning method for
invoking backend commands that return a result asynchronously.

  • UserInterface/Protocol/ReplayObserver.js: Added.

(WebInspector.ReplayPosition):
(WebInspector.ReplayPosition.fromProtocol):
(WebInspector.ReplayObserver):
(WebInspector.ReplayObserver.prototype.captureStarted):
(WebInspector.ReplayObserver.prototype.captureStopped):
(WebInspector.ReplayObserver.prototype.playbackStarted):
(WebInspector.ReplayObserver.prototype.playbackHitPosition):
(WebInspector.ReplayObserver.prototype.playbackPaused):
(WebInspector.ReplayObserver.prototype.playbackFinished):
(WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
(WebInspector.ReplayObserver.prototype.sessionCreated):
(WebInspector.ReplayObserver.prototype.sessionModified):
(WebInspector.ReplayObserver.prototype.sessionRemoved):
(WebInspector.ReplayObserver.prototype.sessionLoaded):
(WebInspector.ReplayObserver.prototype.segmentCreated):
(WebInspector.ReplayObserver.prototype.segmentRemoved):
(WebInspector.ReplayObserver.prototype.segmentCompleted):
(WebInspector.ReplayObserver.prototype.segmentLoaded):
(WebInspector.ReplayObserver.prototype.segmentUnloaded):

  • UserInterface/Test.html:

LayoutTests:

Add tests for existing nondeterministic inputs handled in JSC.
They are skipped for all platforms until WEB_REPLAY is enabled.

The new mechanism here is the single-segment replay reftest. It will
load the test page once to inject test code into the inspector. Then,
the reftest will reload the test page and start capturing. The test
page performs some nondeterministic computation before the load event.
Then, the inspector test dumps the computed nondeterministic state.
Capturing is stopped, and the session is replayed once. When the load
event fires on the replayed page execution, the nondeterministic states
from capturing and replaying are compared. They should be the same.

  • inspector/replay/javascript-random-seed-expected.txt: Added.
  • inspector/replay/javascript-random-seed.html: Added.
  • inspector/replay/replay-test.js: Added. This contains the bulk of

the replay-specific testing logic for the added tests.

(InspectorTestProxy.registerInitializer.):
(InspectorTestProxy.registerInitializer):

9:13 PM Changeset in webkit [166039] by ryuan.choi@samsung.com
  • 34 edits
    1 copy
    1 delete in trunk

Move to using std::unique_ptr for EFL objects.
https://bugs.webkit.org/show_bug.cgi?id=129853

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-20
Reviewed by Gyuyoung Kim.

EflUniquePtr is a template alias of std::unique_ptr
with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.

Source/WebCore:

No new tests. No new functionality.

  • platform/efl/EflScreenUtilities.h:
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::loadTheme):

  • platform/efl/RenderThemeEfl.h:
  • platform/graphics/Icon.h:
  • platform/graphics/efl/EvasGLContext.h:

(WebCore::EvasGLContext::create):

  • platform/graphics/efl/EvasGLSurface.h:

(WebCore::EvasGLSurface::create):

Source/WebKit/efl:

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

(WebCore::AcceleratedCompositingContext::initialize):

  • WebCoreSupport/AcceleratedCompositingContextEfl.h:
  • WebCoreSupport/BatteryClientEfl.h:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:
  • WebCoreSupport/EditorClientEfl.h:
  • WebCoreSupport/FrameNetworkingContextEfl.h:
  • WebCoreSupport/NavigatorContentUtilsClientEfl.h:
  • ewk/ewk_view.cpp:

(_ewk_view_editor_command_string_get):

  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::init):

  • tests/UnitTestUtils/EWKTestView.h:

Source/WebKit2:

  • Platform/Module.h:
  • Platform/efl/ModuleEfl.cpp:

(WebKit::Module::load):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/efl/InputMethodContextEfl.cpp:

(WebKit::InputMethodContextEfl::InputMethodContextEfl):
(WebKit::InputMethodContextEfl::createIMFContext):

  • UIProcess/efl/InputMethodContextEfl.h:

(WebKit::InputMethodContextEfl::create):

Source/WTF:

  • wtf/OwnPtrCommon.h:
  • wtf/PlatformEfl.cmake:
  • wtf/RunLoop.h:
  • wtf/efl/MainThreadEfl.cpp:

(WTF::pipeObject):
(WTF::initializeMainThreadPlatform):

  • wtf/efl/OwnPtrEfl.cpp: Removed.
  • wtf/efl/RunLoopEfl.cpp:

(WTF::RunLoop::RunLoop):

  • wtf/efl/UniquePtrEfl.h: Added.

(WTF::EflPtrDeleter::operator()):

Tools:

  • DumpRenderTree/efl/DumpRenderTree.cpp:

(main):

  • ImageDiff/efl/ImageDiff.cpp:

(initEfl):
(main):

9:05 PM Changeset in webkit [166038] by zoltan@webkit.org
  • 2 edits in trunk/PerformanceTests

Add option for hiding Confidence Interval Delta on the performance tests results page
https://bugs.webkit.org/show_bug.cgi?id=130483

Reviewed by Ryosuke Niwa.

I've found it useful to hide the confidence interval delta from the results table
sometimes, for example on copying data, or for a clearer look. This patch introduces
a new button for it on the local results page.

  • resources/results-template.html:
8:47 PM Changeset in webkit [166037] by thiago.lacerda@openbossa.org
  • 10 edits
    1 add in trunk

[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150

Reviewed by Martin Robinson.

Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.

.:

  • Source/cmake/FindFreetype2.cmake: Added.
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:

Source/WebKit:

  • PlatformEfl.cmake:

Source/WebKit2:

  • PlatformEfl.cmake:
8:13 PM Changeset in webkit [166036] by ryuan.choi@samsung.com
  • 4 edits in trunk/Tools

Unreviewed buildfix after r165983 for non Cocoa platforms

Renamed WKPreferencesPrivate.h to WKPreferencesRefPrivate.h

  • TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
  • WebKitTestRunner/TestController.cpp:
8:00 PM Changeset in webkit [166035] by Martin Robinson
  • 5 edits in trunk/Source

[GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
https://bugs.webkit.org/show_bug.cgi?id=130517

Reviewed by Sergio Villar Senin.

Source/WebCore:

  • plugins/gtk/gtk2xtbin.c: Use GCC suppression to suppress errors about deprecations.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebView.cpp: Use GCC suppression to suppress errors about deprecations.
  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.
6:41 PM Changeset in webkit [166034] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] tests of test_ewk2_cookie_manager are flaky
https://bugs.webkit.org/show_bug.cgi?id=130498

Reviewed by Gyuyoung Kim.

Loaded web page before calling getAcceptPolicy() to guarantee that webprocess
or networkprocess was launched and registered WebCookieManager.

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(TEST_F):

6:29 PM Changeset in webkit [166033] by commit-queue@webkit.org
  • 1 edit
    14 adds in trunk/Websites/webkit.org

Sample code for potential ARIA blog post.
https://bugs.webkit.org/show_bug.cgi?id=130548

Patch by James Craig <jcraig@apple.com> on 2014-03-20
Rubber-stamped by Chris Fleizach.

  • blog-files/aria1.0: Added.
  • blog-files/aria1.0/africa_large.svg: Added.
  • blog-files/aria1.0/combobox_with_live_region_status.html: Added.
  • blog-files/aria1.0/roaming_tabindex: Added.
  • blog-files/aria1.0/roaming_tabindex/css: Added.
  • blog-files/aria1.0/roaming_tabindex/css/img: Added.
  • blog-files/aria1.0/roaming_tabindex/css/img/buttons.png: Added.
  • blog-files/aria1.0/roaming_tabindex/css/img/icons.png: Added.
  • blog-files/aria1.0/roaming_tabindex/css/screen.css: Added.
  • blog-files/aria1.0/roaming_tabindex/final.html: Added.
  • blog-files/aria1.0/roaming_tabindex/js: Added.
  • blog-files/aria1.0/roaming_tabindex/js/aria.js: Added.
  • blog-files/aria1.0/roaming_tabindex/js/init.js: Added.
  • blog-files/aria1.0/roaming_tabindex/js/prototype.js: Added.
6:16 PM Changeset in webkit [166032] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Cleanup in aisle r166017.

visibleContentRectInternal() was dropping the scrollbar
inclusiveness on the floor, and we need to reset the top inset
between tests.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::visibleContentRectInternal):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

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

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

broke page loading on all cocoa platforms (Requested by
thorton on #webkit).

Reverted changeset:

"[WebKit2] Implement
NetworkingContext::sourceApplicationAuditData() for WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=130528
http://trac.webkit.org/changeset/165985

5:32 PM Changeset in webkit [166030] by fpizlo@apple.com
  • 3 edits
    2 adds in trunk/Source/JavaScriptCore

FTL ValueToInt32 mishandles the constant case, and by the way, there is a constant case that the FTL sees
https://bugs.webkit.org/show_bug.cgi?id=130546
<rdar://problem/16383308>

Reviewed by Mark Hahnenberg.

Make AI do a better job of folding this.

Also made the FTL backend be more tolerant of data representations. In this case it
didn't know that "constant" was a valid representation. There is a finite set of
possible representations, but broadly, we don't write code that presumes anything
about the representation of an input; that's what methods like lowJSValue() are for.
ValueToInt32 was previously not relying on those methods at all because it had some
hacks. Now, those hacks are just a fast-path optimization but ultimately we fall down
to lowJSValue().

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):

  • tests/stress/value-to-int32-undefined-constant.js: Added.

(foo):

  • tests/stress/value-to-int32-undefined.js: Added.

(foo):

5:21 PM Changeset in webkit [166029] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.

Rubber-stamped by Tim Horton.

  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::cancelComposition):

Use a correct type for reply (it's really the same type, but ConfirmComposition
is behind an ifdef, and not available).

5:10 PM Changeset in webkit [166028] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add some assertions back
https://bugs.webkit.org/show_bug.cgi?id=130531

Reviewed by Geoffrey Garen.

We removed a useful set of assertions for verifying that MarkedBlocks were
in the state that we expected them to be in after clearing marks in the Heap.
We should add these back to catch bugs earlier.

  • heap/MarkedBlock.h:
  • heap/MarkedSpace.cpp:

(JSC::VerifyMarkedOrRetired::operator()):
(JSC::MarkedSpace::clearMarks):

5:07 PM Changeset in webkit [166027] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
https://bugs.webkit.org/show_bug.cgi?id=130544
<rdar://problem/16380296>

Reviewed by Tim Horton.

On iOS the selection is drawn in the UIProcess. If the WebProcess is
processing multiple requests within the same runloop, the caret could be
updated in the UIProcess before the WebProcess has had a chance to paint.
This change synchronizes the selection drawing with the tile update.

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

(-[WKContentView _didCommitLayerTree:WebKit::]):

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

(-[WKContentView _selectionChanged]):
(-[WKContentView _updateChangedSelection]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChangeSelection):

5:04 PM Changeset in webkit [166026] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
https://bugs.webkit.org/show_bug.cgi?id=130079
<rdar://problem/16286683>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):

Perform an early return for all paths that don't need a sandbox extension due to
access being assumed, not only for WebInspector pages.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::hasAssumedReadAccessToURL):
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):

  • UIProcess/WebProcessProxy.h:

Factored out m_localPathsWithAssumedReadAccess iteration to a public function.

5:03 PM Changeset in webkit [166025] by Csaba Osztrogonác
  • 4 edits in trunk/Source/WebKit2

Unreviewed buildfix after r165983 for non Cocoa platforms.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPreferences.cpp:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:
5:03 PM Changeset in webkit [166024] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

Removing unused variable.

  • page/FrameView.cpp:

(WebCore::FrameView::didPaintContents):

4:55 PM Changeset in webkit [166023] by Beth Dakin
  • 2 edits in trunk/Source/WebKit

Speculative build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
4:47 PM Changeset in webkit [166022] by Brent Fulgham
  • 16 edits
    16 moves in trunk

Rename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
https://bugs.webkit.org/show_bug.cgi?id=130543

Reviewed by Dean Jackson.

Merged from Blink (patch by philipj@opera.com):
https://chromium.googlesource.com/chromium/blink/+/69ee6d3399d64163e4936ac1bde222036c54c4b8
http://crbug.com/55653003

Source/WebCore:

Tests: media/track/regions-webvtt/vtt-region-constructor.html

media/track/regions-webvtt/vtt-region-display.html
media/track/regions-webvtt/vtt-region-dom-layout.html
media/track/regions-webvtt/vtt-region-list.html
media/track/regions-webvtt/vtt-region-parser.html

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::newRegionsAvailable):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::ensureVTTRegionList):
(WebCore::TextTrack::regions):
(WebCore::TextTrack::addRegion):
(WebCore::TextTrack::removeRegion):

  • html/track/TextTrack.h:
  • html/track/TextTrack.idl:
  • html/track/TextTrackCue.cpp:
  • html/track/TextTrackRegion.cpp: Removed.
  • html/track/TextTrackRegion.h: Removed.
  • html/track/TextTrackRegion.idl: Removed.
  • html/track/TextTrackRegionList.cpp: Removed.
  • html/track/TextTrackRegionList.h: Removed.
  • html/track/TextTrackRegionList.idl: Removed.
  • html/track/VTTCue.cpp:

(WebCore::VTTCue::removeDisplayTree):

  • html/track/VTTRegion.cpp: Copied from Source/WebCore/html/track/TextTrackRegion.cpp.

(WebCore::VTTRegion::VTTRegion):
(WebCore::VTTRegion::~VTTRegion):
(WebCore::VTTRegion::setTrack):
(WebCore::VTTRegion::setId):
(WebCore::VTTRegion::setWidth):
(WebCore::VTTRegion::setHeight):
(WebCore::VTTRegion::setRegionAnchorX):
(WebCore::VTTRegion::setRegionAnchorY):
(WebCore::VTTRegion::setViewportAnchorX):
(WebCore::VTTRegion::setViewportAnchorY):
(WebCore::VTTRegion::scroll):
(WebCore::VTTRegion::setScroll):
(WebCore::VTTRegion::updateParametersFromRegion):
(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::getSettingFromString):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::parseSetting):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):
(WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
(WebCore::VTTRegion::textTrackRegionShadowPseudoId):
(WebCore::VTTRegion::appendTextTrackCueBox):
(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):
(WebCore::VTTRegion::getDisplayTree):
(WebCore::VTTRegion::prepareRegionDisplayTree):
(WebCore::VTTRegion::startTimer):
(WebCore::VTTRegion::stopTimer):
(WebCore::VTTRegion::scrollTimerFired):

  • html/track/VTTRegion.h: Copied from Source/WebCore/html/track/TextTrackRegion.h.

(WebCore::VTTRegion::create):

  • html/track/VTTRegion.idl: Copied from Source/WebCore/html/track/TextTrackRegion.idl.
  • html/track/VTTRegionList.cpp: Copied from Source/WebCore/html/track/TextTrackRegionList.cpp.

(WebCore::VTTRegionList::VTTRegionList):
(WebCore::VTTRegionList::length):
(WebCore::VTTRegionList::item):
(WebCore::VTTRegionList::getRegionById):
(WebCore::VTTRegionList::add):
(WebCore::VTTRegionList::remove):
(WebCore::VTTRegionList::clear):

  • html/track/VTTRegionList.h: Copied from Source/WebCore/html/track/TextTrackRegionList.h.

(WebCore::VTTRegionList::create):
(WebCore::VTTRegionList::~VTTRegionList):

  • html/track/VTTRegionList.idl: Copied from Source/WebCore/html/track/TextTrackRegionList.idl.
  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::getNewRegions):
(WebCore::WebVTTParser::createNewRegion):

  • html/track/WebVTTParser.h:
  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::getNewRegions):

  • loader/TextTrackLoader.h:

LayoutTests:

  • media/track/regions-webvtt/text-track-cue-region-attribute.html:
  • media/track/regions-webvtt/text-track-region-constructor-expected.txt: Removed.
  • media/track/regions-webvtt/text-track-region-constructor.html: Removed.
  • media/track/regions-webvtt/text-track-region-display-expected.txt: Removed.
  • media/track/regions-webvtt/text-track-region-display.html: Removed.
  • media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Removed.
  • media/track/regions-webvtt/text-track-region-dom-layout.html: Removed.
  • media/track/regions-webvtt/text-track-region-list-expected.txt: Removed.
  • media/track/regions-webvtt/text-track-region-list.html: Removed.
  • media/track/regions-webvtt/text-track-region-parser-expected.txt: Removed.
  • media/track/regions-webvtt/text-track-region-parser.html: Removed.
  • media/track/regions-webvtt/vtt-region-constructor-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor-expected.txt.
  • media/track/regions-webvtt/vtt-region-constructor.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor.html.
  • media/track/regions-webvtt/vtt-region-display-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display-expected.txt.
  • media/track/regions-webvtt/vtt-region-display.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display.html.
  • media/track/regions-webvtt/vtt-region-dom-layout-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout-expected.txt.
  • media/track/regions-webvtt/vtt-region-dom-layout.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout.html.
  • media/track/regions-webvtt/vtt-region-list-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list-expected.txt.
  • media/track/regions-webvtt/vtt-region-list.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list.html.
  • media/track/regions-webvtt/vtt-region-parser-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser-expected.txt.
  • media/track/regions-webvtt/vtt-region-parser.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser.html.
4:43 PM Changeset in webkit [166021] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • page/FrameView.cpp:

(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):

4:39 PM Changeset in webkit [166020] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix build.

  • MigrateHeaders.make:
4:31 PM Changeset in webkit [166019] by hmuller@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Shapes] clamp RasterShape shapeMargin to reference box size
https://bugs.webkit.org/show_bug.cgi?id=130350

Reviewed by Dean Jackson.

Source/WebCore:

Corrected the way the maximum shape-margin value was computed for image valued
shapes. The limiting case is an image with just one above threshold pixel. The
largest possible value for shapeMargin is the radius of a circle that encloses
the size of the shape-outside element's margin-box, since the shape-outside's
boundary is clipped to the margin-box. The radius is just sqrt(2) * the margin-box's
largest dimension.

Also cleaned up up a few poorly named parameters.

Test: fast/shapes/shape-outside-floats/shape-outside-one-pixel.html

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShape::marginIntervals):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShape::RasterShape):

  • rendering/shapes/Shape.h:

LayoutTests:

Verify that a very large shape-margin value combined with a very small
shape-outside image defines a shape that matches the shape-outside
element's margin-box.

  • fast/shapes/shape-outside-floats/shape-outside-one-pixel-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-one-pixel.html: Added.
4:30 PM Changeset in webkit [166018] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Build fix.

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

4:19 PM Changeset in webkit [166017] by Beth Dakin
  • 25 edits
    4 adds in trunk

Implement contentInset for Mac WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130273

Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for topContentInset(). If a page has a topContentInset(),
the root layer’s position is adjusted to account for the inset. It is assumed that
the area accounted for by the inset is visible but obscured, so scrollbars need to
be moved so that they only cover the non-obscured area, and most parts of WebCore
that wonder about visibleContentSize only care about the unobscured area, so this
patch makes that visibleContentRect return the unobscuredRect. Finally since this
is achieved by moving a layer’s position, the topContentInset() also needs to be
factored into various functions that are used to convert between coordinate
spaces.

Return Page::topContentInset() if this is the main frame.

  • page/FrameView.cpp:

(WebCore::FrameView::topContentInset):

  • page/FrameView.h:

Cache the inset on Page.

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::topContentInset):
(WebCore::Page::setTopContentInset):

unobscuredContentRect() used to unconditionally return visibleContentRect() on
non-iOS platforms. Now that it is possible for some technically visible content to
be obscured, this code needed to be re-worked a bit to make some more sense.
visibleContentRect() now represents that visible content that is completely
unobscured, so it should call into unobscuredContentRect() rather than the other
way around.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::unobscuredContentRect):

unscaledTotalVisibleContentSize() includes the size of all content that might be
visible. Some of this content might be obscured.
(WebCore::ScrollView::unscaledTotalVisibleContentSize):

Most of the time, we only care about the content that is FULLY visible. That is
what you get from unscaledUnobscuredVisibleContentSize().
(WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):

Use the unobscured size for these computations.
(WebCore::ScrollView::visibleContentRectInternal):
(WebCore::ScrollView::layoutSize):

Factor in the topContentInset().
(WebCore::ScrollView::scrollOffsetRelativeToDocument):
(WebCore::ScrollView::scrollPositionRelativeToDocument):

The scrollbars should be positioned to cover the non-obscured content only.
(WebCore::ScrollView::updateScrollbars):

Again, factor the topContentInset() into these conversions since the root layer’s
position has been adjusted to account for it.
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::contentsToWindow):

Just like the scrollbars, the scroll corner must be moved the account for the

inset.
(WebCore::ScrollView::scrollCornerRect):

  • platform/ScrollView.h:

(WebCore::ScrollView::topContentInset):

RenderLayerCompositor cares about unscaledTotalVisibleContentSize(). It does not
care if some of that content is obscured.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):

Move the root layer’s position based on the contentInset.
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::ensureRootLayer):

Allow setting contentInset via Internals for testing purposes.

  • testing/Internals.cpp:

(WebCore::Internals::setTopContentInset):

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

Source/WebKit2:

This patch adds WKView API for setting a topContentInset(). All of this work gets
that number plumbed down to WebCore.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setTopContentInset):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::topContentInset):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setTopContentInset):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

LayoutTests:

Add two tests for hit-testing with a topContentInset.

  • platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html: Added.
  • platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html: Added.
4:16 PM Changeset in webkit [166016] by lvidacs.u-szeged@partner.samsung.com
  • 4 edits
    5 adds in trunk

Optimize RenderTable::colToEffCol() for tables without colspans
https://bugs.webkit.org/show_bug.cgi?id=129298

Reviewed by Simon Fraser.

Create an alternative fast path to RenderTable colToEffCol() and effColToCol()
when there is no colspan or colspan does not exceed the width of table.
Blink merge https://codereview.chromium.org/154243002 by rhogan

PerformanceTests:

  • Layout/large-table-with-collapsed-borders-and-colspans-wider-than-table.html: Added.
  • Layout/large-table-with-collapsed-borders-and-colspans.html: Added.
  • Layout/large-table-with-collapsed-borders-and-no-colspans.html: Added.
  • Layout/resources/large-table-with-collapsed-borders.css: Added.
  • Layout/resources/large-table-with-collapsed-borders.js: Added.

Source/WebCore:

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::appendColumn):
(WebCore::RenderTable::recalcSections):

  • rendering/RenderTable.h:

(WebCore::RenderTable::colToEffCol):
(WebCore::RenderTable::effColToCol):
(WebCore::RenderTable::hasCellColspanThatDeterminesTableWidth):

4:14 PM Changeset in webkit [166015] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

FrameView::paintContents() is not called for composited content
https://bugs.webkit.org/show_bug.cgi?id=130541

Reviewed by Beth Dakin.

FrameView::paintContents() is not called for frames that have
composited contents, yet it contains code that is expected
to run for all Frames.

Fix by factoring into will/didPaintContents(), and calling
the will/did functions from RenderLayerBacking::paintIntoLayer().

Also add a SetLayoutNeededForbiddenScope check for composited-layer
painting.

  • page/FrameView.cpp:

(WebCore::FrameView::updateControlTints):
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::paintContents):

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

(WebCore::RenderLayerBacking::paintIntoLayer):

4:09 PM Changeset in webkit [166014] by matthew_hanson@apple.com
  • 5 edits
    4 copies in branches/safari-537.75-branch

Merge r165821.

4:08 PM Changeset in webkit [166013] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Implement stackmap header version check and support new stackmap formats
https://bugs.webkit.org/show_bug.cgi?id=130535
<rdar://problem/16164284>

Reviewed by Geoffrey Garen.

Add the notion of versioning so that LLVMers can happily implement new stackmap formats
without worrying about WebKit getting version-locked to LLVM. In the future, we will have
to implement parsing for a new LLVM stackmap format before it lands in LLVM, or we'll have
to have a "max usable LLVM revision" limit. But, thanks to versioning, we'll always be
happy to move backward in time to older versions of LLVM.

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::readObject):
(JSC::FTL::StackMaps::Constant::parse):
(JSC::FTL::StackMaps::StackSize::parse):
(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Record::parse):
(JSC::FTL::StackMaps::parse):
(JSC::FTL::StackMaps::dump):
(JSC::FTL::StackMaps::dumpMultiline):

  • ftl/FTLStackMaps.h:
4:07 PM Changeset in webkit [166012] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix 32-bit build.

  • UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
4:03 PM Changeset in webkit [166011] by andersca@apple.com
  • 9 edits
    3 copies in trunk/Source/WebKit2

Make WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=130537

Reviewed by Tim Horton.

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

(-[WKProcessPool init]):
(-[WKProcessPool dealloc]):
(-[WKProcessPool description]):
(-[WKProcessPool _configuration]):
(-[WKProcessPool API::]):
(-[WKProcessPool _initWithConfiguration:]):

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

(-[WKProcessPoolConfiguration _injectedBundleURL]):
(-[WKProcessPoolConfiguration _setInjectedBundleURL:]):

  • UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPoolInternal.h:
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPoolToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(-[WKProcessPool initWithConfiguration:]):
(-[WKProcessPool configuration]):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h.
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm.

(-[_WKProcessPoolConfiguration injectedBundleURL]):
(-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
(-[_WKProcessPoolConfiguration description]):
(-[_WKProcessPoolConfiguration copyWithZone:]):

  • WebKit2.xcodeproj/project.pbxproj:
3:53 PM Changeset in webkit [166010] by timothy@apple.com
  • 1 edit in trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig

Attempt to fix the Production build again.

3:33 PM Changeset in webkit [166009] by Brent Fulgham
  • 2 edits
    5 adds in trunk/LayoutTests

Add a flushing mechanism for the WebVTTParser
https://bugs.webkit.org/show_bug.cgi?id=130532

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
http://crbug.com/54203003
https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
http://crbug.com/59453002
https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
http://crbug.com/75233002
https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
http://crbug.com/52713005
https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
http://crbug.com/64303004
https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
http://crbug.com/96933004
https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
http://crbug.com/98783005
https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
http://crbug.com/104713002

  • http/tests/media/track: Added.
  • http/tests/media/track/track-webvtt-slow-loading-2-expected.txt: Added.
  • http/tests/media/track/track-webvtt-slow-loading-2.html: Added.
  • http/tests/media/track/track-webvtt-slow-loading.html: Added.
  • media/track/captions-webvtt/captions-multiline-lf.vtt: Added.
  • media/track/track-webvtt-tc023-markup.html:
3:24 PM Changeset in webkit [166008] by matthew_hanson@apple.com
  • 4 edits
    2 copies in branches/safari-537.75-branch

Merge r165921.

3:21 PM Changeset in webkit [166007] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the Mountain Lion build.

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::setIsPurgeable):

3:14 PM Changeset in webkit [166006] by BJ Burg
  • 13 edits
    2 adds in trunk

Web Replay: capture and replay mouse events
https://bugs.webkit.org/show_bug.cgi?id=129395

Reviewed by Joseph Pecoraro.

.:

Create a manual test for capture/replay of mouse events.
Copy over the crypto-md5.js library from SunSpider.

  • ManualTests/inspector/replay-mouse-events.html: Added.
  • ManualTests/inspector/resources/crypto-md5.js: Added.

Source/WebCore:

Add support for capturing and replaying mouse inputs that come from WebKit2.
Hook up the UserInputBridge to session state changes in the ReplayController so
that the bridge knows when to capture or deny mouse inputs.

Test: ManualTests/inspector/replay-mouse-events.html

  • platform/PlatformEvent.h: Give explicit storage types to Modifiers and Type enums

so they can be forward-declared.

  • platform/PlatformMouseEvent.h: Give an explicit storage type to enum MouseButton.

Add operator== and operator!= for MouseButton to work around an MSVC bug.

  • replay/ReplayController.cpp: Perform session state changes in a helper function, and

at the same time change the state of the page's user input bridge.
(WebCore::ReplayController::setSessionState):
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::startPlayback):
(WebCore::ReplayController::cancelPlayback):

  • replay/ReplayInputDispatchMethods.cpp: Add dispatch methods for new inputs.

(WebCore::HandleMouseMove::dispatch):
(WebCore::HandleMousePress::dispatch):
(WebCore::HandleMouseRelease::dispatch):

  • replay/SerializationMethods.cpp: Add helper macros so that encode/decode methods look

symmetric with one data member per line. This helps reduce unintentional inconsistencies.
(JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Added.
(JSC::EncodingTraits<PlatformMouseEvent>::decodeValue): Added.

  • replay/SerializationMethods.h:
  • replay/UserInputBridge.cpp: Fill in the bridge method implementations for mouse

events, adding helpers and macros as necessary to reduce boilerplate.
(WebCore::UserInputBridge::activeCursor): Added.
(WebCore::UserInputBridge::handleMousePressEvent):
(WebCore::UserInputBridge::handleMouseReleaseEvent):
(WebCore::UserInputBridge::handleMouseMoveEvent):
(WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):

  • replay/UserInputBridge.h: Add a bridge state enum along with getters and setters.

The enum value controls whether the bridge should capture commands, deny non-synthetic
commands (from the user), or allow anything to pass (the default).
(WebCore::UserInputBridge::setState): Added.
(WebCore::UserInputBridge::state): Added.

  • replay/WebInputs.json: Add inputs HandleMouseMove, HandleMousePress, HandleMouseRelease.

Add enum definitions for PlatformEvent::Type, PlatformEvent::Modifiers, and PlatformMouseEvent::MouseButton.
Alphabetize the existing data type definitions.

3:06 PM Changeset in webkit [166005] by timothy_horton@apple.com
  • 15 edits
    2 adds in trunk/Source

Add WebCore::IOSurface wrapper
https://bugs.webkit.org/show_bug.cgi?id=130529

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cg/ColorCG.cpp:
  • platform/graphics/cg/GraphicsContextCG.h:

(WebCore::cachedCGColorSpace):
Move cachedCGColorSpace out so that other clients of GraphicsContextCG
can use its mapping from WebCore::ColorSpace -> CGColorSpaceRef.

  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
  • platform/graphics/cg/ImageBufferCG.cpp:

Add FIXMEs for ImageBuffer to adopt WebCore::IOSurface.

  • platform/graphics/cocoa/IOSurface.h: Added.
  • platform/graphics/cocoa/IOSurface.mm: Added.

(IOSurface::create):
(IOSurface::createFromMachPort):
(IOSurface::createFromSurface):
(IOSurface::IOSurface):
(IOSurface::maximumSize):
(IOSurface::createMachPort):
(IOSurface::createImage):
(IOSurface::ensurePlatformContext):
(IOSurface::ensureGraphicsContext):
(IOSurface::state):
(IOSurface::isPurgeable):
(IOSurface::setIsPurgeable):
(IOSurface::inUse):
Add WebCore::IOSurface.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
(RemoteLayerBackingStore::display):
(RemoteLayerBackingStore::applyBackingStoreToLayer):

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewSnapshotStore.h:
  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::createIOSurfaceFromImage):
(WebKit::ViewSnapshotStore::recordSnapshot):
Adopt WebCore::IOSurface.

2:53 PM Changeset in webkit [166004] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after r165992.

  • generate-export-file:

(preprocessorMacros):

2:19 PM Changeset in webkit [166003] by thiago.lacerda@openbossa.org
  • 6 edits
    2 copies
    2 moves in trunk/Source/WebCore

[WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
https://bugs.webkit.org/show_bug.cgi?id=130434

Reviewed by Eric Carlson.

Those classes are defined in WebRTC spec, so they should not be in platform layer.
Adding a platform implementation to be passed to handler classes.

  • Modules/mediastream/RTCConfiguration.h: Copied from Source/WebCore/platform/mediastream/RTCConfiguration.h.
  • Modules/mediastream/RTCIceServer.h: Copied from Source/WebCore/platform/mediastream/RTCIceServer.h.
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::updateIce):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RTCConfigurationPrivate.h: Added.
  • platform/mediastream/RTCIceServerPrivate.h: Added.
  • platform/mediastream/RTCPeerConnectionHandler.h:
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::initialize):
(WebCore::RTCPeerConnectionHandlerMock::updateIce):

  • platform/mock/RTCPeerConnectionHandlerMock.h:
2:17 PM Changeset in webkit [166002] by ap@apple.com
  • 9 edits in trunk/Source/WebKit2

Update iOS input method code to use new cross-platform async functions
https://bugs.webkit.org/show_bug.cgi?id=130530

Reviewed by Enrica Casucci.

Merge identical iOS and cross-platform functions.

Also tightened up ifdefs, and removed stub iOS implementations of sync methods,
which hopefully won't be ever needed. The only tricky case is sync cancelComposition,
will I'll investigate separately.

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

(-[WKContentView setMarkedText:selectedRange:]):
(-[WKContentView unmarkText]):
(-[WKContentView insertText:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::cancelComposition):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::cancelComposition):
(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):

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

(WebKit::WebPage::cancelComposition):
(WebKit::WebPage::insertDictatedTextAsync):
(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):

2:15 PM Changeset in webkit [166001] by alex.christensen@flexsim.com
  • 7 edits in trunk/Source/WebCore

[WinCairo] Unreviewed speculative build after my r165996.

  • platform/network/soup/AuthenticationChallengeSoup.cpp:
  • platform/network/soup/CertificateInfo.cpp:
  • platform/network/soup/CookieJarSoup.cpp:
  • platform/network/soup/ResourceRequestSoup.cpp:
  • platform/network/soup/ResourceResponseSoup.cpp:
  • platform/network/soup/SynchronousLoaderClientSoup.cpp:
2:12 PM Changeset in webkit [166000] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
https://bugs.webkit.org/show_bug.cgi?id=130526
<rdar://problem/16371612>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]): Cut custom

processing short whenever we are redispatching an event, not just when the event
we are handling is the one being redispatched. There shouldn't be any other unrelated
events here, just the one being redispatched and synthetic ones generated from it by AppKit.

2:05 PM Changeset in webkit [165999] by barraclough@apple.com
  • 28 edits in trunk/Source

Source/JavaScriptCore: Crash beneath operationTearOffActivation running this JS compression demo
https://bugs.webkit.org/show_bug.cgi?id=130295
<rdar://problem/16332337>

Patch by Filip Pizlo <fpizlo@apple.com> on 2014-03-20
Reviewed by Oliver Hunt.

Make sure that we flush things as if we were at a terminal, if we are at a block with
no forward edges. This fixes infinitely loopy code with captured variables.

Make sure that the CFG simplifier adds explicit flushes whenever it jettisons a block.

Make it so that NodeIsFlushed is a thing. Previously only SSA used it and it computed
it by itself. Now it's an artifact of CPS rethreading.

Add a bunch of tests. All of them previously either crashed or returned bad output due
to memory corruption.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::isCaptured):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::flushForReturn):
(JSC::DFG::ByteCodeParser::flushIfTerminal):
(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalOp):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalEdge):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::clearFlagsOnAllNodes):

  • dfg/DFGGraph.h:
  • dfg/DFGNode.h:
  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • tests/stress/activation-test-loop.js: Added.

(Inner.this.doStuff):
(Inner):
(foo.inner.isDone):
(foo):

  • tests/stress/inferred-infinite-loop-that-uses-captured-variables.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.

(bar):
(fuzz):
(foo.f):
(foo):

  • tests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.

(bar):
(foo.f):
(foo):

  • tests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.

(bar):
(foo.f):
(foo):

  • tests/stress/tricky-infinite-loop-that-uses-captured-variables.js: Added.

(bar):
(foo):
(noInline):

Source/WTF: Remove IdentifierTable typedef, isIdentifier()
https://bugs.webkit.org/show_bug.cgi?id=130533

Rubber stamped by Geoff Garen.

Code should use AtomicStringTable, isAtomic() directly.

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::setCurrentAtomicStringTable):
(WTF::WTFThreadData::resetCurrentAtomicStringTable):

  • removed IdentifierTypedef.
  • wtf/text/StringImpl.h:

(WTF::StringImpl::flagIsAtomic):

  • renamed flagIsIdentfier -> flagIsAtomic.
2:02 PM Changeset in webkit [165998] by eric.carlson@apple.com
  • 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm

[iOS] asynchronous media callbacks should happen on the web thread
https://bugs.webkit.org/show_bug.cgi?id=130536

Reviewed by Jer Noble.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability): Use callOnMainThread

instead of dispatch_async(dispatch_get_main_queue()).

1:59 PM Changeset in webkit [165997] by Brent Fulgham
  • 11 edits
    2 adds in trunk/Source/WebCore

Add a flushing mechanism for the WebVTTParser
https://bugs.webkit.org/show_bug.cgi?id=130532

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
http://crbug.com/54203003
https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
http://crbug.com/59453002
https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
http://crbug.com/75233002
https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
http://crbug.com/52713005
https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
http://crbug.com/64303004
https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
http://crbug.com/96933004
https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
http://crbug.com/98783005
https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
http://crbug.com/104713002

Tests: http/tests/media/track/track-webvtt-slow-loading-2.html

http/tests/media/track/track-webvtt-slow-loading.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/track/BufferedLineReader.cpp: Added.
  • html/track/BufferedLineReader.h: Added.
  • html/track/TextTrackRegion.cpp:
  • html/track/VTTCue.cpp:
  • html/track/WebVTTParser.cpp:
  • html/track/WebVTTParser.h:
  • loader/TextTrackLoader.cpp:
1:55 PM Changeset in webkit [165996] by alex.christensen@flexsim.com
  • 32 edits in trunk/Source/WebCore

Preparation for using Soup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=130472

Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Added Soup source to build on WinCairo.

  • platform/network/curl/CookieJarCurl.cpp:
  • platform/network/curl/CredentialStorageCurl.cpp:
  • platform/network/curl/CurlCacheEntry.cpp:
  • platform/network/curl/CurlCacheManager.cpp:
  • platform/network/curl/CurlDownload.cpp:
  • platform/network/curl/DNSCurl.cpp:
  • platform/network/curl/FormDataStreamCurl.cpp:
  • platform/network/curl/MultipartHandle.cpp:
  • platform/network/curl/ProxyServerCurl.cpp:
  • platform/network/curl/ResourceHandleCurl.cpp:
  • platform/network/curl/ResourceHandleManager.cpp:
  • platform/network/curl/SSLHandle.cpp:
  • platform/network/curl/SocketStreamHandleCurl.cpp:

Protected with USE(CURL) to avoid duplicate symbols when linking.

  • platform/network/soup/AuthenticationChallengeSoup.cpp:
  • platform/network/soup/CertificateInfo.cpp:
  • platform/network/soup/CookieJarSoup.cpp:
  • platform/network/soup/CookieStorageSoup.cpp:
  • platform/network/soup/CredentialStorageSoup.cpp:
  • platform/network/soup/DNSSoup.cpp:
  • platform/network/soup/NetworkStorageSessionSoup.cpp:
  • platform/network/soup/ProxyResolverSoup.cpp:
  • platform/network/soup/ProxyServerSoup.cpp:
  • platform/network/soup/ResourceErrorSoup.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/network/soup/ResourceRequestSoup.cpp:
  • platform/network/soup/ResourceResponseSoup.cpp:
  • platform/network/soup/SocketStreamHandleSoup.cpp:
  • platform/network/soup/SoupNetworkSession.cpp:
  • platform/network/soup/SynchronousLoaderClientSoup.cpp:

Protected with USE(CURL) to avoid duplicate symbols when linking.

1:53 PM Changeset in webkit [165995] by fpizlo@apple.com
  • 12 edits
    10 adds in trunk/Source/JavaScriptCore

Crash beneath operationTearOffActivation running this JS compression demo
https://bugs.webkit.org/show_bug.cgi?id=130295
<rdar://problem/16332337>

Reviewed by Oliver Hunt.

Make sure that we flush things as if we were at a terminal, if we are at a block with
no forward edges. This fixes infinitely loopy code with captured variables.

Make sure that the CFG simplifier adds explicit flushes whenever it jettisons a block.

Make it so that NodeIsFlushed is a thing. Previously only SSA used it and it computed
it by itself. Now it's an artifact of CPS rethreading.

Add a bunch of tests. All of them previously either crashed or returned bad output due
to memory corruption.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::isCaptured):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::flushForReturn):
(JSC::DFG::ByteCodeParser::flushIfTerminal):
(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalOp):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalEdge):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::clearFlagsOnAllNodes):

  • dfg/DFGGraph.h:
  • dfg/DFGNode.h:
  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • tests/stress/activation-test-loop.js: Added.

(Inner.this.doStuff):
(Inner):
(foo.inner.isDone):
(foo):

  • tests/stress/inferred-infinite-loop-that-uses-captured-variables.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/infinite-loop-that-uses-captured-variables.js: Added.

(bar):
(foo):
(noInline):

  • tests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.

(bar):
(fuzz):
(foo.f):
(foo):

  • tests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.

(bar):
(foo.f):
(foo):

  • tests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.

(bar):
(foo.f):
(foo):

  • tests/stress/tricky-infinite-loop-that-uses-captured-variables.js: Added.

(bar):
(foo):
(noInline):

1:49 PM Changeset in webkit [165994] by alex.christensen@flexsim.com
  • 3 edits in trunk/Source/WebKit

Build fixes for Win64.
https://bugs.webkit.org/show_bug.cgi?id=130481

Reviewed by Brent Fulgham.

  • WebKit.vcxproj/WebKit.sln:

Don't build ANGLE projects for now, corrected build configurations,
and build WebInspectorUI.

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

Added 64-bit linker symbol.

1:41 PM Changeset in webkit [165993] by andersca@apple.com
  • 3 edits
    1 move in trunk/Source/WebKit2

Fix build.

Rename WKPreferencesPrivate.h to WKPreferencesRefPrivate.h.

  • UIProcess/API/C/WKPreferencesRefPrivate.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h.
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • WebKit2.xcodeproj/project.pbxproj:
1:38 PM BuildingGtk edited by Martin Robinson
(diff)
1:30 PM Changeset in webkit [165992] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after r165979.

  • generate-export-file:

(preprocessorMacros):

1:26 PM Changeset in webkit [165991] by hyatt@apple.com
  • 11 edits
    4 adds in trunk

[New Multicolumn] getClientRects returns wrong rectangle
https://bugs.webkit.org/show_bug.cgi?id=128614

Reviewed by Sam Weinig.

Added fast/multicol/newmulticol/client-rects.html and beefed up existing
fast/multicol/client-rects.html to use more writing modes.

Source/WebCore:

  • rendering/LayoutState.h:

Removed unused function.

  • rendering/RenderFlowThread.h:

Make mapFlowToRegion virtual so that RenderMultiColumnFlowThread can
override it.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):

  • rendering/RenderMultiColumnFlowThread.h:

Implement mapFlowToRegion to correctly translate a flow thread position
into a column offset within a region.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):

  • rendering/RenderMultiColumnSet.h:

Refactored some code to make a columnTranslationForOffset helper that
can be used by RenderMultiColumnFlowThread.

LayoutTests:

  • fast/multicol/client-rects.html:
  • fast/multicol/newmulticol/client-rects-expected.html: Added.
  • fast/multicol/newmulticol/client-rects.html: Added.
  • platform/mac/fast/multicol/client-rects-expected.png:
  • platform/mac/fast/multicol/client-rects-expected.txt:
1:03 PM Changeset in webkit [165990] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

Merge AtomicString, Identifier
https://bugs.webkit.org/show_bug.cgi?id=128624

Unreviewed build fix following r165982.

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:
    • update includes.
1:01 PM Changeset in webkit [165989] by oliver@apple.com
  • 4 edits
    2 adds in trunk

Incorrect behavior when mutating a typed array during set.
https://bugs.webkit.org/show_bug.cgi?id=130428

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This fixes a null derefence that occurs if a typed array
is mutated during the set() operation. The patch gets rid
of the "Quickly" version of setIndex that is assigning
JSValues of unknown type, as the numeric conversion can trigger
side effects that lead to neutering, and so we deref null.

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView::setIndex):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::set):
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):

LayoutTests:

Test behaviour of TypedArray.set(array) when we neuter the array.

  • js/typed-array-mutated-during-set-expected.txt: Added.
  • js/typed-array-mutated-during-set.html: Added.
12:59 PM Changeset in webkit [165988] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
https://bugs.webkit.org/show_bug.cgi?id=130527

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-20
Reviewed by Timothy Hatcher.

Instead of using body.javascript to force a collapsed style,
actually use the toolbar's collapsed class.

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar.collapsed .dashboard-container):

  • UserInterface/Views/Toolbar.js:
12:46 PM Changeset in webkit [165987] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: probe sidebar should use overflow:scroll and split space evenly
https://bugs.webkit.org/show_bug.cgi?id=129627

Patch by Katie Madonna <madonnk@gmail.com> on 2014-03-20
Reviewed by Timothy Hatcher.

Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
format, remove scrollbar styles from old timelapse branch.

  • UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox

and make collapse correctly, remove scrollbar style.

  • UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.
12:34 PM Changeset in webkit [165986] by dbates@webkit.org
  • 6 edits
    2 adds in trunk

Preserve original document URL for XSSAuditor reports

Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=158406

Source/WebCore:

Test: http/tests/security/xssAuditor/report-script-tag-replace-state.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::filterToken):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::buildConsoleError):
(WebCore::XSSAuditorDelegate::generateViolationReport):
(WebCore::XSSAuditorDelegate::didBlockScript):

  • html/parser/XSSAuditorDelegate.h:

(WebCore::XSSInfo::XSSInfo):

LayoutTests:

  • http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt: Added.
  • http/tests/security/xssAuditor/report-script-tag-replace-state.html: Added.
  • http/tests/security/xssAuditor/resources/echo-intertag.pl:
12:32 PM Changeset in webkit [165985] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130528

Reviewed by Anders Carlsson.

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

(IPC::Connection::getAuditToken):
Expose the audit data if available.

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Pass the audit data corresponding to the UIProcess.

12:32 PM Changeset in webkit [165984] by dbates@webkit.org
  • 5 edits
    2 adds in trunk

XSSAuditor bypass with frameset tags

Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=157794

Source/WebCore:

Test: http/tests/security/xssAuditor/frameset-injection.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::filterStartToken):
(WebCore::XSSAuditor::filterFrameToken):

  • html/parser/XSSAuditor.h:

LayoutTests:

  • http/tests/security/xssAuditor/frameset-injection-expected.txt: Added.
  • http/tests/security/xssAuditor/frameset-injection.html: Added.
  • http/tests/security/xssAuditor/resources/echo-intertag.pl:
12:31 PM Changeset in webkit [165983] by weinig@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

[Cocoa] Expose preference to enable telephone number detection
https://bugs.webkit.org/show_bug.cgi?id=130524

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _telephoneNumberDetectionIsEnabled]):
(-[WKPreferences _setTelephoneNumberDetectionIsEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesInternal.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
12:26 PM Changeset in webkit [165982] by barraclough@apple.com
  • 27 edits
    1 add in trunk/Source

Merge AtomicString, Identifier
https://bugs.webkit.org/show_bug.cgi?id=128624

Reviewed by Geoff Garen.

Source/JavaScriptCore:

WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
Identifer - that is one too many.

Remove Identifier in favour of AtomicString. Identifier had two interesting
mechanisms that we preserve.

(1) JSC API VMs each get their own string table, switch the string table on

API entry/exit.

(2) JSC caches a pointer to the string table on the VM to avoid a thread

specific access. Adds a new AtomicString::add method to support this.

  • API/JSAPIWrapperObject.mm:
    • updated includes.
  • JavaScriptCore.xcodeproj/project.pbxproj:
    • added IdentifierInlines.h.
  • inspector/JSInjectedScriptHostPrototype.cpp:
  • inspector/JSJavaScriptCallFramePrototype.cpp:
    • updated includes.
  • interpreter/CallFrame.h:

(JSC::ExecState::atomicStringTable):

  • added, used via AtomicString::add to avoid thread-specific access.
  • runtime/ConsolePrototype.cpp:
    • updated includes.
  • runtime/Identifier.cpp:

(JSC::Identifier::add):
(JSC::Identifier::add8):

  • vm->smallStrings.singleCharacterStringRep now returns Atomic strings, use AtomicString::add.
  • runtime/Identifier.h:

(JSC::Identifier::Identifier):

  • added ASSERTS.

(JSC::Identifier::add):

  • vm->smallStrings.singleCharacterStringRep now returns Atomic strings, use AtomicString::add.
  • runtime/IdentifierInlines.h: Added.

(JSC::Identifier::add):

  • moved from Identifier.h, use AtomicString::add.
  • runtime/JSCInlines.h:
    • added IdentifierInlines.h.
  • runtime/JSLock.h:
    • removed IdentifierTable.
  • runtime/PropertyNameArray.cpp:
    • updated includes.
  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::SmallStringsStorage):

  • ensure all single character strings are Atomic.
  • runtime/VM.cpp:

(JSC::VM::VM):

  • instantiate CommonIdentifiers with the correct AtomicStringTable set on thread data.
  • runtime/VM.h:

(JSC::VM::atomicStringTable):

  • added, used via AtomicString::add to avoid thread-specific access.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
    • exports no longer needed.

Source/WTF:

WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
Identifer - that is one too many.

Remove Identifier in favour of AtomicString. Identifier had two interesting
mechanisms that we preserve.

(1) JSC API VMs each get their own string table, switch the string table on

API entry/exit.

(2) JSC caches a pointer to the string table on the VM to avoid a thread

specific access. Adds a new AtomicString::add method to support this.

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • remove allocation of IdentifierTable.

(WTF::WTFThreadData::~WTFThreadData):

  • remove deletion of IdentifierTable.
  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::atomicStringTable):

  • table is now switched by JSC API, return the current table.

(WTF::WTFThreadData::currentIdentifierTable):

  • now returns the current AtomicStringTable.

(WTF::WTFThreadData::setCurrentIdentifierTable):

  • now sets the current AtomicStringTable.

(WTF::WTFThreadData::resetCurrentIdentifierTable):

  • now resets the AtomicStringTable.
  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::addSlowCase):

  • add without thread-specific access to access string table.
  • wtf/text/AtomicString.h:

(WTF::AtomicString::addWithStringTableProvider):

  • add without thread-specific access (used by JSC, string table provided by VM or ExecState).
  • wtf/text/AtomicStringTable.cpp:

(WTF::AtomicStringTable::create):

  • renamed m_atomicStringTable -> m_defaultAtomicStringTable.

(WTF::AtomicStringTable::~AtomicStringTable):
(WTF::AtomicStringTable::destroy):

  • clearing of table moved from AtomicStringTable::destroy to destructor.
  • wtf/text/AtomicStringTable.h:
    • added destructor.
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • Identifers no longer exist; no need to remove them from IdentifierTable.
  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):

  • removed s_hashFlagIsIdentifier.

(WTF::StringImpl::flagIsIdentifier):

  • s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.

(WTF::StringImpl::isIdentifier):

  • now synonymous to isAtomic().
  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::hashAndFlagsForEmptyUnique):

  • removed s_hashFlagIsIdentifier.
11:49 AM Changeset in webkit [165981] by BJ Burg
  • 12 edits in trunk/Source/WebCore

Web Replay: fix some oversights in the replay backend
https://bugs.webkit.org/show_bug.cgi?id=130435

Reviewed by Andreas Kling.

This functionality will be covered by tests in https://webkit.org/b/130145.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::playbackFinishedImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::playbackFinished):

  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::playbackFinished):

  • inspector/InspectorReplayAgent.h: Add a playbackFinished event to Inspector

instrumentation. This is fired by ReplayController when playback is cancelled or
playback of the final segment has completed.

  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::dispatchInputSoon): Fix wrong cast.
(WebCore::EventLoopInputDispatcher::dispatchInput): Ensure that m_dispatching is
false when m_running is false.

  • replay/EventLoopInputDispatcher.h: Distinguish 'dispaching' and 'running' in comments.

(WebCore::EventLoopInputDispatcher::isRunning): Added.

  • replay/FunctorInputCursor.h: Since the base class InputCursor is RefCounted, the

Functor subclass cannot be put into a unique_ptr. Add create() method instead.

  • replay/ReplayController.cpp:

(WebCore::ReplayController::loadSegmentAtIndex): Renamed from loadSegment(). Callers
now pass in the desired segment index rather than the segment itself. The index is
necessary to properly reset m_position after the segment is loaded.

(WebCore::ReplayController::startPlayback): Set the dispatcher's speed before run().
(WebCore::ReplayController::pausePlayback): Only pause the dispatcher if it's running.
(WebCore::ReplayController::cancelPlayback): Add playbackFinished instrumentation.
(WebCore::ReplayController::replayToPosition):
(WebCore::ReplayController::didDispatchFinalInput): If there are no more segments to load,
manually adjust the final m_position and defer to cancelPlayback to unload the segment.

  • replay/ReplayController.h:
  • replay/ReplaySessionSegment.cpp:

(WebCore::ReplaySessionSegment::createFunctorCursor):

  • replay/ReplaySessionSegment.h:
11:44 AM Changeset in webkit [165980] by stavila@adobe.com
  • 21 edits in trunk/LayoutTests

[CSS Regions] Cleanup scrollable regions tests
https://bugs.webkit.org/show_bug.cgi?id=130505

Reviewed by Mihnea Ovidenie.

Tests should only display red in case of failure. Purpose of the test should be very clearly stated.

  • fast/regions/scrollable-last-region-expected.html:
  • fast/regions/scrollable-last-region.html:
  • fast/regions/scrollable-regions-hit-testing-inside-expected.html:
  • fast/regions/scrollable-regions-hit-testing-inside.html:
  • fast/regions/scrollable-single-region-bt-expected.html:
  • fast/regions/scrollable-single-region-bt.html:
  • fast/regions/scrollable-single-region-expected.html:
  • fast/regions/scrollable-single-region-lr-expected.html:
  • fast/regions/scrollable-single-region-lr.html:
  • fast/regions/scrollable-single-region-relative-element-expected.html:
  • fast/regions/scrollable-single-region-relative-element.html:
  • fast/regions/scrollable-single-region-rl-expected.html:
  • fast/regions/scrollable-single-region-rl.html:
  • fast/regions/scrollable-single-region.html:
  • fast/regions/wheel-scroll-abspos-expected.html:
  • fast/regions/wheel-scroll-abspos.html:
  • fast/regions/wheel-scroll-expected.html:
  • fast/regions/wheel-scroll.html:
  • fast/regions/wheel-scrollable-single-region-expected.html:
  • fast/regions/wheel-scrollable-single-region.html:
11:40 AM Changeset in webkit [165979] by psolanki@apple.com
  • 16 edits in trunk/Source

[iOS] Get code to compile on older iOS versions
https://bugs.webkit.org/show_bug.cgi?id=130142
<rdar://problem/16302908>

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/mac/HTMLConverter.mm:

(_dateForString):

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::copyCookiesForURLWithFirstPartyURL):

  • platform/text/ios/LocalizedDateCache.mm:

(WebCore::LocalizedDateCache::calculateMaximumWidth):

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::LocaleMac):

Source/WebKit/mac:

  • History/WebHistory.mm:

(getDayBoundaries):

  • Plugins/WebPluginController.h:
  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(pluginView):

  • WebView/WebPreferences.mm:

(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]):

  • WebView/WebPreferencesPrivate.h:
11:34 AM Changeset in webkit [165978] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Followup build fix: AnimationBase.h needs to be private because
it's included by AnimationController.h.

  • WebCore.xcodeproj/project.pbxproj:
11:32 AM Changeset in webkit [165977] by Simon Fraser
  • 10 edits
    6 adds in trunk

A completed fill-forwards animation should not disable overlap testing
https://bugs.webkit.org/show_bug.cgi?id=130522
<rdar://problem/15862395>

Source/WebCore:

Reviewed by Dean Jackson.

Previously, if -webkit-transform was being keyframe-animated, and the
animation had fill-forwards, then we would continue to think that the
animation is running and turn off compositing overlap testing. This
caused some sites to keep too much backing store around.

Fix by having isRunning{Accelerated}AnimationOnRenderer take some flags
so that more specific questions about the running state can be asked.
For layer creation, keep using the same criteria as before (for now)
which includes paused and fill-forwards animations. For overlap testing,
don't include the fill-forwards test.

Tests: compositing/animation/filling-animation-overlap-at-end.html

compositing/animation/filling-animation-overlap.html
compositing/animation/layer-for-filling-animation.html

  • page/animation/AnimationBase.h:

(WebCore::AnimationBase::fillingForwards):
(WebCore::AnimationBase::inPausedState):
(WebCore::AnimationBase::isAnimatingProperty):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::isAnimatingProperty):

  • page/animation/CompositeAnimation.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):

LayoutTests:

Reviewed by Dean Jackson.

Tests that dump layer trees when a fill-forwards animation has finished,
both when the final keyframe causes overlap, and when it does not.

  • compositing/animation/filling-animation-overlap-at-end-expected.txt: Added.
  • compositing/animation/filling-animation-overlap-at-end.html: Added.
  • compositing/animation/filling-animation-overlap-expected.txt: Added.
  • compositing/animation/filling-animation-overlap.html: Added.
  • compositing/animation/layer-for-filling-animation-expected.txt: Added.
  • compositing/animation/layer-for-filling-animation.html: Added.
11:24 AM Changeset in webkit [165976] by krit@webkit.org
  • 9 edits in trunk

Canvas methods clip/fill/stroke should not except 0 argument
https://bugs.webkit.org/show_bug.cgi?id=130497

Reviewed by Dean Jackson.

Source/WebCore:

Do not allow nullable argument for fill/stroke/clip.

No new tests. Updated existing tests.

  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

Add more exception tests for fill/stroke/clip.

  • fast/canvas/canvas-clip-path-expected.txt:
  • fast/canvas/canvas-fill-path-expected.txt:
  • fast/canvas/canvas-stroke-path-expected.txt:
  • fast/canvas/script-tests/canvas-clip-path.js:
  • fast/canvas/script-tests/canvas-fill-path.js:
  • fast/canvas/script-tests/canvas-stroke-path.js:
11:22 AM Changeset in webkit [165975] by zandobersek@gmail.com
  • 8 edits in trunk

[GTK][CMake] Add support for building with Clang
https://bugs.webkit.org/show_bug.cgi?id=130260

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: Run the generate-gtkdoc script with the CFLAGS env set

to the list C compiler flags as constructed by CMake.

  • Source/cmake/OptionsCommon.cmake: When building with Clang, use the -Qunused-arguments

compiler option to suppress verbose warnings about arguments that went unused by the driver.

  • Source/cmake/OptionsGTK.cmake: Use -fno-omit-frame-pointer for both GCC and Clang.

-fno-tree-dce should be used only for GCC.

  • Source/cmake/gtest/CMakeLists.txt: When building with Clang the GTest framework

should be built with GTEST_HAS_TR1_TUPLE macro defined to 0 to avoid build failures.

Tools:

  • TestWebKitAPI/CMakeLists.txt: When building with Clang TestWebKitAPI should be

built with GTEST_HAS_TR1_TUPLE defined to 0 to avoid build failures occuring in the
included GTest framework headers.

  • gtk/generate-gtkdoc:

(prepare_environment_for_gtkdoc_generation): Don't modify the CFLAGS env anymore
in case of using Clang since that is now set by the CMake rule.

11:18 AM Changeset in webkit [165974] by Martin Robinson
  • 3 edits in trunk/LayoutTests

Unreviewed GTK Gardening.

Update expectation of accessibility/table-detection.html after r165535.
Update expectation of accessibility/aria-hidden-false-works-in-subtrees.html.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-03-20

  • platform/gtk/accessibility/aria-hidden-false-works-in-subtrees-expected.txt:
  • platform/gtk/accessibility/table-detection-expected.txt:
11:09 AM Changeset in webkit [165973] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Unreviewed Clang build fix for the GTK port after r165952.

  • wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
10:45 AM Changeset in webkit [165972] by ap@apple.com
  • 13 edits in trunk/Source/WebKit2

[Mac] Support asynchronous NSTextInputClient
https://bugs.webkit.org/show_bug.cgi?id=130479

Reviewed by Anders Carlsson.

The implementation is currently disabled, pending lower level support.
Most of the code is not under compile time guard however, to facilitate cross-platform
reuse, or at least under a PLATFORM(COCOA) guard to share the code with iOS.

  • UIProcess/API/mac/WKView.mm: Added a compile time branch for USE(ASYNC_NSTEXTINPUTCLIENT).

We still implement sync NSTextInputClient here, in order to get assertions when
its methods are unexpectedly called.
The new code first sends an event to input method asynchronously, handling any callbacks
that may arrive. During this time, we no longer care about WKViewInterpretKeyEventsParameters
at all. Once done, we interpret key bindings synchronously, collecting them into
a vector.

  • UIProcess/API/mac/WKViewInternal.h: We no longer expose _interpretKeyEvent outside

WKView.

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

Added async calls and callbacks. Removed unnecessary and slightly harmful .get() when moving
a callback pointer into map. Moved insertDictatedText() and getAttributedSubstringFromRange()
from PLATFORM(COCOA) to PLATFORM(MAC), because they are unused and unimplemented on
iOS, and unlikely to be needed any time soon. Changed USE(APPKIT) to PLATFORM(MAC),
because that's more accurate in this case (nothing depends on AppKit, it's just code
that we only need on Mac).

  • UIProcess/WebPageProxy.messages.in: Added messages for new async IM responses.
  • UIProcess/ios/WebPageProxyIOS.mm: Removed insertDictatedText() and getAttributedSubstringFromRange().
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
Added async calls and callbacks that are Mac only.

  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

Added async implementations (which are essentially the same as sync ones, sadly).

  • WebProcess/WebPage/WebPage.messages.in: Added async messages, moved some messages

under PLATFORM(MAC).

  • WebProcess/WebPage/ios/WebPageIOS.mm: More of deleting functions that are Mac only,

and cannot be easily implemented in WebPage.cpp with shared code.

10:37 AM Changeset in webkit [165971] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
https://bugs.webkit.org/show_bug.cgi?id=130520

Reviewed by Jer Noble.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument): Check the isVideoPluginProxyEnabled setting

when building with ENABLE_PLUGIN_PROXY_FOR_VIDEO.

10:37 AM Changeset in webkit [165970] by commit-queue@webkit.org
  • 5 edits
    5 adds in trunk

[CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
https://bugs.webkit.org/show_bug.cgi?id=129307

Patch by Mihai Tica <mitica@adobe.com> on 2014-03-20
Reviewed by Dean Jackson.

Source/WebCore:

Reimplement the logic behind isolating blend modes. The blending operation should be limited to the
contents of the parent stacking context. The proposed solution implies adding logic in updateDescendantDependentFlags,
to track child elements that have blending and create a transparency layer that triggers isolation.

Tests: css3/compositing/blend-mode-background.html

fast/repaint/blend-mode-isolate-stacking-context.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer): Remove old members, add new members to constructor.
(WebCore::RenderLayer::updateBlendMode): Update parent stacking context isolation on blend mode change.
(WebCore::RenderLayer::updateNonCompositedParentStackingContextHasBlendedChild):

  • Set m_hasBlendedElementInChildStackingContext for the non composited parent stacking context.

(WebCore::RenderLayer::dirtyAncestorParentStackingContextHasBlendedElement):

  • Set flag so isolation should be considered in updateDescendantDependentFlags.

(WebCore::RenderLayer::nonCompositedParentStackingContextHasBlendedChild):

  • Return whether the non composited parent stacking context isolates blending.

(WebCore::RenderLayer::updateDescendantDependentFlags): Add logic for isolating blending.
(WebCore::RenderLayer::addChild): Call to updateNonCompositedParentStackingContextHasBlendedChild if needed.
(WebCore::RenderLayer::removeChild): Call to dirtyAncestorParentStackingContextHasBlendedElement if needed.
(WebCore::RenderLayer::updateStackingContextsAfterStyleChange): Update isolation when a stacking context was set or unset.
(WebCore::RenderLayer::styleChanged): Removed oldStyle parameter from updateBlendMode call.

Update parent stacking context isolation on blend mode change.

  • rendering/RenderLayer.h:
  • Add members, getters and setters for tracking whether the element has a blended child:
    • m_hasBlendedElementInChildStackingContext
    • m_hasBlendedElementInChildStackingContextStatusDirty
  • Removed m_updateParentStackingContextShouldIsolateBlendingDirty (replaced with m_hasBlendedElementInChildStackingContextStatusDirty)
  • Removed m_isolatesBlending (replaced with m_hasBlendedElementInChildStackingContext)
  • Updated the isolatesBlending method to return true only when the element is a stacking context and has a blended child.
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements): Removed layer.updateParentStackingContextShouldIsolateBlending call.

LayoutTests:

Test if setting or unsetting stacking context or blend mode from script correctly updates blending
isolation.

  • css3/compositing/blend-mode-background.html: Added.
  • fast/repaint/blend-mode-isolate-stacking-context-expected.txt: Added.
  • fast/repaint/blend-mode-isolate-stacking-context.html: Added.
  • platform/mac/css3/compositing/blend-mode-background-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-background-expected.txt: Added.
10:28 AM Changeset in webkit [165969] by stavila@adobe.com
  • 7 edits in trunk/LayoutTests

[CSS Regions] Remove "visibility:hidden" from overflow-scrollable* tests
https://bugs.webkit.org/show_bug.cgi?id=130510

Reviewed by Andrei Bucur.

The visibility hidden option was needed to prevent these tests from failing before the
visual overflow was properly implemented (bug 118665). It is now no longer required.

  • fast/regions/overflow-scrollable-rel-pos-fragment-expected.html:
  • fast/regions/overflow-scrollable-rel-pos-fragment.html:
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html:
  • fast/regions/overflow-scrollable-rotated-fragment.html:
  • fast/regions/overflow-scrollable-unsplittable-fragment-expected.html:
  • fast/regions/overflow-scrollable-unsplittable-fragment.html:
10:20 AM Changeset in webkit [165968] by Martin Robinson
  • 15 edits in trunk/Source/WebKit2

Remove remaining GTK+ unused parameter warnings from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130518

Reviewed by Sergio Villar Senin.

Fix almost all unused parameter warnings in the WebKit2GTK+ build.

10:05 AM Changeset in webkit [165967] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[GTK] [CMake] Do not compile ProxyResolverSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=130516

Reviewed by Sergio Villar Senin.

  • PlatformGTK.cmake: Remove the file from the source list.
8:34 AM Changeset in webkit [165966] by commit-queue@webkit.org
  • 10 edits
    1 delete in trunk

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

It broke the build (Requested by Ossy on #webkit).

Reverted changeset:

.:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

Source/WebCore:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

Source/WebKit:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

Source/WebKit2:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

8:09 AM Changeset in webkit [165965] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

"input" event is not fired when changing a select element's value
https://bugs.webkit.org/show_bug.cgi?id=117526

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-20
Reviewed by Antti Koivisto.

Source/WebCore:

Add a call to dispatch input event when listbox or menulist
values are modified.

According to the spec: "When the user agent is to send select update
notifications, queue a task to first fire a simple even that bubbles
named input at the select element, and then fire a simple event that
bubbles named change at the select element, using the user interaction
task source as the task source."

Tests: fast/forms/select/listbox-oninput-fired.html

fast/forms/select/menulist-oninput-fired.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):

LayoutTests:

Add tests to verify that input event is dispatched when listbox
or menulist values are modified.

  • fast/forms/select/listbox-oninput-fired-expected.txt: Added.
  • fast/forms/select/listbox-oninput-fired.html: Added.
  • fast/forms/select/menulist-oninput-fired-expected.txt: Added.
  • fast/forms/select/menulist-oninput-fired.html: Added.
8:01 AM Changeset in webkit [165964] by stavila@adobe.com
  • 6 edits
    18 adds in trunk

[CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
https://bugs.webkit.org/show_bug.cgi?id=129487

Reviewed by Andrei Bucur.

Source/WebCore:

When propagating the layout overflow from the flowed element up to the flow thread itself,
the region's logical bottom padding and the element's logical bottom margin must be taken into consideration.
However, if the flowed element has overflow, the overflow will be painted over the region's padding
and the element's margin, in order to be compatible with the non-regions case.
More info can be found here: http://lists.w3.org/Archives/Public/www-style/2014Jan/0089.html

Tests: fast/regions/scrollable-region-content-size-horiz-bt.html

fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html
fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html
fast/regions/scrollable-region-content-size-no-overflow.html
fast/regions/scrollable-region-content-size-relative.html
fast/regions/scrollable-region-content-size-vert-rl.html
fast/regions/scrollable-region-content-size-vertical-lr.html
fast/regions/scrollable-region-content-size.html
fast/regions/scrollable-region-scrollable-content.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

Added tests for different situations using scrollable regions and fixed a couple existing tests.

  • fast/regions/clip-to-padding-box-margins.html: overflow-x and overflow-y cannot be hidden & visible.
  • fast/regions/scrollable-last-region-expected.html: "hack" no longer needed now that the scroll content size is properly computed.
  • fast/regions/scrollable-region-content-size-expected.html: Added.
  • fast/regions/scrollable-region-content-size-horiz-bt-expected.html: Added.
  • fast/regions/scrollable-region-content-size-horiz-bt.html: Added.
  • fast/regions/scrollable-region-content-size-no-overflow-expected.html: Added.
  • fast/regions/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Added.
  • fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html: Added.
  • fast/regions/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Added.
  • fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html: Added.
  • fast/regions/scrollable-region-content-size-no-overflow.html: Added.
  • fast/regions/scrollable-region-content-size-relative-expected.html: Added.
  • fast/regions/scrollable-region-content-size-relative.html: Added.
  • fast/regions/scrollable-region-content-size-vert-rl-expected.html: Added.
  • fast/regions/scrollable-region-content-size-vert-rl.html: Added.
  • fast/regions/scrollable-region-content-size-vertical-lr-expected.html: Added.
  • fast/regions/scrollable-region-content-size-vertical-lr.html: Added.
  • fast/regions/scrollable-region-content-size.html: Added.
  • fast/regions/scrollable-region-scrollable-content-expected.html: Added.
  • fast/regions/scrollable-region-scrollable-content.html: Added.
7:20 AM Changeset in webkit [165963] by Alan Bujtas
  • 6 edits
    4 adds in trunk

Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=130153

Reviewed by Simon Fraser.

Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
need to be propagated through the layer tree so that painting coordinates match layout coordinates.

Subpixel accumulation through nesting (absolute positioning, 2x display):
non-compositing case:
(nested boxes) (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
div -> top: 1.3px 1.3px 1.5px 1.5px 0.2px -> snapped 0.0px -> 1.5px

div -> top: 1.3px 2.6px 2.5px 3.0px 0.4px -> snapped 0.5px -> 2.5px

div -> top: 1.3px 3.9px 4.0px 4.5px 0.6px -> snapped 0.5px -> 4.0px

div -> top: 1.3px 5.2px 5.0px 6.0px 0.8px -> snapped 1.0px -> 5.0px

compositing case:
(nested boxes) (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
div -> top: 1.3px 1.3px 1.5px 1.0px + 0.3px -> snapped -> 1.5px

div -> top: 1.3px 2.6px 2.5px 2.5px + 0.1px -> snapped -> 2.5px

div -> top: 1.3px 3.9px 4.0px 3.5px + 0.4px -> snapped -> 4.0px

div -> top: 1.3px 5.2px 5.0px 5.0px + 0.2px -> snapped -> 5.0px

Source/WebCore:

Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html

fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerByApplyingTransform):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerBacking.h:

(WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):

LayoutTests:

  • compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
  • compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
  • fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
  • fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.
7:19 AM Changeset in webkit [165962] by thiago.lacerda@openbossa.org
  • 10 edits
    1 add in trunk

[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150

Reviewed by Csaba Osztrogonác.

Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.

.:

  • Source/cmake/FindFreetype2.cmake: Added.
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:

Source/WebKit:

  • PlatformEfl.cmake:

Source/WebKit2:

  • PlatformEfl.cmake:
7:03 AM Changeset in webkit [165961] by rgabor@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[ARM64] Fix assembler build issues and add cacheFlush support for Linux
https://bugs.webkit.org/show_bug.cgi?id=130502

Reviewed by Michael Saboff.

Add limits.h for INT_MIN in ARM64Assembler(). Delete shouldBlindForSpecificArch(uintptr_t)
because on ARM64 uint64_t and uintptr_t is the same with GCC and Clang as well.
Add cacheFlush support for Linux.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::linuxPageFlush):
(JSC::ARM64Assembler::cacheFlush):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):

5:25 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:24 AM Changeset in webkit [165960] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r165891 - [GStreamer] Clean timeout source ids
https://bugs.webkit.org/show_bug.cgi?id=130450

Reviewed by Philippe Normand.

Sources IDs need to be cleaned up if the callback removes the
source, otherwise we'll be attempting to remove an empty source at
some point.

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:

(webKitMediaVideoSrcStart): Clean the source id.
(webKitMediaAudioSrcStart): Ditto.
(webKitMediaVideoSrcSeekMainCb): Ditto.
(webKitMediaAudioSrcSeekMainCb): Ditto.

4:04 AM Changeset in webkit [165959] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] test_ewk2_application_cache_manager is flaky
https://bugs.webkit.org/show_bug.cgi?id=130501

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:

(timerCallback): Return ECORE_CALLBACK_CANCEL to clear the timer.

3:55 AM Changeset in webkit [165958] by k.czech@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Update expectation of table-detection.html after r165535.

  • platform/efl-wk2/accessibility/table-detection-expected.txt:
3:19 AM Changeset in webkit [165957] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

3:07 AM Changeset in webkit [165956] by Lucas Forschler
  • 1 copy in tags/Safari-538.24

New Tag.

3:07 AM Changeset in webkit [165955] by pmolnar.u-szeged@partner.samsung.com
  • 4 edits in trunk/Source/WebCore

Refactor checking log channel state in MediaPlayerPrivateGStreamerBase.
https://bugs.webkit.org/show_bug.cgi?id=130241

Reviewed by Philippe Normand.

The channel was passed around only to check its state. Cleaned this up
by adding a method to check whether a log channel is enabled.

  • platform/Logging.cpp:

(WebCore::isLogChannelEnabled):

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

(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):

1:56 AM Changeset in webkit [165954] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Dispatch input event for Range element keyboard event
https://bugs.webkit.org/show_bug.cgi?id=129929

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-20
Reviewed by Kent Tamura.

For any value update, dispatch both input and change event.
Also removes extra dispatch change event, as event is dispatched
from TextFieldInputType:setValue.

Merged from Blink (patch by Habib Virji):
https://src.chromium.org/viewvc/blink?revision=168558&view=revision

Source/WebCore:

Test: fast/forms/range/range-keyboard-oninput-event.html

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleKeydownEvent):

LayoutTests:

  • fast/forms/range/range-keyboard-oninput-event-expected.txt: Added.
  • fast/forms/range/range-keyboard-oninput-event.html: Added.
1:28 AM Changeset in webkit [165953] by Lucas Forschler
  • 15 edits in trunk/Source

Rollout r165944. Build break.

12:56 AM Changeset in webkit [165952] by Carlos Garcia Campos
  • 7 edits
    2 adds in trunk/Source/WTF

[GLIB] Add GMainLoopSource class to wrap idle and timeout sources
https://bugs.webkit.org/show_bug.cgi?id=130027

Reviewed by Martin Robinson.

GLib main loop sources like idle and timeouts are sometimes
unconvenient to use and it's very common to forget canceling the
source when the object is destroyed or reset the source ID in the
callback when called. GMainLoopSource is a wrapper class to make it
easier to handle sources and also to avoid those typical mistakes.
It forces to create sources with a name and the user doesn't have
to deal with the source ID anymore. The source is cancelled when
the object is deleted or when a new source is scheduled. It uses
std::function for callbacks so that we no longer need to use the
"proxy" static callbacks either. We can use std::bind to use a
function pointer or a member or even lambda functions. It also handles
repeating sources automatically depending on whether the given
function returns a bool or not.

  • GNUmakefile.list.am:
  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
  • wtf/RunLoop.h:
  • wtf/gobject/GMainLoopSource.cpp: Added.

(WTF::GMainLoopSource::createAndDeleteOnDestroy):
(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::reset):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::destroy):
(WTF::GMainLoopSource::voidSourceCallback):
(WTF::GMainLoopSource::boolSourceCallback):
(WTF::GMainLoopSource::socketSourceCallback):

  • wtf/gobject/GMainLoopSource.h: Added.

(WTF::GMainLoopSource::isScheduled):

  • wtf/gtk/MainThreadGtk.cpp:

(WTF::scheduleDispatchFunctionsOnMainThread):

  • wtf/gtk/RunLoopGtk.cpp:

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

12:14 AM Changeset in webkit [165951] by mihnea@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSSRegions] Content flowed in 0px height region not displayed
https://bugs.webkit.org/show_bug.cgi?id=98265

After the past work on overflow, this looks fixed. Add a test to make sure
we are covered for future regressions.

Reviewed by Andrei Bucur.

  • fast/regions/overflow-content-zero-height-region-expected.html: Added.
  • fast/regions/overflow-content-zero-height-region.html: Added.
12:11 AM Changeset in webkit [165950] by jinwoo7.song@samsung.com
  • 8 edits in trunk/Source/WebCore

Refine BatteryStatus module
https://bugs.webkit.org/show_bug.cgi?id=130495

Reviewed by Andreas Kling.

Small refinements:

  • Return PassRef instead of PassRefPtr in create method
  • Switched to nullptr instead of 0 where appropriate.
  • Removed unused function and header file.
  • Removed unnecessary empty lines.
  • Modules/battery/BatteryController.h:
  • Modules/battery/BatteryManager.cpp:

(WebCore::BatteryManager::create): Make return passRef.

  • Modules/battery/BatteryManager.h:

(WebCore::BatteryManager::batteryControllerDestroyed): Use nullptr.

  • Modules/battery/BatteryStatus.cpp:

(WebCore::BatteryStatus::create): Make return passRef.

  • Modules/battery/BatteryStatus.h:
  • Modules/battery/NavigatorBattery.cpp:

(WebCore::NavigatorBattery::webkitBattery): Remove batteryManager().

  • Modules/battery/NavigatorBattery.h:

Mar 19, 2014:

11:39 PM Changeset in webkit [165949] by oliver@apple.com
  • 2 edits in branches/safari-537.75-branch/LayoutTests

Skip fast/workers/worker-copy-shared-blob-url.html in webkit2

11:34 PM Changeset in webkit [165948] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

11:31 PM Changeset in webkit [165947] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.11

New tag.

11:21 PM Changeset in webkit [165946] by barraclough@apple.com
  • 8 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=130494
EmptyUnique strings are Identifiers/Atomic

Reviewed by Geoff Garen.

EmptyUnique strings should set the Identifier/Atomic flag.

Source/JavaScriptCore:

This fixes an unreproducible bug we believe exists in Identifier handling.
Expected behaviour is that while Identifiers may reference EmptyUniques
(StringImpls allocated as UIDs for PrivateNames), these are not created
through the main Identifier constructor, the Identifier flag is not set
on PrivateNames, and we should never lookup EmptyUnique strings in the
IdentifierTable.

Unfortunately that was happening. Some tables used to implement property
access in the JIT hold StringImpl*s, and turn these back into Identifiers
using the identfiier constructor. Since the code generator will now plant
by-id (cachable) accesses to PrivateNames we can end up passing an
EmptyUnique to Identifier::add, potentially leading to PrivateNames being
uniqued together (though hard to prove, since the hash codes are random).

  • runtime/PropertyName.h:

(JSC::PropertyName::PropertyName):
(JSC::PropertyName::uid):
(JSC::PropertyName::publicName):
(JSC::PropertyName::asIndex):

  • PropertyName assumed that PrivateNames are not Identifiers - instead check isEmptyUnique().
  • runtime/Structure.cpp:

(JSC::Structure::getPropertyNamesFromStructure):

  • Structure assumed that PrivateNames are not Identifiers - instead check isEmptyUnique().

Source/WTF:

  • wtf/text/AtomicString.h:

(WTF::AtomicString::add):

  • Previously we assumed the only StringImpl that was validly allowed to claim to be Atomic but not be in a table was the canonical empty string. Now that EmptyUniques are also marked Atomic, all empty strings may pass this condition.
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):

  • Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::hashAndFlagsForEmptyUnique):

  • Allocate a sequential hash code (this should be just as good for distribution & better for debugging than the random value) and set flags, now including Atomic & Identifier.
11:17 PM Changeset in webkit [165945] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/JavaScriptCore

Merge r165902.

10:10 PM Changeset in webkit [165944] by psolanki@apple.com
  • 16 edits in trunk/Source

[iOS] Get code to compile on older iOS versions
https://bugs.webkit.org/show_bug.cgi?id=130142
<rdar://problem/16302908>

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/mac/HTMLConverter.mm:

(_dateForString):

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::copyCookiesForURLWithFirstPartyURL):

  • platform/text/ios/LocalizedDateCache.mm:

(WebCore::LocalizedDateCache::calculateMaximumWidth):

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::LocaleMac):

Source/WebKit/mac:

  • History/WebHistory.mm:

(getDayBoundaries):

  • Plugins/WebPluginController.h:
  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(pluginView):

  • WebView/WebPreferences.mm:

(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]):

  • WebView/WebPreferencesPrivate.h:
8:12 PM Changeset in webkit [165943] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
https://bugs.webkit.org/show_bug.cgi?id=130292

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-03-19
Reviewed by Dean Jackson.

WebGLRenderingContext::getExtension was not returning WEBGL_compressed_texture_pvrtc extension.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):

7:53 PM Changeset in webkit [165942] by Brent Fulgham
  • 10 edits
    3 adds in trunk

Merge Misc. WebVTT Updates from Blink.
https://bugs.webkit.org/show_bug.cgi?id=130491

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-webvtt-tc030-interspersed-non-cue.html

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
http://crbug.com/40323003
https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
http://crbug.com/54463002
https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
http://crbug.com/55853002
https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
http://crbug.com/65343003
https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
http://crbug.com/62833005
https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
http://crbug.com/64273013
https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
http://crbug.com/101513002
https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
http://crbug.com/102403002
https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
http://crbug.com/104443002
https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
http://crbug.com/75243004

  • html/track/TextTrackRegion.cpp:

(WebCore::TextTrackRegion::parseSettingValue):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::setCueSettings):

  • html/track/WebVTTParser.cpp:

(WebCore::scanDigits):
(WebCore::WebVTTParser::collectDigitsToInt):
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::parseBytes):
(WebCore::WebVTTParser::collectMetadataHeader):
(WebCore::WebVTTParser::collectTimingsAndSettings):
(WebCore::WebVTTParser::createDocumentFragmentFromCueText):
(WebCore::WebVTTParser::createNewCue):
(WebCore::WebVTTParser::createNewRegion):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::tokenToNodeType):
(WebCore::WebVTTParser::constructTreeFromToken):

  • html/track/WebVTTParser.h:
  • html/track/WebVTTToken.h:

(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::characters):
(WebCore::WebVTTToken::appendToCharacter):
(WebCore::WebVTTToken::addNewClass):
(WebCore::WebVTTToken::classes):
(WebCore::WebVTTToken::addNewAnnotation):
(WebCore::WebVTTToken::annotation):

  • html/track/WebVTTTokenizer.cpp:

(WebCore::equalLiteral):
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):

  • html/track/WebVTTTokenizer.h:

LayoutTests:

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
http://crbug.com/40323003
https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
http://crbug.com/54463002
https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
http://crbug.com/55853002
https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
http://crbug.com/65343003
https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
http://crbug.com/62833005
https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
http://crbug.com/64273013
https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
http://crbug.com/101513002
https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
http://crbug.com/102403002
https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
http://crbug.com/104443002
https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
http://crbug.com/75243004

  • media/track/captions-webvtt/tc030-interspersed-non-cue.vtt: Added.
  • media/track/track-webvtt-tc027-empty-cue-expected.txt: Mark one test as expected to fail, since

the test (incorrectly) expects to fail on empty cues. The test will be updated in a future patch.

  • media/track/track-webvtt-tc030-interspersed-non-cue-expected.txt: Added.
  • media/track/track-webvtt-tc030-interspersed-non-cue.html: Added.
7:00 PM Changeset in webkit [165941] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, revert the DFGCommon.h change in r165938. It was not intentional.

  • dfg/DFGCommon.h:
6:56 PM Changeset in webkit [165940] by mhahnenberg@apple.com
  • 18 edits
    4 adds in trunk/Source

GC timer should intelligently choose between EdenCollections and FullCollections
https://bugs.webkit.org/show_bug.cgi?id=128261

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Most of the GCs while browsing the web are due to the GC timer. Currently the GC timer
always does FullCollections. To reduce the impact of the GC timer on the system this patch
changes Heap so that it has two timers, one for each type of collection. The FullCollection
timer is notified at the end of EdenCollections how much the Heap has grown since the last
FullCollection and when somebody notifies the Heap of abandoned memory (which usually wouldn't
be detected by an EdenCollection).

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/EdenGCActivityCallback.cpp: Added.

(JSC::EdenGCActivityCallback::EdenGCActivityCallback):
(JSC::EdenGCActivityCallback::doCollection):
(JSC::EdenGCActivityCallback::lastGCLength):
(JSC::EdenGCActivityCallback::deathRate):
(JSC::EdenGCActivityCallback::gcTimeSlice):

  • heap/EdenGCActivityCallback.h: Added.

(JSC::GCActivityCallback::createEdenTimer):

  • heap/FullGCActivityCallback.cpp: Added.

(JSC::FullGCActivityCallback::FullGCActivityCallback):
(JSC::FullGCActivityCallback::doCollection):
(JSC::FullGCActivityCallback::lastGCLength):
(JSC::FullGCActivityCallback::deathRate):
(JSC::FullGCActivityCallback::gcTimeSlice):

  • heap/FullGCActivityCallback.h: Added.

(JSC::GCActivityCallback::createFullTimer):

  • heap/GCActivityCallback.cpp:

(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::doWork):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):
(JSC::GCActivityCallback::didAllocate):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::cancel):

  • heap/GCActivityCallback.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::reportAbandonedObjectGraph):
(JSC::Heap::didAbandon):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::setFullActivityCallback):
(JSC::Heap::setEdenActivityCallback):
(JSC::Heap::fullActivityCallback):
(JSC::Heap::edenActivityCallback):
(JSC::Heap::setGarbageCollectionTimerEnabled):
(JSC::Heap::didAllocate):
(JSC::Heap::shouldDoFullCollection):

  • heap/Heap.h:

(JSC::Heap::lastFullGCLength):
(JSC::Heap::lastEdenGCLength):
(JSC::Heap::increaseLastFullGCLength):
(JSC::Heap::sizeBeforeLastEdenCollection):
(JSC::Heap::sizeAfterLastEdenCollection):
(JSC::Heap::sizeBeforeLastFullCollection):
(JSC::Heap::sizeAfterLastFullCollection):

  • heap/HeapOperation.h:
  • heap/HeapStatistics.cpp:

(JSC::HeapStatistics::showObjectStatistics):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::timerDidFire):

  • jsc.cpp:

(functionFullGC):
(functionEdenGC):

  • runtime/Options.h:

Source/WebCore:

No new tests.

Updated WebSafeGCActivityCallbacks for both Eden and Full timers.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

  • platform/ios/WebSafeGCActivityCallbackIOS.h:
6:54 PM Changeset in webkit [165939] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.

Unreviewed TestExpectations update on ML WK2 debug.

  • platform/mac-wk2/TestExpectations:
6:49 PM Changeset in webkit [165938] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix JavaScriptCore ChangeLog

6:05 PM Changeset in webkit [165937] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

media/video-remote-control-playpause.html frequently fails on the bots
https://bugs.webkit.org/show_bug.cgi?id=130490

Unreviewed TestExpectations update.

  • platform/mac/TestExpectations: Mark test as flakey while I try to reproduce it.
5:50 PM Changeset in webkit [165936] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Address late review comment and style nit after r165934.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):

5:37 PM Changeset in webkit [165935] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build after r165917.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
5:32 PM Changeset in webkit [165934] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WebKit2] Back-forward swipe doesn't always complete with fingers down
https://bugs.webkit.org/show_bug.cgi?id=130489
<rdar://problem/16027007>

Reviewed by Simon Fraser.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
In order to have fingers-down swipe completion work correctly, we need
to give UIKit an empty interactive update block.

5:18 PM Changeset in webkit [165933] by commit-queue@webkit.org
  • 17 edits
    4 deletes in trunk/Source

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

broke the iOS build (Requested by estes on #webkit).

Reverted changeset:

Source/JavaScriptCore:

"GC timer should intelligently choose between EdenCollections
and FullCollections"
https://bugs.webkit.org/show_bug.cgi?id=128261
http://trac.webkit.org/changeset/165926

Source/WebCore:

"GC timer should intelligently choose between EdenCollections
and FullCollections"
https://bugs.webkit.org/show_bug.cgi?id=128261
http://trac.webkit.org/changeset/165926

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

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

in order to roll out r165926 (Requested by estes on #webkit).

Reverted changeset:

http://trac.webkit.org/changeset/165929

4:45 PM Changeset in webkit [165931] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Get rid of two IPC::Connection functions by folding them into lambdas
https://bugs.webkit.org/show_bug.cgi?id=130482

Reviewed by Tim Horton.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):

  • Platform/IPC/Connection.h:
4:44 PM Changeset in webkit [165930] by Simon Fraser
  • 6 edits in trunk

Expose text and page zoom in WK2 SPI, and hook them up in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=130476

Source/WebKit2:

Reviewed by Anders Carlsson.

Expose page and text zoom as SPI.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _supportsTextZoom]):
(-[WKWebView _textZoomFactor]):
(-[WKWebView _setTextZoomFactor:]):
(-[WKWebView _pageZoomFactor]):
(-[WKWebView _setPageZoomFactor:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Reviewed by Anders Carlsson.

Hook up page/text zoom in MiniBrowser, make reload work, remove some logging.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
Remove log.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController reload:]):
Hook up reload.
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
(-[WK2BrowserWindowController canZoomIn]):
(-[WK2BrowserWindowController canZoomOut]):

4:27 PM Changeset in webkit [165929] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/WebCore

Build fix for iOS after r165926

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

  • platform/ios/WebSafeGCActivityCallbackIOS.h:
3:42 PM Changeset in webkit [165928] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebCore

Allow media engine to update HTMLMediaElement state when playing to external device
https://bugs.webkit.org/show_bug.cgi?id=130480

Reviewed by Jer Noble.

  • html/HTMLMediaElement.h: Add mediaPlayerHandlePlaybackCommand.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::handlePlaybackCommand): New.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Send Play and Pause commands when

playing to an external device.

3:39 PM Changeset in webkit [165927] by krit@webkit.org
  • 5 edits
    6 adds in trunk

Implement isPointInPath and isPointInStroke with Path2D argument
https://bugs.webkit.org/show_bug.cgi?id=130473

Reviewed by Dean Jackson.

Source/WebCore:

Implement isPointInPath and isPointInStroke for 2D Canvas contxts
with Path2D argument.

Tests: fast/canvas/canvas-path-isPointInPath.html

fast/canvas/canvas-path-isPointInStroke.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::CanvasRenderingContext2D::isPointInPathInternal):
(WebCore::CanvasRenderingContext2D::isPointInStrokeInternal):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

Test isPointInPath and isPointInStroke with Path2D argument.

  • fast/canvas/canvas-path-isPointInPath-expected.txt: Added.
  • fast/canvas/canvas-path-isPointInPath.html: Added.
  • fast/canvas/canvas-path-isPointInStroke-expected.txt: Added.
  • fast/canvas/canvas-path-isPointInStroke.html: Added.
  • fast/canvas/script-tests/canvas-path-isPointInPath.js: Added.
  • fast/canvas/script-tests/canvas-path-isPointInStroke.js: Added.
3:21 PM Changeset in webkit [165926] by mhahnenberg@apple.com
  • 17 edits
    4 adds in trunk/Source

GC timer should intelligently choose between EdenCollections and FullCollections
https://bugs.webkit.org/show_bug.cgi?id=128261

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Most of the GCs while browsing the web are due to the GC timer. Currently the GC timer
always does FullCollections. To reduce the impact of the GC timer on the system this patch
changes Heap so that it has two timers, one for each type of collection. The FullCollection
timer is notified at the end of EdenCollections how much the Heap has grown since the last
FullCollection and when somebody notifies the Heap of abandoned memory (which wouldn't be
detected by an EdenCollection).

  • heap/GCActivityCallback.cpp:

(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::doWork):
(JSC::FullGCActivityCallback::FullGCActivityCallback):
(JSC::FullGCActivityCallback::doCollection):
(JSC::EdenGCActivityCallback::EdenGCActivityCallback):
(JSC::EdenGCActivityCallback::doCollection):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):
(JSC::GCActivityCallback::didAllocate):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::cancel):

  • heap/GCActivityCallback.h:

(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::createFullTimer):
(JSC::GCActivityCallback::createEdenTimer):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::didAbandon):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::setFullActivityCallback):
(JSC::Heap::setEdenActivityCallback):
(JSC::Heap::fullActivityCallback):
(JSC::Heap::edenActivityCallback):
(JSC::Heap::setGarbageCollectionTimerEnabled):
(JSC::Heap::didAllocate):

  • heap/Heap.h:
  • heap/HeapTimer.cpp:

(JSC::HeapTimer::timerDidFire):

Source/WebCore:

No new tests.

  • platform/ios/WebSafeGCActivityCallbackIOS.h: Update WebSafeGCActivityCallback

appropriately for the introduction of another type of GCActivityCallback.

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

[iOS][WK2] Reduce the extended background's opacity when WKContentView is smaller than its WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130436

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-19
Reviewed by Beth Dakin.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]):

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

[iOS][WebKit2] <rdar://problem/16330387> Do not use the keyboard rect for computing the general unobscuredRect, only use it for centering
https://bugs.webkit.org/show_bug.cgi?id=130382

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

Always accumulating the keyboard rect out of the exposedRect caused some issues (see <rdar://problem/16330387>).
This patch split the rect in two: unobscured rect for WebCore, and unobscuredContentRectIncludingKeyboard for centering
UI Elements in view.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):
(-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
(-[WKWebView _zoomToRect:WebCore::withOrigin:WebCore::fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView _contentRectForUserInteraction]):
(-[WKWebView _updateVisibleContentRects]):

2:50 PM Changeset in webkit [165923] by timothy@apple.com
  • 1 edit in trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig

Attempt to fix the Production build.

2:48 PM Changeset in webkit [165922] by andersca@apple.com
  • 2 edits
    7 deletes in trunk/Source/WebKit2

Get rid of WKProcessClass
https://bugs.webkit.org/show_bug.cgi?id=130478

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessClass.h: Removed.
  • UIProcess/API/Cocoa/WKProcessClass.mm: Removed.
  • UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Removed.
  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Removed.
  • UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Removed.
  • UIProcess/API/Cocoa/WKProcessClassPrivate.h: Removed.
  • UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
2:43 PM Changeset in webkit [165921] by Antti Koivisto
  • 4 edits
    2 adds in trunk

Crash with long selector list
https://bugs.webkit.org/show_bug.cgi?id=123006

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/long-selector-list-crash.html

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::adoptSelectorVector):
(WebCore::CSSSelectorList::operator=):

  • css/StyleRule.cpp:

(WebCore::StyleRule::create):

Add a bunch of asserts.

(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):

This could produce a zero-length selector list.

LayoutTests:

  • fast/css/long-selector-list-crash-expected.txt: Added.
  • fast/css/long-selector-list-crash.html: Added.
2:42 PM Changeset in webkit [165920] by akling@apple.com
  • 16 edits in trunk/Source/WebCore

Rebaseline bindings tests.

  • bindings/scripts/test/JS/*:
2:38 PM Changeset in webkit [165919] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS][MediaControls] Reverse-pinching using the built-in controls should enter full screen
https://bugs.webkit.org/show_bug.cgi?id=129707

Reviewed by Eric Carlson.

The default controls on iOS should respond to a pinch gesture by entering fullscreen. Add a gesture
event listener, and enter full screen if the user does a quick (>2 velocity) reverse (>1.25 scale) pinch.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createBase):
(ControllerIOS.prototype.handlePlayButtonTouchEnd):
(ControllerIOS.prototype.handleBaseGestureStart):
(ControllerIOS.prototype.handleBaseGestureChange):
(ControllerIOS.prototype.handleBaseGestureEnd):

2:36 PM Changeset in webkit [165918] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r156316): Scrollbar on a large document is broken
https://bugs.webkit.org/show_bug.cgi?id=130474
<rdar://problem/16371523>

Reviewed by Anders Carlsson.

The bug was caused by updateArrowPlacement() doing the work even though Scrollbar Overlay API is available.
Prior to r156316, this function exited early:
http://trac.webkit.org/browser/trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm?rev=156315#L147

Fixed the bug by deleting updateArrowPlacement() entirely.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::preferencesChanged):

2:27 PM Changeset in webkit [165917] by jer.noble@apple.com
  • 13 edits in trunk

[Mac][EME] Query whether decoder support exists before creating a new MediaKeys object.
https://bugs.webkit.org/show_bug.cgi?id=130459

Reviewed by Eric Carlson.

Source/WebCore:

  • WebCore.exp.in: Export the new WCSI method.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Bail early if we have no decoder support.

  • platform/mac/WebCoreSystemInterface.h: Provide a WCSI wrapper for WKSI.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Initialize the new WCSI method.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Initialize the new WCSI method.

WebKitLibraries:

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
2:08 PM Changeset in webkit [165916] by eric.carlson@apple.com
  • 11 edits
    2 adds in trunk

Make Remote Control commands testable
https://bugs.webkit.org/show_bug.cgi?id=130358

Reviewed by Jer Noble.

Source/WebCore:

Test: media/video-remote-control-playpause.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Call session->clientWillPausePlayback.
(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand): Log the command.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSessionClient::mediaSessionTitle): Move from header file.
(WebCore::MediaSessionClient::mediaSessionDuration): Ditto.
(WebCore::MediaSessionClient::mediaSessionCurrentTime): Ditto.

  • platform/audio/MediaSession.h:
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::MediaSessionManager): Get rid of m_activeSession.
(WebCore::MediaSessionManager::removeSession): No need to clear m_activeSession because

we use the m_sessions vector.

(WebCore::MediaSessionManager::sessionWillBeginPlayback): setCurrentSession takes a

MediaSession&.

(WebCore::MediaSessionManager::sessionWillEndPlayback): Keep m_sessions sorted so playing

sessions are before paused sessions.

(WebCore::MediaSessionManager::setCurrentSession): Move the session that is beginning to

play to the head of m_sessions.

(WebCore::MediaSessionManager::currentSession): Return m_sessions[0] or nullptr.
(WebCore::MediaSessionManager::didReceiveRemoteControlCommand):

  • platform/audio/MediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm: Include MediaPlayer.h.
  • testing/Internals.cpp:

(WebCore::Internals::postRemoteControlCommand): New.

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

LayoutTests:

  • media/video-remote-control-playpause-expected.txt: Added.
  • media/video-remote-control-playpause.html: Added.
2:06 PM Changeset in webkit [165915] by thiago.lacerda@openbossa.org
  • 6 edits
    1 add in trunk

Improving webkitGetUserMedia error handling and error messages
https://bugs.webkit.org/show_bug.cgi?id=130452

Reviewed by Eric Carlson.

Checking if first argument of webkitGetUserMedia is a valid Dictionary. If not, throw an exception with a
clearer message of the error.

Source/WebCore:

Test updated.

  • Modules/mediastream/NavigatorMediaStream.idl:
  • UseJSC.cmake:
  • bindings/js/JSNavigatorCustom.cpp: Added.

LayoutTests:

  • fast/mediastream/argument-types-expected.txt:
  • fast/mediastream/script-tests/argument-types.js:
1:42 PM Changeset in webkit [165914] by akling@apple.com
  • 20 edits in trunk/Source/WebCore

JSC bindings should use the passed-in global object for wrapper caching.
<https://webkit.org/b/130458>

Take a shorter path to the DOMWrapperWorld by using the passed-in
global object instead of getting the lexical global from ExecState.
Removed an old FIXME that no longer applies since JSObjects can
always find the right global object these days.

Reviewed by Geoff Garen.

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSDOMBinding.h:

(WebCore::createWrapper):
(WebCore::wrap):
(WebCore::getExistingWrapper):
(WebCore::createNewWrapper):
(WebCore::toJS):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::location):
(WebCore::toJS):

  • bindings/js/JSElementCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::content):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::createWrapperInline):

  • bindings/js/JSNodeCustom.h:

(WebCore::toJS):

  • bindings/js/JSSVGPathSegCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

1:41 PM Changeset in webkit [165913] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Page::setPageScaleFactor should not force the scroll view position when using delegatesScrolling()
https://bugs.webkit.org/show_bug.cgi?id=130429

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

When setting the same scale mutliple time (for example on load), Page was asking the top scrollview
to scroll to the origin. This is bogus since the scroll view is driving Page::setDeviceScaleFactor,
not the other way around.

Simon fixed the general case in http://trac.webkit.org/changeset/165652/trunk/Source/WebCore/page/Page.cpp
but this branch was still scrolling content.

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

1:36 PM Changeset in webkit [165912] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

REGRESSION(r165459): It broke 109 jsc stress test on ARM Thumb2 and Mac 32 bit
https://bugs.webkit.org/show_bug.cgi?id=130134

Reviewed by Mark Hahnenberg.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Can't do some optimizations if you don't have a lot of registers.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById): Move stuff around before going into the IC code to ensure that we give the IC code the invariants it needs. This only happens in case of GetByIdFlush, where we are forced into using weird combinations of registers because the results have to be in t0/t1.
(JSC::DFG::SpeculativeJIT::compile): For a normal GetById, the register allocator should just do the right thing so nobody has to move anything around.

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITGetByIdGenerator::JITGetByIdGenerator): Assert the things we want.

  • jit/JITInlineCacheGenerator.h:
  • jit/Repatch.cpp:

(JSC::generateGetByIdStub): Remove a previous incomplete hack to try to work around the DFG's problem.

1:12 PM Changeset in webkit [165911] by beidson@apple.com
  • 9 edits in trunk/Source

Filter out editable services from image menu for non-contenteditable images
<rdar://problem/16319645> and https://bugs.webkit.org/show_bug.cgi?id=130437

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit/mac:

  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):

Filter out editing services based on the includeEditorServices flag.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):

Source/WebKit2:

  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(-[WKSharingServicePickerDelegate setIncludeEditorServices:]):
(-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):

Filter out editing services based on the includeEditorServices flag.

(WebKit::WebContextMenuProxyMac::setupImageServicesMenu):
(WebKit::WebContextMenuProxyMac::populate):

12:54 PM Changeset in webkit [165910] by krit@webkit.org
  • 10 edits
    3 adds in trunk

Implement method addPath for Path2D
https://bugs.webkit.org/show_bug.cgi?id=130461

Reviewed by Dean Jackson.

Source/WebCore:

Add support for the Path2D method addPath. The method allows
to append and existing Path2D object to another one. It can be
combined with a transformation matrix SVGMatrix.

Test: fast/canvas/canvas-path-addPath.html

  • html/canvas/DOMPath.h: Add new method addPath().

(WebCore::DOMPath::addPath):

  • html/canvas/DOMPath.idl:
  • platform/graphics/Path.h: Add support for appending paths.
  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::addPath):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::addPath):

  • platform/graphics/wince/PathWinCE.cpp:

(WebCore::Path::addPath):

LayoutTests:

Test the addPath Path2D method.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • fast/canvas/canvas-path-addPath-expected.txt: Added.
  • fast/canvas/canvas-path-addPath.html: Added.
12:32 PM Changeset in webkit [165909] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Normalize some of the older JSC options
https://bugs.webkit.org/show_bug.cgi?id=128753

Reviewed by Michael Saboff.

  • runtime/Options.cpp:

(JSC::Options::initialize):

12:24 PM Changeset in webkit [165908] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk/Source

[iOS] WebKit2 Quicklook.
https://bugs.webkit.org/show_bug.cgi?id=130360

Source/WebCore:

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-19
Reviewed by Tim Horton.

Since ResourceLoaders using WebKit2 network process don't have ResourceHandle any more, we
need to make it possible to create QuickLookHandle from ResourceLoader.

  • WebCore.exp.in: Make some QuickLookHandle methods visible from WebKit2.
  • loader/ResourceLoader.h: Add m_quickLookHandle data member to ResourceLoader.

(WebCore::ResourceLoader::quickLookHandle):
(WebCore::ResourceLoader::setQuickLookHandle):

  • platform/network/ios/QuickLook.h: Add a new method to create QuickLookHandle from ResourceLoader.
  • platform/network/ios/QuickLook.mm:

(WebCore::QuickLookHandle::create):

Source/WebKit2:

For WebKit2 resource loads, if we detect a quicklook content that QLConverter is able to
convert, handle the response data to QLConverter and use its delegate WKWebResourceQuickLookDelegate
to rounte the converted results (HTML) back into WebCore. Thie similiar logic has been in place
for WebKit1.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-19
Reviewed by Tim Horton.

  • WebKit2.xcodeproj/project.pbxproj: Add WebResourceLoaderIOS.mm to the project.
  • WebProcess/Network/WebResourceLoadScheduler.cpp:
  • WebProcess/ios/WebResourceLoaderIOS.mm: Added.

(-[WKWebResourceQuickLookDelegate initWithWebResourceLoader:WebKit::]): WKWebResourceQuickLookDelegate holds

the original WebResourceLoader so that we could send converted result to WebCore.

(-[WKWebResourceQuickLookDelegate connection:didReceiveDataArray:]):
(-[WKWebResourceQuickLookDelegate connection:didReceiveData:lengthReceived:]):
(-[WKWebResourceQuickLookDelegate connectionDidFinishLoading:]):
(-[WKWebResourceQuickLookDelegate connection:didFailWithError:]):
(-[WKWebResourceQuickLookDelegate clearHandle]):
(WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):

12:21 PM Changeset in webkit [165907] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Disable the video plugin proxy by default on WK1.
https://bugs.webkit.org/show_bug.cgi?id=130460

Reviewed by Eric Carlson.

Update the defaults to universally enable the AVFoundationEnabled preference, disable the
VideoPluginProxyEnabled preference, and on iOS only enable the AVKitEnabled preference.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

12:00 PM Changeset in webkit [165906] by barraclough@apple.com
  • 4 edits in trunk/Source/WTF

Small cleanup of empty string
https://bugs.webkit.org/show_bug.cgi?id=130438

Reviewed by Anders Carlson.

The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
returns false.
Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
Also, we currently only create one 'static' string, the empty string. Adding more might break
assumtions, inhibit the constructor from being used to create other static strings for now.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::add):

  • update assert.
  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):

  • Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::empty):

  • ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
12:00 PM Changeset in webkit [165905] by Brent Fulgham
  • 7 edits in trunk

Fix cue rendering test and include support for left/right alignment
https://bugs.webkit.org/show_bug.cgi?id=130406

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/e695703cb603421c741e59a557a7989113c13b94
http://crbug.com/25155003

Source/WebCore:

No new tests. Covered by media/track/track-cue-rendering-snap-to-lines-not-set.html.

  • html/track/VTTCue.cpp:

(WebCore::leftKeyword): Added.
(WebCore::rightKeyword): Added.
(WebCore::VTTCueBox::applyCSSProperties): Added.
(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::align): Handle left/right alignment.
(WebCore::VTTCue::setAlign): Ditto.
(WebCore::VTTCue::calculateDisplayParameters): Refactored and revised for left/right tokens.
(WebCore::VTTCue::setCueSettings): Ditto.
(WebCore::VTTCue::getCSSAlignment): Added.
(WebCore::VTTCue::getCSSWritingMode): Added.

  • html/track/VTTCue.h:

LayoutTests:

  • media/track/captions-webvtt/captions-snap-to-lines-not-set.vtt: Revised for left/right alignment tags.
  • media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Ditto.
  • media/track/track-cue-rendering-snap-to-lines-not-set.html: Ditto.
11:27 AM Changeset in webkit [165904] by oliver@apple.com
  • 2 edits in branches/safari-537.75-branch/LayoutTests

Don't use ES6 features in testcase.

10:56 AM Changeset in webkit [165903] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Swipe gesture can track vertical movement instead of horizontal movement
https://bugs.webkit.org/show_bug.cgi?id=130441
<rdar://problem/16337279>

Reviewed by Simon Fraser.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::scrollEventCanBecomeSwipe):
Factor logic that determines if a scroll event can become a swipe
out into scrollEventCanBecomeSwipe.
Use <= instead of < when comparing the axes, because we don't want
to start a swipe on a completely diagonal scroll either (because AppKit
can start tracking a vertical swipe in that case).

(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
Make use of scrollEventCanBecomeSwipe.

10:53 AM Changeset in webkit [165902] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Update type of local vars to match the type of String length.
<https://webkit.org/b/130077>

Reviewed by Geoffrey Garen.

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::join):

10:51 AM Changeset in webkit [165901] by bshafiei@apple.com
  • 3 edits in tags/Safari-538.23.1/Source/WebKit2

Merged r165632.

10:36 AM Changeset in webkit [165900] by andersca@apple.com
  • 5 edits in trunk/Source

Add new functionality that will be required by the history item decoding
https://bugs.webkit.org/show_bug.cgi?id=130433

Reviewed by Sam Weinig.

Source/WebCore:

  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::decodeConditionalObject):

Source/WebKit2:

  • Shared/cf/KeyedDecoder.cpp:

(WebKit::KeyedDecoder::decodeUInt32):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeFloat):

  • Shared/cf/KeyedDecoder.h:
10:27 AM Changeset in webkit [165899] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (OS X 10.9.2): PageVisibilityStateWithWindowChanges.WebKit2 API test fails
https://bugs.webkit.org/show_bug.cgi?id=130463

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm: Disable the test.
9:47 AM Changeset in webkit [165898] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test system fix.

  • TestExpectations: I mistakenly checked in the region-webvtt tests as enabled. This feature is not

ready to be turned on for all platforms yet.

9:00 AM Changeset in webkit [165897] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::parseToDateComponents):
Missing a StringView().

8:39 AM Changeset in webkit [165896] by timothy_horton@apple.com
  • 5 edits in trunk/Source

[iOS] WebPDFViewPlaceholder divides-by-zero with an empty document
https://bugs.webkit.org/show_bug.cgi?id=130444
<rdar://problem/15580682>

Reviewed by Sam Weinig.

  • WebView/WebPDFViewPlaceholder.h:
  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder layout]):
Get rid of boundingSize, it's never assigned to anything but CGSizeZero,
which is confusing.

Don't divide by zero if we have no pages, instead return an empty bounding size.

(-[WebPDFViewPlaceholder _computePageRects:]):
If we have an empty document, set the background color to white.
Otherwise, set it to black. It's not clear that black is the ideal
background color, but this retains existing behavior.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_setContentProviderData:]):
Don't make UIPDFPageViews for null pages.

8:32 AM Changeset in webkit [165895] by fred.wang@free.fr
  • 3 edits
    2 moves in trunk/LayoutTests

Unreviewed gardening.

  • platform/efl/TestExpectations: remove failures for mo/row since they are already in skipped in the main TestExpectations.
  • platform/gtk/mathml/presentation/mspace-children-expected.png: Move mspace-children-expected.png to platform/gtk.
  • platform/gtk/mathml/presentation/mspace-children-expected.txt: Move mspace-children-expected.txt to platform/gtk.
  • platform/win/TestExpectations: remove failures for mo/row/roots since they are already in skipped in the main TestExpectations.
8:19 AM Changeset in webkit [165894] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Tighten ElementRuleCollector::m_matchedRuleList typing
https://bugs.webkit.org/show_bug.cgi?id=130446

Reviewed by Anders Carlsson.

StyleRuleBase -> StyleRule.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchedRuleList):

  • css/ElementRuleCollector.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleRulesForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):

  • css/StyleResolver.h:
  • editing/EditingStyle.cpp:

(WebCore::styleFromMatchedRulesForElement):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

  • inspector/InspectorCSSAgent.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::getMatchedCSSRules):

8:11 AM Changeset in webkit [165893] by mihnea@adobe.com
  • 2 edits in trunk/Source/WebCore

[CSSRegions] An unsplittable box is always displayed in a single region
https://bugs.webkit.org/show_bug.cgi?id=130451

Reviewed by Andrei Bucur.

Add an ASSERT stating that an unsplittable box region range always contains 1 region.
No new functionality, no new tests.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getRegionRangeForBox):

7:25 AM Changeset in webkit [165892] by Alan Bujtas
  • 9 edits
    2 adds in trunk

Subpixel rendering: Transform origin is miscalculated when RenderLayer's
offsetfromRenderer has device pixel fraction value.
https://bugs.webkit.org/show_bug.cgi?id=129859

Reviewed by Simon Fraser.

We need to calculate the transformed origin using the painting coordinates to produce
pixel precise result.

Source/WebCore:

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::computeTransformOriginForPainting):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • compositing/columns/composited-columns-expected.txt:
  • compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt:
  • compositing/repaint/resize-repaint-expected.txt:
  • platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
7:04 AM WebKitGTK/2.4.x edited by Claudio Saavedra
(diff)
6:49 AM Changeset in webkit [165891] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

[GStreamer] Clean timeout source ids
https://bugs.webkit.org/show_bug.cgi?id=130450

Reviewed by Philippe Normand.

Sources IDs need to be cleaned up if the callback removes the
source, otherwise we'll be attempting to remove an empty source at
some point.

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:

(webKitMediaVideoSrcStart): Clean the source id.
(webKitMediaAudioSrcStart): Ditto.
(webKitMediaVideoSrcSeekMainCb): Ditto.
(webKitMediaAudioSrcSeekMainCb): Ditto.

5:38 AM Changeset in webkit [165890] by mihnea@adobe.com
  • 13 edits
    8 adds in trunk

[CSSRegions] Compute region ranges for children of inline blocks
https://bugs.webkit.org/show_bug.cgi?id=130392

Reviewed by Andrei Bucur.

Source/WebCore:

Extend the region ranges computation for children of inline blocks.
When we cannot retrieve the region range for a box using cached information,
either from region range map or from the region cached on the RootInlineBox,
try to find the top most unsplittable box up to the flow thread boundary.
If we find such unsplittable box and the box has a region range, then return
this range.

Before this patch, method getRegionRangeForBox did not return true/false
if it was able to retrieve the range and the caller checked the returned
region values. I modified the method to return true if we were able to compute
the range.

Tests: fast/regions/inline-block-inline-children-flowed-in-regions.html

fast/regions/inline-blocks-dyn-enlarged-regions.html
fast/regions/inline-blocks-dyn-shrunk-regions.html
fast/regions/inline-blocks-in-two-regions.html

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForRendererFragments):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::clampToStartAndEndRegions):
(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo):
(WebCore::RenderFlowThread::getRegionRangeForBox):
(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
(WebCore::RenderFlowThread::objectInFlowRegion):
(WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsLayoutOverflow):
(WebCore::RenderFlowThread::addRegionsVisualOverflow):
(WebCore::RenderFlowThread::clearRegionsOverflow):

  • rendering/RenderFlowThread.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::locateFlowThreadContainingBlock):
Make sure we return the right render flow thread in the case of
region-based multicolumn inside named flows.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

  • fast/regions/inline-block-inline-children-flowed-in-regions-expected.html: Added.
  • fast/regions/inline-block-inline-children-flowed-in-regions.html: Added.
  • fast/regions/inline-blocks-dyn-enlarged-regions-expected.html: Added.
  • fast/regions/inline-blocks-dyn-enlarged-regions.html: Added.
  • fast/regions/inline-blocks-dyn-shrunk-regions-expected.html: Added.
  • fast/regions/inline-blocks-dyn-shrunk-regions.html: Added.
  • fast/regions/inline-blocks-in-two-regions-expected.html: Added.
  • fast/regions/inline-blocks-in-two-regions.html: Added.
5:21 AM Changeset in webkit [165889] by fred.wang@free.fr
  • 5 edits in trunk/LayoutTests

Fix reftest failure of mathml/presentation/bug95404.html.

Unreviewed gardering.

After bug 116600, the test is only failing because of some difference
invisible by the naked eye, due to antialiasing of the radical symbol.

  • mathml/presentation/bug95404-expected.html: add a 2px border to prevent antialiasing.
  • mathml/presentation/bug95404.html: ditto.
  • platform/efl/TestExpectations: remove test failure.
  • platform/gtk/TestExpectations: ditto.
3:58 AM Changeset in webkit [165888] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.2.6

Tagging the WebKitGTK+ 2.2.6 release

3:55 AM Changeset in webkit [165887] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Unreviewed. Update NEWS and Versions.m4 for 2.2.6 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Add release notes.
2:47 AM Changeset in webkit [165886] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r165812 - [GTK] Race condition when the socket event source is cancelled
https://bugs.webkit.org/show_bug.cgi?id=130395

Reviewed by Martin Robinson.

In some cases when the socket event source is cancelled the socket
event source callback is called with the condition of the previous
poll instead of 0. This can happen sometimes when the source is
cancelled from the socket event source callback. Once the socket
event source is cancelled, it's dispatched by glib without
polling, so the condition is never reset again and the callback is
called again and again with the previous condition. When the
condition is G_IO_IN, the source is re-scheduled entering into an
infinite loop. We should always check if the source has been
cancelled at the beginning of the callback to destroy the source
instead of relying on the condition being 0.

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::SocketEventSource::isCancelled):
(WorkQueue::SocketEventSource::eventCallback):

2:40 AM Changeset in webkit [165885] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r165550 - [GTK] Close the connection when we fail to read from the socket for any unhandled error
https://bugs.webkit.org/show_bug.cgi?id=130191

Reviewed by Martin Robinson.

We currently show an error message, but we should close the
connection avoid entering an infinite loop. Also provide more
information in the error message to help when debugging the issue.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler):

2:34 AM Changeset in webkit [165884] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r165371 - [GTK] The web process can finish while a print operation is still ongoing
https://bugs.webkit.org/show_bug.cgi?id=129871

Reviewed by Martin Robinson.

This can happen when the last page is closed while the print job
is sending data to the printer.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web

process termination when the print job is sending data to the
printer and enable it again when job finishes.

2:19 AM Changeset in webkit [165883] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r165489 - [GTK] Runtime error when page is closed while print operation is in progress
https://bugs.webkit.org/show_bug.cgi?id=129869

Reviewed by Anders Carlsson.

Sometimes when the page is closed right after printing the web
process aborts with the runtime message "pure virtual method
called terminate called without an active exception".
This happens because the page is closed when the pages have been
printed, but print job is still ongoing sending the data to the
printer. When print job finishes, we try to notify the UI process
sending the print callback message using WebPage::send(), but the
web page object has been destroyed. The virtual method it complains
about is probably MessageSender::messageSenderDestinationID() used
by send(). Since our print operation is always asynchronous, we
need a way to notify the web page when the print operation has
actually finished to clean it up, but also notify the print
operation when the page has been closed to not try to notify the
UI process in that case.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close): Call disconnectFromPage to notify the
print operation in case there's an ongoing print job.
(WebKit::WebPage::endPrinting): Do not cleanup the print operation
here, since the print opertation might not have finished yet.
(WebKit::WebPage::didFinishPrintOperation): Send
PrintFinishedCallback message to the Ui process and cleanup the
print operation.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::disconnectFromPage): Set m_webPage
to nullptr.
(WebKit::WebPrintOperationGtk::printDone): Call
didFinishPrintOperation() is the web page hasn't been closed.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2:16 AM Changeset in webkit [165882] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] vibration/cancelVibration-during-pattern-vibrating.html is failing after r165598
https://bugs.webkit.org/show_bug.cgi?id=130333

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-03-19
Reviewed by Gyuyoung Kim.

Added setting m_state when calling Vibration::vibrate. It was missing after
refactoring Vibration (r165598).

  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::vibrate):

1:53 AM Changeset in webkit [165881] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r165182 - [GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783

Reviewed by Sergio Villar Senin.

Source/WebKit2:

When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose): Close the WebPageProxy.

1:49 AM Changeset in webkit [165880] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r164980 - [GTK] webkit_dom_range_compare_boundary_points fails when 0 is passed as how parameter
https://bugs.webkit.org/show_bug.cgi?id=129145

Patch by Tomas Popela <tpopela@redhat.com> on 2014-03-03
Reviewed by Carlos Garcia Campos.

While generating GObject DOM API the generator should skip non pointer
types while generating the g_return_val_if_fail macro.
This will avoid the situation when Range.START_TO_START is defined as 0,
thus the webkit_dom_range_compare_boundary_points function will fail
everytime it is called with 0 as how value.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction):

1:38 AM Changeset in webkit [165879] by Carlos Garcia Campos
  • 6 edits
    3 adds in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r164808 - [GTK][WK2] Blocks when fetching plugins information
https://bugs.webkit.org/show_bug.cgi?id=115650

Reviewed by Gustavo Noronha Silva.

Use a persistent cache to store the plugins metadata to avoid
having to load all the plugins everytime a plugin is used for the
first time.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • Shared/Plugins/Netscape/NetscapePluginModule.h:
  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::parseMIMEDescription): Make this
method public.
(WebKit::NetscapePluginModule::buildMIMEDescription): Added this
helper to build the MIME description string.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp: Added.

(WebKit::PluginInfoCache::shared):
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFileIdleCallback):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::getPluginInfo):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h: Added.
  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:

(WebKit::PluginInfoStore::getPluginInfo): Check first if we have
metadata of the plugin in the cache and update the cache if we
loaded the plugin to get its metadata.

1:23 AM Changeset in webkit [165878] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r165745 - [GTK] Don't busy loop when the socket is full
https://bugs.webkit.org/show_bug.cgi?id=129802

Patch by Giovanni Campagna <gcampagna@src.gnome.org> on 2014-03-17
Reviewed by Carlos Garcia Campos.

When the socket is full and we see EAGAIN or EWOULDBLOCK
(because the socket is non blocking), don't busy loop by
tring to write again, instead poll() until the socket
becomes writable.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::sendOutgoingMessage):

1:04 AM Changeset in webkit [165877] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Rewrite WebHTMLConverter::_colorForNode in C++
https://bugs.webkit.org/show_bug.cgi?id=130443

Patch by Sam Weinig <sam@webkit.org> on 2014-03-19
Reviewed by Andreas Kling.

  • platform/mac/HTMLConverter.mm:

(_platformColor):
Rename from _colorForRGBColor and simplify to just do the platform conversion.

(normalizedColor):
Extract normalization out of _colorForRGBColor and remove cases that are impossible to hit
due to us only ever using the device color space.

(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
Convert to C++.

(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):
Remove caches, we already cache in ColorMac.

12:14 AM Changeset in webkit [165876] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r165812 - [GTK] Race condition when the socket event source is cancelled
https://bugs.webkit.org/show_bug.cgi?id=130395

Reviewed by Martin Robinson.

In some cases when the socket event source is cancelled the socket
event source callback is called with the condition of the previous
poll instead of 0. This can happen sometimes when the source is
cancelled from the socket event source callback. Once the socket
event source is cancelled, it's dispatched by glib without
polling, so the condition is never reset again and the callback is
called again and again with the previous condition. When the
condition is G_IO_IN, the source is re-scheduled entering into an
infinite loop. We should always check if the source has been
cancelled at the beginning of the callback to destroy the source
instead of relying on the condition being 0.

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::SocketEventSource::isCancelled):
(WorkQueue::SocketEventSource::eventCallback):

12:13 AM Changeset in webkit [165875] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=130334

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-03-19
Reviewed by Gustavo Noronha Silva.

  • pl.po: updated.
12:12 AM Changeset in webkit [165874] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r165745 - [GTK] Don't busy loop when the socket is full
https://bugs.webkit.org/show_bug.cgi?id=129802

Patch by Giovanni Campagna <gcampagna@src.gnome.org> on 2014-03-17
Reviewed by Carlos Garcia Campos.

When the socket is full and we see EAGAIN or EWOULDBLOCK
(because the socket is non blocking), don't busy loop by
tring to write again, instead poll() until the socket
becomes writable.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::sendOutgoingMessage):

Mar 18, 2014:

11:57 PM Changeset in webkit [165873] by abucur@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Regions] Strange layout for content with region breaks
https://bugs.webkit.org/show_bug.cgi?id=121318

Reviewed by Mihnea Ovidenie.

Source/WebCore:

When break-inside: avoid is used on an element, the implementation tries to
force it inside a single fragmentation container even though the descendants
of the element specify forced breaks. This leads to unexpected results and
unstable layout.

The change extends the definition of unsplittable elements for flow threads
using the same conditions found inside RenderBlockFlow::adjustForUnsplittableChild.
This change forces elements that require break avoidance to have a single region
in the region range. As a result, forced breaks have no effect inside them.

It should be noted this may not the behavior defined by the CSS3 Fragmentation spec.
From my understanding of the text, forced breaks override any avoidance specified
by ancestor elements. However, implementing this is a larger change that will require
a fundamental new approach in handling break avoidance. This patch just brings
consistency to the API.

Test: fast/regions/forced-break-inside-avoid-break.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation):
(WebCore::RenderBlock::computeRegionRangeForBoxChild):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):

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

(WebCore::RenderBlockFlow::adjustForUnsplittableChild): Move the avoidance conditions inside
a helper method RenderBlock::childBoxIsUnsplittableForFragmentation.

LayoutTests:

The test verifies that elements specifying break-inside: avoid can't
be splitted by forced breaks applied inside of them.

  • fast/regions/forced-break-inside-avoid-break-expected.txt: Added.
  • fast/regions/forced-break-inside-avoid-break.html: Added.
11:55 PM Changeset in webkit [165872] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

[iOS][WebKit2] Provide generic software-snapshotting API
https://bugs.webkit.org/show_bug.cgi?id=130385
<rdar://problem/16005957>

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView initWithFrame:fromWKView:]):
(-[_WKThumbnailView _requestSnapshotIfNeeded]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::takeSnapshot):
(WebKit::WebPage::scaledSnapshotWithOptions):
(WebKit::WebPage::snapshotAtSize):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Rename TakeThumbnailSnapshot message to TakeSnapshot.

Fill the snapshot image with the FrameView's background color, to avoid
half-pixel alpha around the edges.

Factor snapshotAtSize out of scaledSnapshotWithOptions.

Don't apply both the custom and device scale factor to the base CTM,
only the device scale factor. Custom scale factor should only be
applied to the user CTM.

  • Shared/ImageOptions.h:

Add a snapshot option, RespectDrawingAreaTransform, that maps
the rect through the drawing area's root layer transform.
Use this in place of the thumbnail-specific code in TakeThumbnailSnapshot.
Add a snapshot option, ExcludeDeviceScaleFactor, which means that
snapshotting will not factor the device scale in (useful for drawing
to a bitmap at an exact requested size).

11:22 PM Changeset in webkit [165871] by jer.noble@apple.com
  • 4 edits in branches/safari-537.75-branch/Source

Unreviewed Win64 build fix; explicit operators are not valid in VS2010.

Source/WebCore:

With the 'explicit bool' operator removed, just test weakThis.get() explicitly.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):

Source/WTF:

  • wtf/WeakPtr.h: Remove the 'explicit bool' operator.
11:16 PM Changeset in webkit [165870] by Samuel White
  • 22 edits
    2 adds in trunk

AX: Not able to use arrow keys to read text with VoiceOver before selection is set someplace (anyplace).
https://bugs.webkit.org/show_bug.cgi?id=130250

Reviewed by Chris Fleizach.

Source/WebCore:

If initial selection isn't set when we handle selection movement for accessibility, we need to set it. If we don't, using arrow
keys to read text with VoiceOver doesn't work as expected. Things will only start working after the user holds shift and arrows
around to select any arbitrary thing to force selection to get set. This logic handles that special case more gracefully.

Test: platform/mac/accessibility/selection-initial.html

  • page/EventHandler.cpp:

(WebCore::handleKeyboardSelectionMovement):
(WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

Source/WebKit:

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

Source/WebKit/mac:

Added ability to toggle enhanced accessibility on and off to support tests that require it.

  • WebView/WebFrame.mm:

(-[WebFrame enhancedAccessibilityEnabled]):
(-[WebFrame setEnhancedAccessibility:]):

  • WebView/WebFramePrivate.h:

Source/WebKit2:

Added ability to toggle enhanced accessibility on and off to support tests that require it.

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

(WKAccessibilityEnableEnhancedAccessibility):
(WKAccessibilityEnhancedAccessibilityEnabled):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Tools:

Added ability to toggle enhanced accessibility on and off to support tests that require it.

  • DumpRenderTree/AccessibilityController.cpp:

(enableEnhancedAccessibilityCallback):
(getEnhancedAccessibilityEnabledCallback):
(AccessibilityController::getJSClass):

  • DumpRenderTree/AccessibilityController.h:
  • DumpRenderTree/atk/AccessibilityControllerAtk.cpp:

(AccessibilityController::enableEnhancedAccessibility):
(AccessibilityController::enhancedAccessibilityEnabled):

  • DumpRenderTree/ios/AccessibilityControllerIOS.mm:

(AccessibilityController::enableEnhancedAccessibility):
(AccessibilityController::enhancedAccessibilityEnabled):

  • DumpRenderTree/mac/AccessibilityControllerMac.mm:

(AccessibilityController::enableEnhancedAccessibility):
(AccessibilityController::enhancedAccessibilityEnabled):

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(AccessibilityController::enableEnhancedAccessibility):
(AccessibilityController::enhancedAccessibilityEnabled):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::enableEnhancedAccessibility):
(WTR::AccessibilityController::enhancedAccessibilityEnabled):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:

LayoutTests:

Added test to ensure that initial selection gets set when enhanced accessibility is enabled and an arrow key is pressed.

  • platform/mac/accessibility/selection-initial-expected.txt: Added.
  • platform/mac/accessibility/selection-initial.html: Added.
9:44 PM Changeset in webkit [165869] by fpizlo@apple.com
  • 11 edits
    2 deletes in trunk/Source/JavaScriptCore

Get rid of Flush in SSA
https://bugs.webkit.org/show_bug.cgi?id=130440

Reviewed by Sam Weinig.

This is basically a red patch. We used to use backwards flow for determining what was
flushed, until it became clear that this doesn't make sense. Now the Flush nodes don't
accomplish anything. Keeping them around in SSA can only make things hard.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::SSAData::SSAData):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp: Removed.
  • dfg/DFGFlushLivenessAnalysisPhase.h: Removed.
  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

8:07 PM Changeset in webkit [165868] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, add some contributors, and fix Nadav's entry (he's not really a reviewer
yet).

  • Scripts/webkitpy/common/config/contributors.json:
7:54 PM Changeset in webkit [165867] by Brent Fulgham
  • 16 edits
    5 adds in trunk

TextTrackRegion Not Implemented
https://bugs.webkit.org/show_bug.cgi?id=116546

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
http://crbug.com/25798003

Source/WebCore:

Tests: media/track/regions-webvtt/text-track-region-display.html

media/track/regions-webvtt/text-track-region-dom-layout.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::newRegionsAvailable):

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

(WebCore::TextTrackRegion::TextTrackRegion):
(WebCore::TextTrackRegion::appendTextTrackCueBox):

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

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::notifyRegionWhenRemovingDisplayTree):
(WebCore::VTTCue::removeDisplayTree):

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

(WebCore::WebVTTParser::parseBytes):
(WebCore::WebVTTParser::collectMetadataHeader):

  • html/track/WebVTTParser.h:

LayoutTests:

  • media/track/captions-webvtt/captions-regions.vtt: Added.
  • media/track/regions-webvtt/text-track-cue-region-attribute-expected.txt: Rebaseline.
  • media/track/regions-webvtt/text-track-region-display-expected.txt: Added.
  • media/track/regions-webvtt/text-track-region-display.html: Added.
  • media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Added.
  • media/track/regions-webvtt/text-track-region-dom-layout.html: Added.
  • media/track/regions-webvtt/text-track-region-list-expected.txt: Rebaseline.
  • media/track/regions-webvtt/text-track-region-parser-expected.txt: Rebaseline.
7:33 PM Changeset in webkit [165866] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Share MemoryPressureHandler::releaseMemory() between platforms.
<https://webkit.org/b/130416>

Move the code that scours WebKit for things we can free up right now
to the common part of MemoryPressureHandler. This will enable other
platforms to do the same thing under pressure.

There's now also a platformReleaseMemory() where platform-specific
pressure relief stuff can go.

Reviewed by Antti Koivisto.

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):
(WebCore::MemoryPressureHandler::platformReleaseMemory):

  • platform/MemoryPressureHandler.h:
  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::MemoryPressureHandler::platformReleaseMemory):

7:02 PM Changeset in webkit [165865] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[WebGL] Destroy EAGLContext's backing store
https://bugs.webkit.org/show_bug.cgi?id=130439
<rdar://problem/16295217>

Reviewed by Tim Horton.

When a GraphicsContext3D is being destroyed, we should
also remove any EAGLContext backing store.

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::~GraphicsContext3D):

6:57 PM Changeset in webkit [165864] by ryuan.choi@samsung.com
  • 13 edits in trunk/Source/WebKit2

[EFL][WK2] Rename async APIs for better consistency with EFL
https://bugs.webkit.org/show_bug.cgi?id=130319

Reviewed by Gyuyoung Kim.

There are inconsistency with async keyword in several ewebkit2 APIs.
This patch rename them to {module/feature}_async_{verb} for better consistency with EFL.
In addition, added Async keyword into their callback name.

  • UIProcess/API/efl/ewk_application_cache_manager.cpp:

(EwkApplicationCacheOriginsAsyncData::EwkApplicationCacheOriginsAsyncData):
(getApplicationCacheOriginsCallback):
(ewk_application_cache_manager_origins_async_get):

  • UIProcess/API/efl/ewk_application_cache_manager.h:
  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(EwkCookiePolicyAsyncData::EwkCookiePolicyAsyncData):
(getAcceptPolicyCallback):
(ewk_cookie_manager_accept_policy_async_get):
(EwkCookieHostnamesAsyncData::EwkCookieHostnamesAsyncData):
(getHostnamesWithCookiesCallback):
(ewk_cookie_manager_hostnames_with_cookies_async_get):

  • UIProcess/API/efl/ewk_cookie_manager.h:
  • UIProcess/API/efl/ewk_database_manager.cpp:

(EwkDatabaseOriginsAsyncData::EwkDatabaseOriginsAsyncData):
(getDatabaseOriginsCallback):
(ewk_database_manager_origins_async_get):

  • UIProcess/API/efl/ewk_database_manager.h:
  • UIProcess/API/efl/ewk_storage_manager.cpp:

(EwkStorageOriginsAsyncData::EwkStorageOriginsAsyncData):
(getStorageOriginsCallback):
(ewk_storage_manager_origins_async_get):

  • UIProcess/API/efl/ewk_storage_manager.h:
  • UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:

(timerCallback):

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(EWK2CookieManagerTest::getAcceptPolicy):
(EWK2CookieManagerTest::getHostnamesWithCookies):

  • UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:

(EWK2DatabaseManagerTest::timerCallback):
(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:

(EWK2StorageManagerTest::timerCallback):
(TEST_F):

6:51 PM Changeset in webkit [165863] by timothy_horton@apple.com
  • 11 edits in trunk/Source

[iOS][WebKit2] Mark layer contents as being opaque if they are
https://bugs.webkit.org/show_bug.cgi?id=130427
<rdar://problem/15540434>

Reviewed by Simon Fraser.

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::isOpaque):

  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::RemoteLayerBackingStore):
(RemoteLayerBackingStore::ensureBackingStore):
(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
(RemoteLayerBackingStore::display):
(RemoteLayerBackingStore::applyBackingStoreToLayer):
Move the code to set a RemoteLayerBackingStore as a CALayer's contents
from RemoteLayerTreePropertyApplier to RemoteLayerBackingStore (mostly
as a way to keep the USE(IOSURFACE) #ifs in one place).
Remove the surface() getter, because it's no longer needed, and make
image() private as it can be now (and rename it to createImageForFrontBuffer
for clarity's sake).

Add an isOpaque argument to ensureBackingStore, encode/decode it, and
add a getter. If isOpaque is true when applying backing store to the
CALayer on the UI process side, set CALayer.contentsOpaque to let CA know.

Make opaque bitmaps if not using accelerated drawing. For the IOSurface
case, we can't make opaque IOSurfaces, but telling CA that we have filled
the whole bitmap still enables similar optimizations.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::applyPropertiesToLayer):
Reset contentsOpaque if the layer loses its backing store.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):
(WebKit::dumpChangedLayers):
Add a bit more logging about RemoteLayerBackingStore's opaqueness
and acceleratedness.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::updateBackingStore):
(PlatformCALayerRemote::setOpaque):
Invalidate the RemoteLayerBackingStore if layer opaqueness changes.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::paintsOpaquelyAtNonIntegralScales):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsOpaque):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintsOpaquelyAtNonIntegralScales):

  • rendering/RenderLayerBacking.h:

r159463 stopped us from setting layers opaque if they were being painted
at non-integral scale. This makes sense for compositing layers, which
are painted by arbitrary elements, but the main frame's RenderView
will always paint its entire contents. To restore the opaque contents
optimization to the main frame's tiles, don't de-opaquify layers
belonging to the main frame's RenderView.

6:48 PM Changeset in webkit [165862] by jpfau@apple.com
  • 3 edits in trunk/Source/WebCore

Unify <media> element callback registration and unregistration
https://bugs.webkit.org/show_bug.cgi?id=130417

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::didMoveToNewDocument):

  • html/HTMLMediaElement.h:
6:38 PM Changeset in webkit [165861] by fpizlo@apple.com
  • 2 edits in tags/Safari-538.23.1/Source/JavaScriptCore

Merge r165860.

2014-03-18 Filip Pizlo <fpizlo@apple.com>


Unreviewed, fix iOS production build.


6:36 PM Changeset in webkit [165860] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix iOS production build.

5:38 PM Changeset in webkit [165859] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

MediaDocument should set a max-width on its <video> element.
https://bugs.webkit.org/show_bug.cgi?id=114691

Reviewed by Eric Carlson.

Set a style attribute containing max-width:100% and max-height:100% so that large videos
are entirely visible within the browser window bounds.

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

5:28 PM Changeset in webkit [165858] by thiago.lacerda@openbossa.org
  • 5 edits in trunk/Source/WebCore

[WebRTC] Fix layering violation in RTCStatsRequest
https://bugs.webkit.org/show_bug.cgi?id=130426

Reviewed by Eric Carlson.

RTCStatsRequest::track() should return a MediaStreamTrackPrivate*.

No new tests needed.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::getStats):

  • Modules/mediastream/RTCStatsRequestImpl.cpp:

(WebCore::RTCStatsRequestImpl::create):
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::track):

  • Modules/mediastream/RTCStatsRequestImpl.h:
  • platform/mediastream/RTCStatsRequest.h:
5:01 PM Changeset in webkit [165857] by timothy@apple.com
  • 1 edit in trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig

Attempt to fix the Production build.

4:54 PM Changeset in webkit [165856] by beidson@apple.com
  • 22 edits in trunk/Source/WebKit2

Make image controls menu work in WK2
<rdar://problem/16294412> and https://bugs.webkit.org/show_bug.cgi?id=130424

Reviewed by Tim Horton.

  • Platform/SharedMemory.h:
  • Platform/mac/SharedMemoryMac.cpp:

(WebKit::SharedMemory::Handle::~Handle):
(WebKit::SharedMemory::Handle::clear):

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::Handle::~Handle):
(WebKit::SharedMemory::Handle::clear):

  • Shared/ContextMenuContextData.cpp:

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

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::controlledImageHandle):

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::Handle::clear):

  • Shared/ShareableBitmap.h:
  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):
(WebKit::WebPageProxy::replaceControlledImage):

  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/WebContextMenuProxyEfl.cpp:

(WebKit::WebContextMenuProxyEfl::showContextMenu):

  • UIProcess/efl/WebContextMenuProxyEfl.h:
  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::showContextMenu):

  • UIProcess/gtk/WebContextMenuProxyGtk.h:

Add a sharing service context menu that lives side-by-side with the normal one:

  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(+[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate]):
(-[WKSharingServicePickerDelegate setMenuProxy:WebKit::]):
(-[WKSharingServicePickerDelegate setPicker:]):
(-[WKSharingServicePickerDelegate sharingServicePicker:delegateForSharingService:]):
(-[WKSharingServicePickerDelegate sharingService:willShareItems:]):
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
(-[WKSharingServicePickerDelegate sharingService:sourceFrameOnScreenForShareItem:]):
(-[WKSharingServicePickerDelegate sharingService:transitionImageForShareItem:contentRect:]):
(-[WKSharingServicePickerDelegate sharingService:sourceWindowForShareItems:sharingContentScope:]):
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::setupImageServicesMenu):
(WebKit::WebContextMenuProxyMac::clearImageServicesMenu):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::WebContextMenuProxyMac::window):
(WebKit::WebContextMenuProxyMac::replaceControlledImage):

  • WebProcess/WebPage/WebContextMenu.cpp:

(WebKit::WebContextMenu::show):
(WebKit::WebContextMenu::replaceControlledImage):

  • WebProcess/WebPage/WebContextMenu.h:

Teach the WebProcess how to accept the replaced image.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::replaceControlledImage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
4:53 PM Changeset in webkit [165855] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Update RegExp Tracing code
https://bugs.webkit.org/show_bug.cgi?id=130381

Reviewed by Andreas Kling.

Updated the regular expression tracing code for 8/16 bit JIT as
well as match only entry points. Also added average string length
metric.

  • runtime/RegExp.cpp:

(JSC::RegExp::RegExp):
(JSC::RegExp::match):
(JSC::RegExp::printTraceData):

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

(JSC::VM::addRegExpToTrace):
(JSC::VM::dumpRegExpTrace):

  • runtime/VM.h:
  • yarr/YarrJIT.h:

(JSC::Yarr::YarrCodeBlock::get8BitMatchOnlyAddr):
(JSC::Yarr::YarrCodeBlock::get16BitMatchOnlyAddr):
(JSC::Yarr::YarrCodeBlock::get8BitMatchAddr):
(JSC::Yarr::YarrCodeBlock::get16BitMatchAddr):

4:09 PM Changeset in webkit [165854] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix a trivial FIXME
https://bugs.webkit.org/show_bug.cgi?id=130432

Reviewed by Tim Horton.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::encodeBackForwardTreeNode):

3:56 PM Changeset in webkit [165853] by andersca@apple.com
  • 8 edits in trunk/Source

Begin cleaning up KeyedDecoder and KeyedEncoder
https://bugs.webkit.org/show_bug.cgi?id=130431

Reviewed by Tim Horton.

Source/WebCore:

Rename KeyedDecoder::decodeVerifiedEnum to decodeEnum to match the encode function,
and sort the decode functions to be in the same logical order as the encode functions.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::decode):

  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::decodeEnum):

Source/WebKit2:

  • Shared/cf/KeyedDecoder.cpp:

(WebKit::KeyedDecoder::KeyedDecoder):
If we can't parse the property list data, just add an empty dictionary to the stack.

(WebKit::KeyedDecoder::decodeBool):
Remove unneeded m_dictionaryStack.last() null check. m_dictionaryStack would either be empty
or at least have a root element; it would never have a null element.

(WebKit::KeyedDecoder::decodeDouble):
Remove the same check as above and remove the CFNumberGetType checks since CFNumberGetValue will
do the type conversion for us and return false if it's lossy.

(WebKit::KeyedDecoder::decodeInt64):
Remove the m_dictionaryStack.last() check.

(WebKit::KeyedDecoder::decodeUInt32):
Ditto.

(WebKit::KeyedDecoder::decodeString):
Ditto.

(WebKit::KeyedDecoder::beginObject):
Ditto.

(WebKit::KeyedDecoder::beginArray):
Ditto.

(WebKit::KeyedDecoder::beginArrayElement):
Ditto.

  • Shared/cf/KeyedDecoder.h:

Sort functions to be in the same logical order as the base class.

  • Shared/cf/KeyedEncoder.cpp:

(WebKit::KeyedEncoder::finishEncoding):
Don't check for a non-null CFErrorRef here (which we incidentally never released on error). Instead,
just null check the returned CFDataRef object.

3:41 PM Changeset in webkit [165852] by alex.christensen@flexsim.com
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Unreviewed build fix after r165763.

  • win/tools/vsprops/GStreamerCommon.props:

Link to gsttag-1.0.lib in addition to other GStreamer libraries.

3:24 PM Changeset in webkit [165851] by matthew_hanson@apple.com
  • 1 edit in branches/safari-537.75-branch/LayoutTests/fast/ruby/ruby-illegal-combined-expected.txt

Reverted r165567 to the same expectation as trunk.

3:08 PM Changeset in webkit [165850] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed typo build fix for r165846.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

3:05 PM Changeset in webkit [165849] by commit-queue@webkit.org
  • 1 edit
    5 copies
    1 delete in trunk/LayoutTests

Unreviewed GTK Gardening.

Move expected accesibility results to the right path and update them.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-03-18

  • platform/gtk/accessibility/aria-help-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/aria-help-expected.txt.
  • platform/gtk/accessibility/aria-hidden-false-works-in-subtrees-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/aria-hidden-false-works-in-subtrees-expected.txt.
  • platform/gtk/accessibility/fieldset-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/fieldset-element-expected.txt.
  • platform/gtk/accessibility/meter-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/meter-element-expected.txt.
  • platform/gtk/accessibility/negative-tabindex-does-not-expose-label-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/negative-tabindex-does-not-expose-label-expected.txt.
2:57 PM Changeset in webkit [165848] by Darin Adler
  • 76 edits in trunk/Source

Reduce use of deprecatedCharacters in WebCore
https://bugs.webkit.org/show_bug.cgi?id=130318

Reviewed by Andreas Kling.

Source/WebCore:

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPathLexer::IDBKeyPathLexer): Use StringView for parsing.
(WebCore::IDBKeyPathLexer::lex): Ditto.
(WebCore::IDBKeyPathLexer::lexIdentifier): Ditto.

  • Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeString): Index directly into string instead of
using deprecatedCharacters.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol): Use
StringView::getCharactersWithUpconvert.
(WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Ditto.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
Use operator NSString * instead of explicitly creating an NSString.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::writeLittleEndianUInt16): Added.
(WebCore::CloneSerializer::serialize): Added a separate code path for 8-bit strings.
(WebCore::CloneSerializer::write): Ditto.

  • bindings/objc/WebScriptObject.mm:

(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
Use operator NSString * instead of explicitly creating an NSString.

  • dom/Document.cpp:

(WebCore::Document::parseQualifiedName): Index directly into string instead of
using deprecatedCharacters.

  • editing/CompositeEditCommand.cpp:

(WebCore::containsOnlyWhitespace): Ditto.

  • editing/SmartReplace.cpp:

(WebCore::addAllCodePoints): Ditto.
(WebCore::getSmartSet): Use StringView::upconvertedCharacters.

  • editing/TextIterator.cpp:

(WebCore::foldQuoteMarksAndSoftHyphens): Changed to return a value so it can be
used in initialization rather than assignment.
(WebCore::SearchBuffer::SearchBuffer): Use StringView::upconvertedCharacters.

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::insertText): Index directly into string instead of using
deprecatedCharacters.

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::characterAfter): Ditto.

  • editing/VisibleUnits.cpp:

(WebCore::startOfParagraph): Ditto.
(WebCore::endOfParagraph): Ditto.

  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::append): Pass a StringView to TextEncoding::encode.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::parseToDateComponents): Use
StringView::upconvertedCharacters.

  • html/FormDataList.cpp:

(WebCore::FormDataList::appendString): Pass a StringView to TextEncoding::encode.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::normalizeSpaces): Use StringView::getCharactersWithUpconvert.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::stripLeadingAndTrailingHTMLSpaces): Use characters16 for a code path
that already handled 8-bit characters separately.
(WebCore::parseHTMLNonNegativeInteger): Ditto.
(WebCore::parseDescriptors): Added an 8-bit code path.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Index directly into
string instead of using deprecatedCharacters.

  • inspector/InspectorStyleTextEditor.cpp:

(WebCore::InspectorStyleTextEditor::insertProperty): Ditto.
(WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.

  • page/ContentSecurityPolicy.cpp:

(WebCore::isSourceListNone): Use StringView::upconvertedCharacters.
(WebCore::CSPSourceList::parse): Ditto.
(WebCore::NonceDirective::parse): Ditto.
(WebCore::MediaListDirective::parse): Ditto.
(WebCore::CSPDirectiveList::parse): Ditto.
(WebCore::CSPDirectiveList::parseReportURI): Ditto.
(WebCore::CSPDirectiveList::parseReflectedXSS): Ditto.
(WebCore::ContentSecurityPolicy::didReceiveHeader): Ditto.

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeFrame): Pass a StringView into
TextEncoding::encode.
(WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.

  • platform/Length.cpp:

(WebCore::countCharacter): Index directly into string instead of using
deprecatedCharacters. Also changed to take a StringImpl&.
(WebCore::newCoordsArray): Ditto. Call countCharacter the new way, and
use StringView::upconvertedCharacters.
(WebCore::newLengthArray): Ditto.

  • platform/LinkHash.cpp:

(WebCore::visitedLinkHash): Use characters16 for the 16-bit path.
Also removed unused visitedURL function.

  • platform/LinkHash.h: Removed unused visitedURL function.
  • platform/SharedBuffer.cpp:

(WebCore::utf8Buffer): Added an 8-bit code path.

  • platform/URL.cpp:

(WebCore::URL::port): Ditto.
(WebCore::encodeRelativeString): Use StringView to call TextEncoding::encode.

  • platform/graphics/Color.cpp:

(WebCore::Color::parseHexColor): Use characters16 in the 16-bit path.
(WebCore::Color::Color): Ditto.

  • platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:

(WebCore::harfBuzzGetGlyph): Use StringView to call TextEncoding::encode.

  • platform/graphics/StringTruncator.cpp:

(WebCore::centerTruncateToBuffer): Use StringView::getCharactersWithUpconvert.
(WebCore::rightTruncateToBuffer): Ditto.
(WebCore::rightClipToCharacterBuffer): Ditto.
(WebCore::rightClipToWordBuffer): Ditto.
(WebCore::leftTruncateToBuffer): Ditto.
(WebCore::truncateString): Ditto.

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun): Use characters16 in the 16-bit code path.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
Use StringView::upconvertedCharacters.

  • platform/network/DataURL.cpp:

(WebCore::handleDataURL): Use StringView to call TextEncoding::encode.

  • platform/network/FormDataBuilder.cpp:

(WebCore::FormDataBuilder::addFilenameToMultiPartHeader): Ditto.

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::bindBlob): Use StringView::upconvertedCharacters.
(WebCore::SQLiteStatement::bindText): Ditto.

  • platform/text/DecodeEscapeSequences.h:

(WebCore::Unicode16BitEscapeSequence::decodeRun): Changed to take a StringView.
(WebCore::URLEscapeSequence::decodeRun): Ditto.
(WebCore::decodeEscapeSequences): Pass StringView to decodeRun.

  • platform/text/Hyphenation.cpp:

(WebCore::lastHyphenLocation): Take a StringView.

  • platform/text/Hyphenation.h: Make lastHyphenLocation take a StringView.
  • platform/text/TextBreakIterator.cpp:

(WebCore::initializeIteratorWithRules): Use StringView::upconvertedCharacters.

  • platform/text/TextEncoding.cpp:

(WebCore::TextEncoding::encode): Use StringView::upconvertedCharacters.
Change argument type to StringView.

  • platform/text/TextEncoding.h: Ditto.
  • platform/text/TextEncodingRegistry.cpp:

(WebCore::atomicCanonicalTextEncodingName): Use characters16 for the 16-bit path.

  • platform/text/cf/HyphenationCF.cpp:

(WebCore::lastHyphenLocation): Use StringView::text.createCFStringWithoutCopying.
Change argument type to StringView.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::constructTextRun): Use characters16 for the 16-bit path.

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::width): Removed check for null characters pointer,
since the pointer will never be null, and even if it was there would be no need
for an early exit.

  • rendering/RenderText.cpp:

(WebCore::maxWordFragmentWidth): Take a StringView.
(WebCore::RenderText::computePreferredLogicalWidths): Pass in a StringView.

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::tryHyphenating): Ditto.

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Use
StringView::upconvertedCharacters.

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::SVGTextMetrics): Use String::substring.

  • svg/SVGAngle.cpp:

(WebCore::SVGAngle::setValueAsString): Use StringView::upconvertedCharacters.

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::parsePoint): Ditto.

  • svg/SVGAnimationElement.cpp:

(WebCore::parseKeySplines): Ditto.

  • svg/SVGFitToViewBox.cpp:

(WebCore::SVGFitToViewBox::parseViewBox): Ditto.

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection): Pass StringView to
createStringWIthMirroredCharacters.
(WebCore::createStringWithMirroredCharacters): Changed to use StringView and
use indexing into that instead of a characters pointer.

  • svg/SVGFontData.h: Removed createStringWithMirroredCharacters member function,

since it has nothing to do with the SVGFontData object. Now it's just a private
helper function in the SVGFontData.cpp source file.

  • svg/SVGFontElement.cpp:

(WebCore::SVGFontElement::registerLigaturesInGlyphCache): Index into the string
instead of using deprecatedCharacters.

  • svg/SVGGlyphMap.h:

(WebCore::SVGGlyphMap::addGlyph): Use StringView::upconvertedCharacters.
(WebCore::SVGGlyphMap::collectGlyphsForString): Ditto.

  • svg/SVGGlyphRefElement.cpp:

(WebCore::SVGGlyphRefElement::parseAttribute): Ditto.

  • svg/SVGLength.cpp:

(WebCore::SVGLength::setValueAsString): Ditto.

  • svg/SVGLengthList.cpp:

(WebCore::SVGLengthList::parse): Ditto.

  • svg/SVGNumberList.cpp:

(WebCore::SVGNumberList::parse): Ditto.

  • svg/SVGParserUtilities.cpp:

(WebCore::parseNumberFromString): Ditto.
(WebCore::parseNumberOptionalNumber): Ditto.
(WebCore::parseRect): Ditto.
(WebCore::pointsListFromSVGData): Ditto.
(WebCore::parseGlyphName): Ditto.
(WebCore::parseKerningUnicodeString): Ditto.
(WebCore::parseDelimitedString): Ditto.

  • svg/SVGPreserveAspectRatio.cpp:

(WebCore::SVGPreserveAspectRatio::parse): Ditto.

  • svg/SVGStringList.cpp:

(WebCore::SVGStringList::parse): Ditto.

  • svg/SVGTransformList.cpp:

(WebCore::SVGTransformList::parse): Ditto.

  • svg/SVGTransformable.cpp:

(WebCore::SVGTransformable::parseTransformType): Ditto.

  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::parseViewSpec): Ditto.

  • svg/SVGZoomAndPan.h:

(WebCore::SVGZoomAndPan::parseAttribute): Ditto.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send): Pass a StringView to TextEncoding::encode.

  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::parseString): Use StringView::upconvertedCharacters.

Source/WTF:

  • wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used

in WebCore now.

  • wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows.
  • WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp.
  • WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp.
2:53 PM Changeset in webkit [165847] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebKit2

Add a newline to the end of WKPreferences.cpp to suppress -Werror, -pedantic, and -Wnewline-eof.

2:46 PM Changeset in webkit [165846] by Joseph Pecoraro
  • 12 edits in trunk/Source/WebKit2

WebKit2 SPI to disable remote inspection on a WKWebView / WKPage
https://bugs.webkit.org/show_bug.cgi?id=130371

Reviewed by Dan Bernstein.

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
Add allowsRemoteInspection bool.

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageGetAllowsRemoteInspection):
(WKPageSetAllowsRemoteInspection):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _allowsRemoteInspection]):
(-[WKWebView _setAllowsRemoteInspection:]):
Getter and setter for allowing remote inspection state.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::allowsRemoteInspection):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setAllowsRemoteInspection):
(WebKit::WebPageProxy::creationParameters):
Cached allows remote inspection state, with getter and setter.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setAllowsRemoteInspection):
When setting, call into WebCore to adjust the Page's setting.

2:38 PM Changeset in webkit [165845] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Test fast/events/touch/touch-target-limited.html crashes.

Some tests on editing/spelling are timing out, but not longer failing:
editing/spelling/spellcheck-paste.html
editing/spelling/spelling-changed-text.html
editing/spelling/spellcheck-paste-disabled.html
editing/spelling/spellcheck-paste-continuous-disabled.html

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-03-18

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
2:22 PM Changeset in webkit [165844] by jer.noble@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Merge r165478 and r165425.

Source/WebCore: Merge r165478.

2014-03-12 Jer Noble <jer.noble@apple.com>

[Mac] Crash when running media/fallback.html test in MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification()
https://bugs.webkit.org/show_bug.cgi?id=130136

Reviewed by Eric Carlson.

MediaPlayerPrivateAVFoundation is trying to lock its m_queueMutex from an async thread after
while being destroyed in the main thread. To resolve this race condition, redispatch from
the async thread to the main thread, and use a WeakPtr to determine whether the object has
been destroyed or not.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):

Source/WTF: Merge r165425.

2014-03-10 Jer Noble <jer.noble@apple.com>

Improve WeakPtr operators.
https://bugs.webkit.org/show_bug.cgi?id=130053

Reviewed by Andreas Kling.

Replace the "operator!()" with an explicit bool operator. Add an "operator->()".

  • wtf/WeakPtr.h: (WTF::WeakPtr::operator bool): (WTF::WeakPtr::operator->):
1:58 PM Changeset in webkit [165843] by Bem Jones-Bey
  • 19 edits in trunk/Source/WebCore

LayoutBox is a terrible name
https://bugs.webkit.org/show_bug.cgi?id=130351

Reviewed by Simon Fraser.

Rename LayoutBox to CSSBoxType. Also rename the functions and methods
that mention "LayoutBox" to something that makes sense for each
specific situation.

No new tests, no behavior change.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInset::cssText):

  • css/CSSBasicShapes.h:

(WebCore::CSSBasicShape::referenceBox):
(WebCore::CSSBasicShape::setReferenceBox):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::shapePropertyValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator CSSBoxType):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • rendering/ClipPathOperation.h:

(WebCore::ShapeClipPathOperation::setReferenceBox):
(WebCore::ShapeClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::create):
(WebCore::BoxClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::BoxClipPathOperation):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createBoxShape):

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

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

  • rendering/shapes/ShapeInfo.h:
  • rendering/shapes/ShapeInsideInfo.h:
  • rendering/shapes/ShapeOutsideInfo.h:
  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend):

  • rendering/style/BasicShapes.h:

(WebCore::BasicShape::referenceBox):
(WebCore::BasicShape::setReferenceBox):
(WebCore::BasicShape::BasicShape):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/ShapeValue.h:

(WebCore::ShapeValue::createShapeValue):
(WebCore::ShapeValue::createBoxShapeValue):
(WebCore::ShapeValue::cssBox):
(WebCore::ShapeValue::ShapeValue):

1:53 PM Changeset in webkit [165842] by fpizlo@apple.com
  • 15 edits
    1 add in trunk/Source/JavaScriptCore

Add CompareStrictEq(StringIdent:, NotStringVar:) and CompareStrictEq(String:, Untyped:)
https://bugs.webkit.org/show_bug.cgi?id=130300

Reviewed by Mark Hahnenberg.

We can quickly strictly compare StringIdent's to NotStringVar's and String's to Untyped's.
This makes the DFG aware of this.

Also adds StringIdent-to-StringIdent and StringIdent-to-NotStringVar strict comparisons to
the FTL. Also adds StringIdent-to-StringIdent non-strict comparisons to the FTL.

This also gives the DFG some abstractions for checking something is a cell or is other.
This made this patch easier to write and also simplified a bunch of other stuff.

1% speed-up on Octane.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::JumpList::JumpList):

  • bytecode/SpeculatedType.h:

(JSC::isNotStringVarSpeculation):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::childFor):
(JSC::DFG::Node::shouldSpeculateNotStringVar):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileBooleanCompare):
(JSC::DFG::SpeculativeJIT::compileStringEquality):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileStringZeroLength):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateStringIdentAndLoadStorage):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::speculate):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::blessedBooleanResult):
(JSC::DFG::SpeculativeJIT::unblessedBooleanResult):
(JSC::DFG::SpeculativeJIT::booleanResult):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::branchIsCell):
(JSC::DFG::branchNotCell):
(JSC::DFG::SpeculativeJIT::branchIsOther):
(JSC::DFG::SpeculativeJIT::branchNotOther):
(JSC::DFG::SpeculativeJIT::moveTrueTo):
(JSC::DFG::SpeculativeJIT::moveFalseTo):
(JSC::DFG::SpeculativeJIT::blessBoolean):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::branchIsCell):
(JSC::DFG::SpeculativeJIT::branchNotCell):
(JSC::DFG::SpeculativeJIT::branchIsOther):
(JSC::DFG::SpeculativeJIT::branchNotOther):
(JSC::DFG::SpeculativeJIT::moveTrueTo):
(JSC::DFG::SpeculativeJIT::moveFalseTo):
(JSC::DFG::SpeculativeJIT::blessBoolean):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::lowString):
(JSC::FTL::LowerDFGToLLVM::lowStringIdent):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateString):
(JSC::FTL::LowerDFGToLLVM::speculateStringIdent):
(JSC::FTL::LowerDFGToLLVM::speculateNotStringVar):

  • runtime/JSCJSValue.h:
  • tests/stress/string-ident-to-not-string-var-equality.js: Added.

(foo):
(bar):
(test):

1:45 PM Changeset in webkit [165841] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: Visited link coloring seems to be completely broken in tip of tree
https://bugs.webkit.org/show_bug.cgi?id=130419
<rdar://problem/16337850>

Reviewed by Dan Bernstein.

Make sure to send any queued up messages before calling connectionWillOpen so we'll ensure
FIFO ordering if any messages are sent from within connectionWillOpen.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):

1:36 PM Changeset in webkit [165840] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add Copyright to framework.sb
https://bugs.webkit.org/show_bug.cgi?id=130413

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-18
Reviewed by Timothy Hatcher.

Other sb files got the copyright. Follow suit.

  • framework.sb:
1:18 PM Changeset in webkit [165839] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

WebPageCreationParameters colorSpace should be MAC not COCOA
https://bugs.webkit.org/show_bug.cgi?id=130414

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-18
Reviewed by Dan Bernstein.

The colorSpace param was only set and used on Mac, not iOS.

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

1:07 PM Changeset in webkit [165838] by commit-queue@webkit.org
  • 1 edit
    1 move in trunk/Source/WebInspectorUI

Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions
https://bugs.webkit.org/show_bug.cgi?id=130412

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-18
Reviewed by Timothy Hatcher.

Rename the script and simplify to only update Legacy protocol versions.

  • Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb.
1:00 PM Changeset in webkit [165837] by dbates@webkit.org
  • 5 edits
    2 adds in trunk

REGRESSION (r162334): RenderTableCol::styleDidChange uses out-of-date table information
https://bugs.webkit.org/show_bug.cgi?id=129561

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/table/update-col-width-and-remove-table-cell-crash.html

Fixes an issue where a table column or table column group may query an out-
of-date model of its associated table as part of its process to propagate
style changes to affected table cells.

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::styleDidChange): Ensure that all sections in the table
are up-to-date before querying for a table cell.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::recalcCells): Update comment to read well. In
particular, remove the reference to RenderTableSection::fillRowsWithDefaultStartingAtPosition()
as this function was removed in <http://trac.webkit.org/changeset/99919>.
(WebCore::RenderTableSection::setNeedsCellRecalc): Clear the grid preemptively to
to ensure that accessors cannot access stale data. We'll build the grid again
in RenderTableSection::recalcCells().
(WebCore::RenderTableSection::numColumns): Add ASSERT(!m_needsCellRecalc) to assert
that the grid cells are up-to-date. That is, we don't need to calculate them again.

  • rendering/RenderTableSection.h: Add ASSERT(!m_needsCellRecalc) or call recalcCellsIfNeeded()

before accessing the grid to ensure that it's up-to-date.

LayoutTests:

Add a test to ensure that a table column propagates a style change to applicable
table cells.

  • fast/table/update-col-width-and-remove-table-cell-crash-expected.txt: Added.
  • fast/table/update-col-width-and-remove-table-cell-crash.html: Added.
12:59 PM Changeset in webkit [165836] by dbates@webkit.org
  • 6 edits
    4 adds in trunk

REGRESSION (r163560): ASSERTION FAILED: childrenInline() in WebCore::RenderSVGText::layout
https://bugs.webkit.org/show_bug.cgi?id=130346

Reviewed by Andreas Kling.

Source/WebCore:

Following <http://trac.webkit.org/changeset/163560>, SVG inline elements may be treated as block-
level elements depending on their CSS styles (e.g. display: block). But such elements should always
be treated as inline-level elements.

Partially revert <http://trac.webkit.org/changeset/164368> as it addressed a similar issue for
<tspan> and <tref>. Instead we should implement RenderSVGInline::updateFromStyle() to ensure that
RenderSVGInline and any derived classes (e.g. RenderSVGTSpan) are always treated as inline elements
regardless of their CSS style because the SVG text layout code depends on this assumption as part
of a performance optimization. We may want to revaluate the benefits of this optimization with respect
to code clarity and ensuring the code is less error prone.

Test: svg/text/a-display-block.html

svg/text/tref-display-inherit.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Revert changes from <http://trac.webkit.org/changeset/164368>.

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

(WebCore::RenderSVGInline::updateFromStyle): Added; ensure that RenderSVGInline and any derived
classes are treated as inline elements because the SVG text layout code depends on this assumption.

  • rendering/svg/RenderSVGInline.h:

LayoutTests:

Added tests to ensure that SVG <a> and <tref> are always treated as inline-level elements.

  • svg/text/a-display-block-expected.txt: Added.
  • svg/text/a-display-block.html: Added.
  • svg/text/tref-display-inherit-expected.txt: Added.
  • svg/text/tref-display-inherit.html: Added.
12:50 PM Changeset in webkit [165835] by hmuller@adobe.com
  • 6 edits in trunk

[CSS Shapes] shape-outside: ellipse(50% 50% at) causes crash
https://bugs.webkit.org/show_bug.cgi?id=130366

Reviewed by Andreas Kling.

Source/WebCore:

The BasicShape ellipse and circle functions now report a syntax error
if the "at" keyword is not followed by a position.

The existing parsing tests have been updated to include this case.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):

LayoutTests:

Added invalid syntax tests for ellipse(.. at), circle(.. at) variations.

  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
12:47 PM Changeset in webkit [165834] by thiago.lacerda@openbossa.org
  • 4 edits in trunk/Source/WebCore

Removing MediaStreamVector typedef
https://bugs.webkit.org/show_bug.cgi?id=130402

Reviewed by Eric Carlson.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::getLocalStreams):
(WebCore::RTCPeerConnection::getRemoteStreams):
(WebCore::RTCPeerConnection::getStreamById):
(WebCore::RTCPeerConnection::hasLocalStreamWithTrackId):

  • Modules/mediastream/RTCPeerConnection.h:
12:46 PM Changeset in webkit [165833] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Tools

Web Inspector: Remove stale ReportMemoryUsagePlugin
https://bugs.webkit.org/show_bug.cgi?id=130405

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-18
Reviewed by Andreas Kling.

This clang plugin looks like it was used for the old Inspector memory
instrumentation that was removed. So the tool can be removed.

  • clang/ReportMemoryUsagePlugin/CMakeLists.txt: Removed.
  • clang/ReportMemoryUsagePlugin/Makefile: Removed.
  • clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp: Removed.
  • clang/ReportMemoryUsagePlugin/tests/Source/WebCore/Test.cpp: Removed.
12:45 PM Changeset in webkit [165832] by Brent Fulgham
  • 3 edits in branches/safari-537.75-branch/Source/WebKit/win

Build correction after last merge.

  • WebPreferences.cpp:

(WebPreferences::isInheritURIQueryComponentEnabled): Must use CFSTR wrappers
on key names in this code.
(WebPreferences::setEnableInheritURIQueryComponent): Ditto.

  • WebView.cpp:

(WebView::notifyPreferencesChanged): This version of the code used pointers
for the preference instance.

12:39 PM Changeset in webkit [165831] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Removed extra parens from if statement in a preprocessor define.
https://bugs.webkit.org/show_bug.cgi?id=130408

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

  • parser/Parser.cpp:
12:30 PM Changeset in webkit [165830] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Follow-up fix for the merge of r163579.

12:16 PM Changeset in webkit [165829] by commit-queue@webkit.org
  • 15 edits
    5 deletes in trunk

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

Broke many VTT tests (Requested by bfulgham on #webkit).

Reverted changeset:

Source/WebCore:

"TextTrackRegion Not Implemented"
https://bugs.webkit.org/show_bug.cgi?id=116546
http://trac.webkit.org/changeset/165815

LayoutTests:

"TextTrackRegion Not Implemented"
https://bugs.webkit.org/show_bug.cgi?id=116546
http://trac.webkit.org/changeset/165815

12:07 PM Changeset in webkit [165828] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebKit2

Remove consecutive single quotations, as the C compiler does not recognize scheme comments.

12:05 PM Changeset in webkit [165827] by jer.noble@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebKit2

Unreviewed Mountain Lion build fix. Work around "empty character constant" error
by replacing double single-quotes with single double-quotes.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
11:57 AM Changeset in webkit [165826] by reni@webkit.org
  • 3 edits
    2 adds in trunk

Bad cast with toRenderBox in WebCore::RenderView::repaintViewRectangle
https://bugs.webkit.org/show_bug.cgi?id=129104

Reviewed by Simon Fraser.

Source/WebCore:

We should not cast the renderer of a RenderView's owner to RenderBox
unless we are sure it is one.

Test: plugins/crash-invalid-data-reference.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintViewRectangle):

LayoutTests:

  • plugins/crash-invalid-data-reference-expected.txt: Added.
  • plugins/crash-invalid-data-reference.html: Added.
11:30 AM Changeset in webkit [165825] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Dan says that options should be unsigned, and enums should be signed.

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(NS_ENUM):

11:30 AM Changeset in webkit [165824] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

webkit-patch land shouldn't add a reviewer for unreviewed build fixes
https://bugs.webkit.org/show_bug.cgi?id=130220

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

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLog.set_reviewer):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_set_reviewer):

11:13 AM Changeset in webkit [165823] by ap@apple.com
  • 13 edits
    1 add in trunk/Source/WebKit2

[WK2] Pass ranges over IPC in a cross-platform manner
https://bugs.webkit.org/show_bug.cgi?id=130376

Reviewed by Anders Carlsson.

Added an EditingRange class for IPC, which automatically converts to and from
NSRanges, knowing the difference between notFound and NSNotFound.

Manually applied the same fix to characterIndexForPoint.

  • Scripts/webkit2/messages.py:

(struct_or_class):

  • Shared/EditingRange.h: Added.

(WebKit::EditingRange::EditingRange):
(WebKit::EditingRange::isValid):
(WebKit::EditingRange::operator NSRange):

  • UIProcess/API/mac/WKView.mm:

(-[WKView insertText:replacementRange:]):
(-[WKView selectedRange]):
(-[WKView hasMarkedText]):
(-[WKView setMarkedText:selectedRange:replacementRange:]):
(-[WKView markedRange]):
(-[WKView attributedSubstringForProposedRange:actualRange:]):
(-[WKView characterIndexForPoint:]):
(-[WKView firstRectForCharacterRange:actualRange:]):

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

(-[WKContentView setMarkedText:selectedRange:]):
(-[WKContentView insertText:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::insertText):
(WebKit::WebPageProxy::insertDictatedText):
(WebKit::WebPageProxy::getMarkedRange):
(WebKit::WebPageProxy::getSelectedRange):
(WebKit::WebPageProxy::getAttributedSubstringFromRange):
(WebKit::WebPageProxy::firstRectForCharacterRange):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::insertText):
(WebKit::WebPageProxy::insertDictatedText):
(WebKit::WebPageProxy::getMarkedRange):
(WebKit::WebPageProxy::getSelectedRange):
(WebKit::WebPageProxy::getAttributedSubstringFromRange):
(WebKit::WebPageProxy::firstRectForCharacterRange):

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

(WebKit::WebPage::rangeFromEditingRange):

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

(WebKit::WebPage::setComposition):
(WebKit::WebPage::insertText):
(WebKit::WebPage::insertDictatedText):
(WebKit::WebPage::getMarkedRange):
(WebKit::WebPage::getSelectedRange):
(WebKit::WebPage::getAttributedSubstringFromRange):
(WebKit::WebPage::firstRectForCharacterRange):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::insertText):
(WebKit::WebPage::insertDictatedText):
(WebKit::WebPage::getMarkedRange):
(WebKit::WebPage::getSelectedRange):
(WebKit::WebPage::getAttributedSubstringFromRange):
(WebKit::WebPage::characterIndexForPoint):
(WebKit::WebPage::firstRectForCharacterRange):

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

Micro-optimize element descendant iterator.
<https://webkit.org/b/130384>

Add a slightly more efficient ElementDescendantIterator that keeps a stack
of relevant ancestor siblings instead of walking up the parent chain every
time we run out of children.

Reviewed by Antti Koivisto.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/ElementDescendantIterator.h: Added.

(WebCore::ElementDescendantIterator::ElementDescendantIterator):
(WebCore::ElementDescendantIterator::operator++):
(WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator):
(WebCore::ElementDescendantConstIterator::operator++):
(WebCore::ElementDescendantIteratorAdapter::ElementDescendantIteratorAdapter):
(WebCore::ElementDescendantIteratorAdapter::begin):
(WebCore::ElementDescendantIteratorAdapter::end):
(WebCore::ElementDescendantConstIteratorAdapter::ElementDescendantConstIteratorAdapter):
(WebCore::ElementDescendantConstIteratorAdapter::begin):
(WebCore::ElementDescendantConstIteratorAdapter::end):
(WebCore::elementDescendants):

  • dom/ElementIterator.h:
  • dom/SelectorQuery.cpp:

(WebCore::elementsForLocalName):
(WebCore::anyElement):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData):
(WebCore::SelectorDataList::executeSingleClassNameSelectorData):
(WebCore::SelectorDataList::executeSingleSelectorData):
(WebCore::SelectorDataList::executeSingleMultiSelectorData):
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):

11:06 AM Changeset in webkit [165821] by Antti Koivisto
  • 5 edits
    4 adds in trunk

Mutating rules returned by getMatchedCSSRules can result in crash
https://bugs.webkit.org/show_bug.cgi?id=130209

Source/WebCore:

Reviewed by Andreas Kling.

The non-standard getMatchedCSSRules API returns CSSStyleRule objects that don't
have parent stylesheet pointer (as we don't know which sheet the rule originated from).
Mutating the rule via such wrapper can lead to crashes later as we fail to invalidate
the underlying stylesheet.

Fix by disallowing mutation of style rules that don't have parent sheet pointer. CSSStyleRule
has two mutable properties selectorText and style. The latter gives back CSSStyleDeclaration.
This patch disallows mutations in both cases for CSSStyleRules that don't have parent stylesheet
pointer.

While it is technically possible to have CSSRules that are legitimately disconnected
from stylesheet (by removing rule from sheet while holding a reference to it) it never
makes sense to mutate such rule as there is no way to do anything with it afterwards.

Tests: fast/css/getMatchedCSSProperties-rule-mutation.html

fast/css/getMatchedCSSRules-crash.html

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):

Bail out if parent stylesheet is null.

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):

Allow StyleRuleCSSStyleDeclaration subclass cancel the mutation via
boolean return value from willMutate.

(WebCore::StyleRuleCSSStyleDeclaration::willMutate):

Disallow mutation if the owning CSSStyleRule is null or has null stylesheet.

(WebCore::StyleRuleCSSStyleDeclaration::didMutate):

We never get here with null rule or stylesheet anymore.

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::willMutate):

LayoutTests:

Reviewed by Andreas Kling.

  • fast/css/getMatchedCSSProperties-rule-mutation-expected.txt: Added.
  • fast/css/getMatchedCSSProperties-rule-mutation.html: Added.
  • fast/css/getMatchedCSSRules-crash-expected.txt: Added.
  • fast/css/getMatchedCSSRules-crash.html: Added.
11:05 AM Changeset in webkit [165820] by jpfau@apple.com
  • 2 edits in trunk/Source/WebCore

<media> elements are not properly moved to new documents' visibility callback lists
https://bugs.webkit.org/show_bug.cgi?id=127711

Reviewed by David Kilzer.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::didMoveToNewDocument):

11:02 AM Changeset in webkit [165819] by fpizlo@apple.com
  • 19 edits in tags/Safari-538.23.1

More FTL enabling.

Source/JavaScriptCore:

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

  • Configurations/FeatureDefines.xcconfig:
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

Source/WebCore:

Reviewed by Dan Bernstein.

No new tests because this already has ample test coverage in JSC.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Reviewed by Dan Bernstein.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Dan Bernstein.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

  • wtf/Platform.h:

Tools:

Rubber stamped by Dan Bernstein.

  • Tools/Scripts/build-webkit:
10:59 AM Changeset in webkit [165818] by fpizlo@apple.com
  • 13 edits in trunk

More FTL enabling.

Source/JavaScriptCore:

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

  • Configurations/FeatureDefines.xcconfig:
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

Source/WebCore:

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

No new tests.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Rubber stamped by Dan Bernstein.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Rubber stamped by Dan Bernstein.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

  • wtf/Platform.h:

Tools:

Rubber stamped by Dan Bernstein.

  • Tools/Scripts/build-webkit:
10:57 AM Changeset in webkit [165817] by Simon Fraser
  • 5 edits in trunk

Renable pagination mode in WK2 MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=130374

Source/WebKit2:

Reviewed by Anders Carlsson.

Add SPI for pagination mode.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _paginationMode]):
(-[WKWebView _setPaginationMode:]):
(-[WKWebView _paginationBehavesLikeColumns]):
(-[WKWebView _setPaginationBehavesLikeColumns:]):
(-[WKWebView _pageLength]):
(-[WKWebView _setPageLength:]):
(-[WKWebView _gapBetweenPages]):
(-[WKWebView _setGapBetweenPages:]):
(-[WKWebView _pageCount]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(NS_ENUM):

Tools:

Reviewed by Anders Carlsson.

Put the implementation of togglePaginationMode: back, and correctly
enable the menu item.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController isPaginated]):
(-[WK2BrowserWindowController togglePaginationMode:]):

10:54 AM Changeset in webkit [165816] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add --reset option to Tools/Scripts/set-webkit-configuration script
https://bugs.webkit.org/show_bug.cgi?id=130401

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

  • Scripts/set-webkit-configuration:
10:40 AM Changeset in webkit [165815] by Brent Fulgham
  • 15 edits
    5 adds in trunk

TextTrackRegion Not Implemented
https://bugs.webkit.org/show_bug.cgi?id=116546

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
http://crbug.com/25798003

Source/WebCore:

Tests: media/track/regions-webvtt/text-track-region-display.html

media/track/regions-webvtt/text-track-region-dom-layout.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::newRegionsAvailable):

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

(WebCore::TextTrackRegion::TextTrackRegion):
(WebCore::TextTrackRegion::appendTextTrackCueBox):

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

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::notifyRegionWhenRemovingDisplayTree):
(WebCore::VTTCue::removeDisplayTree):

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

(WebCore::WebVTTParser::parseBytes):
(WebCore::WebVTTParser::collectMetadataHeader):

  • html/track/WebVTTParser.h:

LayoutTests:

  • media/track/captions-webvtt/captions-regions.vtt: Added.
  • media/track/regions-webvtt/text-track-cue-region-attribute-expected.txt: Rebaseline.
  • media/track/regions-webvtt/text-track-region-display-expected.txt: Added.
  • media/track/regions-webvtt/text-track-region-display.html: Added.
  • media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Added.
  • media/track/regions-webvtt/text-track-region-dom-layout.html: Added.
  • media/track/regions-webvtt/text-track-region-list-expected.txt: Rebaseline.
  • media/track/regions-webvtt/text-track-region-parser-expected.txt: Rebaseline.
8:37 AM Changeset in webkit [165814] by Philippe Normand
  • 1 edit
    1 delete in trunk/Source/WebCore

[GTK] ResourceLoaderSoup.cpp was added by mistake
https://bugs.webkit.org/show_bug.cgi?id=130396

Reviewed by Carlos Garcia Campos.

This file was committed by mistake in r152778 and is not built by
any port.

  • loader/soup/ResourceLoaderSoup.cpp: Removed.
8:03 AM Changeset in webkit [165813] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit2

[CMAKE][WK2]Move CoordinatedGraphics related files out of WebKit2/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=130390

Reviewed by Martin Robinson.

Now, only EFL port use CoordinatedGraphics among CMake based ports.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake: Removed CoordinatedGraphics related files.
8:02 AM Changeset in webkit [165812] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Race condition when the socket event source is cancelled
https://bugs.webkit.org/show_bug.cgi?id=130395

Reviewed by Martin Robinson.

In some cases when the socket event source is cancelled the socket
event source callback is called with the condition of the previous
poll instead of 0. This can happen sometimes when the source is
cancelled from the socket event source callback. Once the socket
event source is cancelled, it's dispatched by glib without
polling, so the condition is never reset again and the callback is
called again and again with the previous condition. When the
condition is G_IO_IN, the source is re-scheduled entering into an
infinite loop. We should always check if the source has been
cancelled at the beginning of the callback to destroy the source
instead of relying on the condition being 0.

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::SocketEventSource::isCancelled):
(WorkQueue::SocketEventSource::eventCallback):

7:33 AM Changeset in webkit [165811] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: sourceMapResourceLoaded expects statusCode parameter
https://bugs.webkit.org/show_bug.cgi?id=130377

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-18
Reviewed by Timothy Hatcher.

  • UserInterface/Models/SourceMapResource.js:
7:08 AM Changeset in webkit [165810] by jaepark@webkit.org
  • 19 edits in trunk/Source/WebKit/gtk

[GTK][CMake] Fix WebKit unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=130383

Reviewed by Martin Robinson.

  • WebCoreSupport/AcceleratedCompositingContextGL.cpp: Fix unused parameters warning.
  • WebCoreSupport/ChromeClientGtk.cpp: Ditto.
  • WebCoreSupport/DragClientGtk.cpp: Ditto.
  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Ditto.
  • WebCoreSupport/EditorClientGtk.cpp: Ditto.
  • WebCoreSupport/FrameLoaderClientGtk.cpp: Ditto.
  • WebCoreSupport/InspectorClientGtk.cpp: Ditto.
  • WebCoreSupport/PlatformStrategiesGtk.cpp: Ditto.
  • WebCoreSupport/ProgressTrackerClientGtk.cpp: Ditto.
  • WebCoreSupport/WebViewInputMethodFilter.cpp: Ditto.
  • webkit/webkitdownload.cpp: Ditto.
  • webkit/webkitfavicondatabase.cpp: Ditto.
  • webkit/webkitsoupauthdialog.cpp: Ditto.
  • webkit/webkitspellchecker.cpp: Ditto.
  • webkit/webkitspellcheckerenchant.cpp: Ditto.
  • webkit/webkitwebframe.cpp: Ditto.
  • webkit/webkitwebinspector.cpp: Ditto.
  • webkit/webkitwebview.cpp: Ditto.
6:44 AM Changeset in webkit [165809] by berto@igalia.com
  • 2 edits in trunk/Tools

[GTK] [CMake] build-webkit-options.txt is not generated during a fresh build
https://bugs.webkit.org/show_bug.cgi?id=130388

Reviewed by Sergio Villar Senin.

  • Scripts/webkitdirs.pm:

(shouldRemoveCMakeCache): make sure that the build directory
exists before attempting to create a file in it.

5:51 AM Changeset in webkit [165808] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

[EFL] fontconfig-2.8.0 is not compliant with C++11 leading to a build break
https://bugs.webkit.org/show_bug.cgi?id=130336

Patch by Robert Plociennik <r.plociennik@samsung.com> on 2014-03-18
Reviewed by Gyuyoung Kim.

Compilation with gcc 4.8.x results in 'invalid suffix on literal; C++11
requires a space between literal and string macro [-Wliteral-suffix]'
warning treated as error.

This patch applies a solution from r162448 to the EFL port.

  • efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.
  • efl/jhbuild.modules: Added appropriate patch section.
4:56 AM Changeset in webkit [165807] by ryuan.choi@samsung.com
  • 1 edit in trunk/LayoutTests/ChangeLog

[EFL] Update baselines and test expectations
https://bugs.webkit.org/show_bug.cgi?id=130387

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-03-18

  • fast/events/touch/touch-slider-expected.txt:
  • fast/events/touch/touch-slider-no-js-touch-listener-expected.txt:

Update baselines after enabling TOUCH_SLIDER macro (r165722).

  • platform/efl-wk2/TestExpectations:

fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html
is failing after adding in r165587

  • platform/efl/js/dom/global-constructors-attributes-expected.txt:

Update baselines after refactoring Path to Path2D (r165651).

3:06 AM Changeset in webkit [165806] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

[EFL] Update baselines and test expectations
https://bugs.webkit.org/show_bug.cgi?id=130249111

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-03-18

  • fast/events/touch/touch-slider-expected.txt:
  • fast/events/touch/touch-slider-no-js-touch-listener-expected.txt:

Update baselines after enabling TOUCH_SLIDER macro (r165722).

  • platform/efl-wk2/TestExpectations:

fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html
is failing after adding in r165587

  • platform/efl/js/dom/global-constructors-attributes-expected.txt:

Update baselines after refactoring Path to Path2D (r165651).

2:42 AM Changeset in webkit [165805] by akling@apple.com
  • 6 edits
    1 add
    1 delete in trunk/Source/WebCore

Rename ElementDescendantIterator to TypedElementDescendantIterator.
Romper-stubbed by Antti "Latte Lung" Koivisto.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ElementDescendantIterator.h: Removed.
  • dom/ElementIterator.h:
  • dom/TypedElementDescendantIterator.h: Added.

(WebCore::TypedElementDescendantIterator<ElementType>::TypedElementDescendantIterator):
(WebCore::TypedElementDescendantIterator<ElementType>::operator):
(WebCore::TypedElementDescendantConstIterator<ElementType>::TypedElementDescendantConstIterator):
(WebCore::TypedElementDescendantConstIterator<ElementType>::operator):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::TypedElementDescendantIteratorAdapter):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::begin):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::end):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::beginAt):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::from):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::first):
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::last):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::TypedElementDescendantConstIteratorAdapter):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::begin):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::end):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::beginAt):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::from):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::first):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::last):
(WebCore::descendantsOfType):

1:51 AM Changeset in webkit [165804] by commit-queue@webkit.org
  • 6 edits in trunk

Add blend mode property to dumped information in GraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=130331

Patch by Ion Rosca <Ion Rosca> on 2014-03-18
Reviewed by Simon Fraser.

Source/WebCore:

Functionality is not changed, therefore no new tests added.
I adjusted the affected test results generated with layerTreeAsText.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties):

LayoutTests:

  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
1:50 AM Changeset in webkit [165803] by svillar@igalia.com
  • 2 edits in trunk/Source/WebCore

webdatabase: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
https://bugs.webkit.org/show_bug.cgi?id=130347

Reviewed by Darin Adler.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::openDatabaseMutex):
(WebCore::notificationMutex):
(WebCore::notificationQueue):

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

[GTK] URTFB after r165789. Stub function added.

  • WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:

(WebKit::InjectedBundle::setBundleParameter):

12:02 AM Changeset in webkit [165801] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, EFL build fix after r165789

  • WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:

(WebKit::InjectedBundle::setBundleParameter): Implemented.

Mar 17, 2014:

9:55 PM Changeset in webkit [165800] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit

Revert the erroneous change made by Xcode.

  • WebKit.xcodeproj/project.pbxproj:
9:55 PM Changeset in webkit [165799] by jaepark@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Build fix for debug build

Unreviewed.

finalizedListItem was actually used in ASSERT. So, use ASSERT_UNUSED
instead of ASSERT.

  • UIProcess/API/gtk/WebKitBackForwardListItem.cpp:

(webkitBackForwardListItemFinalized):

9:04 PM Changeset in webkit [165798] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebKit/mac

Unreviewed build fix.

8:46 PM Changeset in webkit [165797] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

V8 regexp spends most of its time in operationGetById
https://bugs.webkit.org/show_bug.cgi?id=130380

Reviewed by Filip Pizlo.

Added String.length case to tryCacheGetByID that will only help the BaseLine JIT.
When V8 regexp is run from the command line, this nets a 2% performance improvement.
When the test is run for a longer amount of time, there is much less benefit as the
DFG will emit the appropriate code for String.length. This does remove
operationGetById as the hottest function whne run from the command line.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

8:28 PM Changeset in webkit [165796] by akling@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Add one-deep cache to opaque roots hashset.
<https://webkit.org/b/130357>

The vast majority of WebCore JS wrappers will have their Document*
as the root(). This change adds a simple optimization where we cache
the last lookup and avoid going to the hashset for repeated queries.

Looks like 0.4% progression on DYEB on my MBP.

Reviewed by Mark Hahnenberg.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/OpaqueRootSet.h: Added.

(JSC::OpaqueRootSet::OpaqueRootSet):
(JSC::OpaqueRootSet::contains):
(JSC::OpaqueRootSet::isEmpty):
(JSC::OpaqueRootSet::clear):
(JSC::OpaqueRootSet::add):
(JSC::OpaqueRootSet::size):
(JSC::OpaqueRootSet::begin):
(JSC::OpaqueRootSet::end):

  • heap/SlotVisitor.h:
8:21 PM Changeset in webkit [165795] by commit-queue@webkit.org
  • 7 edits in trunk

Implement Math.hypot
https://bugs.webkit.org/show_bug.cgi?id=129486

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-03-17
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/MathObject.cpp:

(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncHypot):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/math-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/math.js:
8:17 PM Changeset in webkit [165794] by thiago.lacerda@openbossa.org
  • 8 edits in trunk/Source/WebKit2

[WK2] Getting rid of compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=130348

Reviewed by Benjamin Poulain.

  • UIProcess/API/APIHistoryClient.h:

(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didStartProvisionalLoadForFrame):
(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(API::LoaderClient::didCommitLoadForFrame):
(API::LoaderClient::didFinishLoadForFrame):
(API::LoaderClient::didFailLoadWithErrorForFrame):
(API::LoaderClient::didChangeBackForwardList):

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):
(API::PolicyClient::unableToImplementPolicy):

  • UIProcess/API/APIUIClient.h:

(API::UIClient::exceededDatabaseQuota):
(API::UIClient::saveDataToFileInDownloadsFolder):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/APISession.cpp:

(API::generateID):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::viewStateDidChange):

8:16 PM Changeset in webkit [165793] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

Add RemoteCommandListener support to MediaSessionManager.
https://bugs.webkit.org/show_bug.cgi?id=130354

Reviewed by Eric Carlson.

Listen for remote commands in MediaSessionManager.

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::removeSession):

  • platform/audio/MediaSessionManager.h:

Add RemoteCommandListener to the project files:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
8:00 PM Changeset in webkit [165792] by Darin Adler
  • 6 edits in trunk/Source/WTF

Remove most uses of deprecatedCharacter in WTF
https://bugs.webkit.org/show_bug.cgi?id=130317

Reviewed by Andreas Kling.

Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8.

  • wtf/text/AtomicString.cpp:

(WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
non-ASCII path.
(WTF::SubstringTranslator8::hash): Added.
(WTF::SubstringTranslator8::equal): Added.
(WTF::SubstringTranslator16::hash): Renamed class.
(WTF::SubstringTranslator16::equal): Ditto.
(WTF::AtomicString::add): Added an 8-bit code path to the substring case.

  • wtf/text/Base64.cpp:

(WTF::base64Decode): Added an 8 bit code path.
(WTF::base64URLDecode): Ditto.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
without first using is8Bit. Need to return later to remove use of deprecatedCharacters.

  • wtf/unicode/UTF8.cpp:

(WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
are ASCII. Also removed the aEnd argument, since the caller only calls this when the
lengths are equal.
(WTF::Unicode::equalLatin1WithUTF8): Added.

  • wtf/unicode/UTF8.h: Updated as described above.
7:45 PM Changeset in webkit [165791] by rniwa@webkit.org
  • 2 edits in trunk/Tools

webkitpy test rebaseline.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_default_args):

7:30 PM Changeset in webkit [165790] by matthew_hanson@apple.com
  • 25 edits in branches/safari-537.75-branch/Source

Merge r165753.

6:52 PM Changeset in webkit [165789] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Update the bundle parameters dictionary and send out KVO notifications
https://bugs.webkit.org/show_bug.cgi?id=130379
<rdar://problem/16213914>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setObject:forBundleParameter:]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:

(-[WKWebProcessBundleParameters setParameter:forKey:]):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::setBundleParameter):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setInjectedBundleParameter):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
6:44 PM Changeset in webkit [165788] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Rewrite WebHTMLConverter::_elementHasOwnBackgroundColor in C++
https://bugs.webkit.org/show_bug.cgi?id=130291

Reviewed by Andreas Kling.

Extracted HTMLConverterCaches::elementHasOwnBackgroundColor.

  • platform/mac/HTMLConverter.mm:

(HTMLConverterCaches::elementHasOwnBackgroundColor):
(-[WebHTMLConverter _elementHasOwnBackgroundColor:]):

6:38 PM Changeset in webkit [165787] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Rewrite WebHTMLConverter::_elementIsBlockLevel in C++
https://bugs.webkit.org/show_bug.cgi?id=130287

Reviewed by Andreas Kling.

Rewrote _elementIsBlockLevel as HTMLConverterCaches::isBlockElement. Also removed the code to update
_elementIsBlockLevel in _traverseNode as computing the value of _elementIsBlockLevel is now fast.

  • platform/mac/HTMLConverter.h:
  • platform/mac/HTMLConverter.mm:

(HTMLConverterCaches::isBlockElement):
(-[WebHTMLConverter _elementIsBlockLevel:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):

6:35 PM Changeset in webkit [165786] by rniwa@webkit.org
  • 4 edits in trunk/Source

Rewrite WebHTMLConverter::_getComputedFloat in C++
https://bugs.webkit.org/show_bug.cgi?id=130284

Reviewed by Andreas Kling.

Rewrote _getComputedFloat as HTMLConverterCaches::floatPropertyValueForNode.

  • platform/mac/HTMLConverter.h:
  • platform/mac/HTMLConverter.mm:

(HTMLConverterCaches::floatPropertyValueForNode):
(-[WebHTMLConverter _getFloat:forNode:property:]): Now that computing the float value is fast, we don't need to
store it in the cache.
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):

6:26 PM Changeset in webkit [165785] by aestes@apple.com
  • 1 edit in trunk/Source/WebKit/mac/ChangeLog

Fix a bad URL in the ChangeLog of the previous commit.

  • WebView/WebView.mm:
6:24 PM Changeset in webkit [165784] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove staging code added for <http://webkit.org/b/164757> [iOS] Support network state notification using CPNetworkObserver

Reviewed by Enrica Casucci.

  • WebView/WebView.mm:
6:21 PM Changeset in webkit [165783] by matthew_hanson@apple.com
  • 10 edits in branches/safari-537.75-branch/Source

Merge r165582 and r165583.

5:58 PM Changeset in webkit [165782] by rniwa@webkit.org
  • 2 edits in trunk/Tools

--profile should imply --test-runner-count=1 in run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=130375

Reviewed by Benjamin Poulain.

Use the test runner count of 1 when --profile is specified but not --test-runner-count.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args): Use -1 as the default value.
(PerfTestsRunner._collect_tests): If --test-runner-count is set (i.e. it's a positive value),
then use that value. Otherwise, if it's never set and --profile is present, test-runner-count
should be 1.

5:42 PM Changeset in webkit [165781] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.23.1/Source

Versioning.

5:38 PM Changeset in webkit [165780] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.23.1

New tag.

5:34 PM Changeset in webkit [165779] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception in JSContext Inspector
https://bugs.webkit.org/show_bug.cgi?id=130368

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-17
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
Feature check DOMAgent as well as the function.

5:05 PM Changeset in webkit [165778] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

WebKitLegacy headers should #import the relevant WebKit headers
https://bugs.webkit.org/show_bug.cgi?id=130372
<rdar://problem/16349094>

Reviewed by Dan Bernstein.

Create forwarding headers instead.

  • WebKitLegacy/MigrateHeadersToLegacy.make:
4:53 PM Changeset in webkit [165777] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Address some style nits.

  • UIProcess/API/Cocoa/_WKThumbnailViewInternal.h:
4:49 PM Changeset in webkit [165776] by Simon Fraser
  • 4 edits in trunk

Address some style nits.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:
4:45 PM Changeset in webkit [165775] by Simon Fraser
  • 5 edits in trunk

Add transparent window support back into MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=130363

Source/WebKit2:

Reviewed by Anders Carlsson.

Expose SPI for transparent window support.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _drawsTransparentBackground]):
(-[WKWebView _setDrawsTransparentBackground:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Reviewed by Anders Carlsson.

Re-enable transparent window support for WK2.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController toggleTransparentWindow:]):

4:13 PM Changeset in webkit [165774] by matthew_hanson@apple.com
  • 9 edits in branches/safari-537.75-branch/Source/WebKit2

Merged r165657.

4:13 PM Changeset in webkit [165773] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

HTMLInputElement::defaultEventHandler() shouldn't force style updates.
<https://webkit.org/b/130303>

Move the updateStyleIfNeeded() call down to TextFieldInputType instead
of doing it for every HTMLInputEvent.

There might be a better way to do this; we only want to know about this
specific element's renderer, and don't need the rest of the tree.
This is still an easy hack to avoid a lot of unnecessary work.

Reviewed by Anders Carlsson.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::defaultEventHandler):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):

4:04 PM Changeset in webkit [165772] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WTF

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

It makes the debug bots flaky (Requested by benjaminp on
#webkit).

Reverted changeset:

"Remove most uses of deprecatedCharacter in WTF"
https://bugs.webkit.org/show_bug.cgi?id=130317
http://trac.webkit.org/changeset/165721

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

Merged r165548.

3:47 PM Changeset in webkit [165770] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Reverse merge r165286.

3:42 PM Changeset in webkit [165769] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

Undo some accidental Gtk changes from http://trac.webkit.org/changeset/165759

  • UIProcess/WebPageProxy.cpp:
  • WebProcess/WebPage/WebPage.messages.in:
3:30 PM Changeset in webkit [165768] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

[WK2] URTBF after r165755 for non Apple platforms, stub functions added.

  • WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:

(WebKit::InjectedBundle::platformInitialize):

  • WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:

(WebKit::InjectedBundle::platformInitialize):

3:28 PM Changeset in webkit [165767] by ap@apple.com
  • 5 edits in trunk/Source/WebKit2

Move convertToRange() helper to cross-platform WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=130365

Reviewed by Tim Horton.

Also renamed it to rangeFromEditingLocationAndLength().

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::rangeFromEditingLocationAndLength):

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

(WebKit::WebPage::insertText):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::insertText):
(WebKit::WebPage::insertDictatedText):
(WebKit::WebPage::getAttributedSubstringFromRange):
(WebKit::WebPage::characterIndexForPoint):
(WebKit::WebPage::firstRectForCharacterRange):

3:25 PM Changeset in webkit [165766] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Follow-up fix.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
3:15 PM Changeset in webkit [165765] by Brent Fulgham
  • 12 edits in trunk/Source/WebCore

[WebVTT] Extending WebVTT Rendering with Regions
https://bugs.webkit.org/show_bug.cgi?id=109822

Reviewed by Eric Carlson.

Merged from Blink (patch by Victor Carbune vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/0cdebc1d76d41bfcb9c4b022e54a4fbff132225d

No new tests, as this feature is not active in default builds. New tests will be added
in an upcoming bug.

  • css/mediaControls.css:

(video::-webkit-media-text-track-region):
(video::-webkit-media-text-track-region-container):
(video::-webkit-media-text-track-region-container.scrolling):
(video::-webkit-media-text-track-display):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::~TextTrack):

  • html/track/TextTrackCue.cpp:
  • html/track/TextTrackRegion.cpp:

(WebCore::TextTrackRegion::TextTrackRegion):
(WebCore::TextTrackRegion::textTrackCueContainerScrollingClass):
(WebCore::TextTrackRegion::textTrackCueContainerShadowPseudoId):
(WebCore::TextTrackRegion::textTrackRegionShadowPseudoId):
(WebCore::TextTrackRegion::appendTextTrackCueBox):
(WebCore::TextTrackRegion::displayLastTextTrackCueBox):
(WebCore::TextTrackRegion::willRemoveTextTrackCueBox):
(WebCore::TextTrackRegion::getDisplayTree):
(WebCore::TextTrackRegion::prepareRegionDisplayTree):
(WebCore::TextTrackRegion::startTimer):
(WebCore::TextTrackRegion::stopTimer):
(WebCore::TextTrackRegion::scrollTimerFired):

  • html/track/TextTrackRegion.h:

(WebCore::TextTrackRegion::create):
(WebCore::TextTrackRegion::isScrollingRegion):
(WebCore::TextTrackRegion::ownerDocument):

  • html/track/TextTrackRegion.idl:
  • html/track/TextTrackRegionList.cpp:

(WebCore::TextTrackRegionList::getRegionById):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):
(WebCore::VTTCue::~VTTCue):
(WebCore::VTTCue::setIsActive):
(WebCore::VTTCue::removeDisplayTree):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::createNewRegion):

  • rendering/RenderVTTCue.cpp:

(WebCore::RenderVTTCue::layout):

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

WK2: support data detectors driven action sheet..
https://bugs.webkit.org/show_bug.cgi?id=130362
<rdar://problem/16319711>

Reviewed by Benjamin Poulain.

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant showDataDetectorsSheet]):

3:13 PM Changeset in webkit [165763] by b.long@cablelabs.com
  • 10 edits in trunk

[GStreamer] human readable language code for tracks
https://bugs.webkit.org/show_bug.cgi?id=124514

Reviewed by Martin Robinson.

.:

  • Source/autotools/FindDependencies.m4: Add gstreamer-tag-1.0.
  • Source/cmake/FindGStreamer.cmake: Same.
  • Source/cmake/OptionsEfl.cmake: Same.
  • Source/cmake/OptionsGTK.cmake: Same.

Source/WebCore:

  • PlatformEfl.cmake: Add GSTREAMER_TAG_INCLUDE_DIRS and GSTREAMER_TAG_LIBRARIES.
  • PlatformGTK.cmake: Same.
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::getLanguageCode): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid.
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use getLanguageCode() for languages instead of just getTag().

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

Fix 32-bit OS X build.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::platformInitialize):

2:36 PM Changeset in webkit [165761] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

[Mac] Rewrite WebHTMLConverter::_computedStringForNode in C++
https://bugs.webkit.org/show_bug.cgi?id=130274

Reviewed by Andreas Kling.

Rewrote WebHTMLConverter::_computedStringForNode as HTMLConverterCaches::propertyValueForNode.

  • platform/mac/HTMLConverter.h: Removed unused caches.
  • platform/mac/HTMLConverter.mm:

(HTMLConverterCaches::computedStylePropertyForElement): Added use const String& instead of String& on property name.
(HTMLConverterCaches::inlineStylePropertyForElement): Ditto.
(HTMLConverterCaches::propertyValueForNode): Renamed and rewritten from _computedStringForNode.
(-[WebHTMLConverter _stringForNode:property:]): Simply return the computed value instead of storing it in the cache
now that the computing the value is fast.
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):

2:33 PM Changeset in webkit [165760] by jaepark@webkit.org
  • 32 edits in trunk/Source/WebKit2

[GTK][CMake] Fix WebKit2 unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=130316

Reviewed by Martin Robinson.

  • Platform/gtk/WorkQueueGtk.cpp: Fix unused parameter warnings.
  • UIProcess/API/gtk/PageClientImpl.cpp: Ditto.
  • UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
  • UIProcess/API/gtk/WebKitContextMenuClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitContextMenuItem.cpp: Ditto.
  • UIProcess/API/gtk/WebKitDownloadClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Ditto.
  • UIProcess/API/gtk/WebKitFindController.cpp: Ditto.
  • UIProcess/API/gtk/WebKitFormClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp: Ditto.
  • UIProcess/API/gtk/WebKitLoaderClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitPlugin.cpp: Ditto.
  • UIProcess/API/gtk/WebKitPolicyClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitTextChecker.cpp: Ditto.
  • UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebInspector.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Ditto.
  • UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Ditto.
  • UIProcess/gtk/TextCheckerGtk.cpp: Ditto.
  • UIProcess/gtk/WebContextMenuProxyGtk.cpp: Ditto.
  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.
  • WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Ditto.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: Ditto.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: Ditto.
  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Ditto.
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Ditto.
2:31 PM Changeset in webkit [165759] by ap@apple.com
  • 11 edits in trunk/Source/WebKit2

[Mac] Standardize on start/length in text input IPC methods
https://bugs.webkit.org/show_bug.cgi?id=130359

Reviewed by Anders Carlsson.

Some IPC methods used start/length, and others use start/end. This was confusing.

While here, changed WebPageMac.mm to not use NSMakeRange where we don't need it
(I want to move this code to WebPage.cpp, where it could be shared with iOS and
other platforms, as it doesn't depend on Foundation much).

  • UIProcess/API/mac/WKView.mm:

(-[WKView insertText:replacementRange:]):
(-[WKView setMarkedText:selectedRange:replacementRange:]):
(-[WKView attributedSubstringForProposedRange:actualRange:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

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

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::insertText):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::insertText):
(WebKit::WebPageProxy::insertDictatedText):
(WebKit::WebPageProxy::getAttributedSubstringFromRange):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setComposition):

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

(WebKit::WebPage::setComposition):
(WebKit::WebPage::insertText):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::insertText):
(WebKit::WebPage::insertDictatedText):
(WebKit::WebPage::getAttributedSubstringFromRange):
(WebKit::convertToRange):
(WebKit::WebPage::firstRectForCharacterRange):

2:29 PM Changeset in webkit [165758] by timothy_horton@apple.com
  • 7 edits
    3 adds
    3 deletes in trunk/Source

Rename WKThumbnailView to _WKThumbnailView
https://bugs.webkit.org/show_bug.cgi?id=130361

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/_WKThumbnailView.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKThumbnailView.h.
  • UIProcess/API/Cocoa/_WKThumbnailView.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKThumbnailView.mm.

(-[_WKThumbnailView initWithFrame:fromWKView:]):
(-[_WKThumbnailView _viewWasUnparented]):
(-[_WKThumbnailView _viewWasParented]):
(-[_WKThumbnailView _requestSnapshotIfNeeded]):
(-[_WKThumbnailView _didTakeSnapshot:]):
(-[_WKThumbnailView viewDidMoveToWindow]):
(-[_WKThumbnailView setScale:]):
(-[_WKThumbnailView setUsesSnapshot:]):
(-[_WKThumbnailView _setThumbnailLayer:]):
(-[_WKThumbnailView _thumbnailLayer]):

  • UIProcess/API/Cocoa/_WKThumbnailViewInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKThumbnailViewInternal.h.
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
(-[WKView _updateThumbnailViewLayer]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/mac/PageClientImpl.mm:
  • WebKit2.xcodeproj/project.pbxproj:
  • MigrateHeaders.make:
2:24 PM Changeset in webkit [165757] by akling@apple.com
  • 25 edits in trunk/Source/WebCore

Remove unnecessary JSC::Handle null checks in bindings code.
<https://webkit.org/b/130356>

Use Handle::slot() directly instead of going through Handle::get().
This avoids null checking the HandleSlot, which isn't necessary here
anyway, and the code already assumes it'll never be null.

Reviewed by Gavin Barraclough.

  • bindings/js/JSCSSRuleListCustom.cpp:

(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
(WebCore::JSCSSValueOwner::finalize):

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):

  • bindings/js/WebCoreTypedArrayController.cpp:

(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bridge/runtime_root.cpp:

(JSC::Bindings::RootObject::finalize):

2:11 PM Changeset in webkit [165756] by k.czech@samsung.com
  • 3 edits in trunk/Source/WebCore

AX: Reducing some code by using helper function ariaElementsFromAttribute
https://bugs.webkit.org/show_bug.cgi?id=130344

Reviewed by Chris Fleizach.

Change visibility of ariaElementsFromAttribute function from private to protected
so that other classes that derives from AccessibilityRenderObject can use it.

No new tests. No behaviour change.

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::columnHeaders):

1:38 PM Changeset in webkit [165755] by andersca@apple.com
  • 9 edits
    2 copies in trunk/Source/WebKit2

Add SPI for getting bundle parameters from the injected bundle
https://bugs.webkit.org/show_bug.cgi?id=130355

Reviewed by Dan Bernstein.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h.

(-[WKWebProcessBundleParameters initWithDictionary:]):
(-[WKWebProcessBundleParameters valueForKey:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(-[WKWebProcessPlugInController parameters]):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::InjectedBundle):

  • WebProcess/InjectedBundle/InjectedBundle.h:

(WebKit::InjectedBundle::create):

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::bundleParameters):
(WebKit::InjectedBundle::platformInitialize):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

1:34 PM Changeset in webkit [165754] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION: WebKitLegacy causes ASan build to fail
<rdar://problem/16344326>

Patch by David Farler <dfarler@apple.com> on 2014-03-17
Reviewed by David Kilzer.

  • Configurations/DebugRelease.xcconfig: Remove $(inherited) from

OTHER_CFLAGS, OTHER_CPLUSPLUSFLAGS, OTHER_LDFLAGS to prevent
double complete ASAN flags.

1:33 PM Changeset in webkit [165753] by Brent Fulgham
  • 26 edits in trunk/Source

Provide preference to enable additional AVFoundation options
https://bugs.webkit.org/show_bug.cgi?id=130275

Reviewed by Eric Carlson.

../WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::doesHaveAttribute): Added.

  • html/HTMLMediaElement.h:
  • page/Settings.in: Add new attribute.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::doesHaveAttribute): Added stub to call private player object's
implementation of doesHaveAttribute.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::doesHaveAttribute):

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

(WebCore::MediaPlayerPrivateAVFoundationCF::AVFWrapper::createAssetForURL): Check the <media> object,
and notify AVFoundationCF to use URI option if relevant.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Check the <media> object,
and notify AVFoundation to use URI option if relevant.

../WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h: Added new preference.
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Initialize preference to false.
(-[WebPreferences isInheritURIQueryComponentEnabled]): Added.
(-[WebPreferences setEnableInheritURIQueryComponent:]): Added.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Handle new preference.

../WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl: Added new preference.
  • WebPreferenceKeysPrivate.h: Ditto.
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings): Initialize preference to false.
(WebPreferences::isInheritURIQueryComponentEnabled): Added.
(WebPreferences::setEnableInheritURIQueryComponent): Added.

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged): Handle new preference.

../WebKit2:

  • Shared/WebPreferencesStore.h: Added new preference.
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetEnableInheritURIQueryComponent): Added.
(WKPreferencesGetEnableInheritURIQueryComponent): Added.

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Handle new preference.

1:32 PM Changeset in webkit [165752] by Simon Fraser
  • 2 edits in trunk/Tools

Fix the 32-bit build; make the open panel make a WK1 window.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate openDocument:]):

1:23 PM Changeset in webkit [165751] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[EME] Add NULL protections in SourceBuffer and MediaSource.
https://bugs.webkit.org/show_bug.cgi?id=130266

Reviewed by Eric Carlson.

Add NULL checks in places which may be called after a SourceBuffer has been removed:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::monitorSourceBuffers): Protect against a SourceBuffer being removed

(and thus activeSourceBuffers being empty) when monitoring source buffer state.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired): Protect against SourceBuffer being removed.
(WebCore::SourceBuffer::videoTracks): Ditto.
(WebCore::SourceBuffer::audioTracks): Ditto.
(WebCore::SourceBuffer::textTracks): Ditto.
(WebCore::SourceBuffer::setActive): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Ditto.
(WebCore::SourceBuffer::hasCurrentTime): Ditto.
(WebCore::SourceBuffer::canPlayThrough): Ditto.
(WebCore::SourceBuffer::hasFutureTime): Ditto, and check for an empty buffered ranges.

1:19 PM Changeset in webkit [165750] by ap@apple.com
  • 6 edits in trunk/Source/WebKit2

[Mac] getAttributedSubstringFromRange arguments are incorrectly named
https://bugs.webkit.org/show_bug.cgi?id=130349

Reviewed by Tim Horton.

There is a mess of start/end and start/length pairs in IPC. One day we'll fix them
all, but now, let's at least name them correctly.

No behavior change.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::getAttributedSubstringFromRange):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::getAttributedSubstringFromRange):

1:10 PM Changeset in webkit [165749] by Simon Fraser
  • 5 edits in trunk/Tools

Convert MiniBrowser to use WKWebView API
https://bugs.webkit.org/show_bug.cgi?id=130061

Reviewed by Anders Carlsson.

Convert the MiniBrowser WK2 window to use WebKit2 API as much
as possible.

Some functionality was removed temporarily:

  • text zoom, page zoom
  • reload
  • pagination mode
  • transparent window
  • dumping source
  • window.open support
  • beforeUnload panel
  • find in page
  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate init]):
(-[BrowserAppDelegate newWindow:]):
(-[BrowserAppDelegate applicationWillTerminate:]):
(-[BrowserAppDelegate openDocument:]):

  • MiniBrowser/mac/WK2BrowserWindowController.h:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController fetch:]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController reload:]):
(-[WK2BrowserWindowController goBack:]):
(-[WK2BrowserWindowController goForward:]):
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController dumpSourceToConsole:]):
(-[WK2BrowserWindowController togglePaginationMode:]):
(-[WK2BrowserWindowController validateUserInterfaceItem:]):
(-[WK2BrowserWindowController windowShouldClose:]):
(-[WK2BrowserWindowController applicationTerminating]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
(-[WK2BrowserWindowController toggleTransparentWindow:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
(-[WK2BrowserWindowController webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController find:]):
(-[WK2BrowserWindowController webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[WK2BrowserWindowController webView:didStartProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didFailProvisionalNavigation:withError:]):
(-[WK2BrowserWindowController webView:didCommitNavigation:]):
(-[WK2BrowserWindowController webView:didFinishLoadingNavigation:]):
(-[WK2BrowserWindowController webView:didFailNavigation:withError:]):

  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:
  • WebKitTestRunner/mac/PlatformWebViewMac.mm:
1:04 PM Changeset in webkit [165748] by timothy_horton@apple.com
  • 17 edits in trunk/Source

WKThumbnailView should support snapshots
https://bugs.webkit.org/show_bug.cgi?id=130335
<rdar://problem/16255139>

Reviewed by Simon Fraser.

Add a mode where WKThumbnailView takes a software snapshot of the web content,
replacing the live layer tree with said snapshot once it returns from the
web process. This may improve animation performance in cases where the
layer tree would otherwise be very complex.

  • UIProcess/API/Cocoa/WKThumbnailView.h:

Add a property, usesSnapshot, which determines whether the thumbnail view
should use the live layer tree or a snapshot of the content.

  • UIProcess/API/Cocoa/WKThumbnailView.mm:

(-[WKThumbnailView initWithFrame:fromWKView:]):
(-[WKThumbnailView _viewWasUnparented]):
Clear the snapshot when unparented.

(-[WKThumbnailView _viewWasParented]):
Take a snapshot of the web content when parented, if needed.

(-[WKThumbnailView _requestSnapshotIfNeeded]):
If we're using snapshots, and haven't already dispatched an async snapshot request,
and don't already have a snapshot, request a snapshot from the web process.

When it returns, use it as the contents of the WKThumbnailView layer, and
unparent the live layer tree.

(-[WKThumbnailView setScale:]):
(-[WKThumbnailView setUsesSnapshot:]):
(-[WKThumbnailView _setThumbnailLayer:]):
(-[WKThumbnailView _thumbnailLayer]):

  • UIProcess/API/Cocoa/WKThumbnailViewInternal.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setAcceleratedCompositingModeRootLayer:]):
(-[WKView _acceleratedCompositingModeRootLayer]):
WKView should always keep track of the current root layer, instead of totally
handing control over to WKThumbnailView when it is used.

(-[WKView _setThumbnailView:]):
(-[WKView _updateThumbnailViewLayer]):
(-[WKView _reparentLayerTreeInThumbnailView]):
If needed (either we're not using snapshots, or still waiting for the snapshot to be painted),
push the WKView's live layer tree into the thumbnail view.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::takeThumbnailSnapshot):
Add a message that asynchronously returns a snapshot that respects the
current thumbnail scale and position.

(WebKit::WebPage::scaledSnapshotWithOptions):
Use some nullptr.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::transform):

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

Add a getter for the DrawingArea's transform.
Rename it to rootLayerTransform.

  • WebCore.exp.in:
12:27 PM Changeset in webkit [165747] by jer.noble@apple.com
  • 3 edits in trunk/LayoutTests

Layout Test mathml/wbr-in-mroot-crash.html crashes
https://bugs.webkit.org/show_bug.cgi?id=130353

Unreviewed TestExpectations update.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
11:47 AM Changeset in webkit [165746] by zandobersek@gmail.com
  • 29 edits in trunk

Use RunLoop objects through references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=130313

Reviewed by Andreas Kling.

Source/WebKit2:

Adjust the code accordingly now that RunLoop::current() and RunLoop::main()
return RunLoop reference instead of a pointer.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::postMainThreadTask):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::getOrCreate):
(IPC::Connection::SyncMessageState::SyncMessageState):
(IPC::Connection::SyncMessageState::~SyncMessageState):
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::createServerConnection):
(IPC::Connection::createClientConnection):
(IPC::Connection::Connection):
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::wakeUpRunLoop):

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

(IPC::Connection::receiveSourceEventHandler):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::stopRunLoop):

  • Shared/Plugins/NPObjectProxy.cpp:

(WebKit::NPObjectProxy::NP_Deallocate):

  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::tryPreexistingProcess):
(WebKit::createProcess):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::getOrigins):
(WebKit::StorageManager::getStorageDetailsByOrigin):

  • UIProcess/Storage/StorageManager.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::pluginThreadAsyncCall):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::unprotectPluginFromDestruction):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close):

Source/WTF:

Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead
of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase
constructors take in a RunLoop reference, with TimerBase now storing a RunLoop
reference member instead of a pointer. Platform-specific bits of the RunLoop
class are updated accordingly.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::Holder::Holder):
(WTF::RunLoop::Holder::runLoop):
(WTF::RunLoop::initializeMainRunLoop):
(WTF::RunLoop::current):
(WTF::RunLoop::main):
(WTF::RunLoop::isMain):

  • wtf/RunLoop.h:

(WTF::RunLoop::Timer::Timer):

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::run):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):

  • wtf/efl/RunLoopEfl.cpp:

(WTF::RunLoop::TimerBase::TimerBase):

  • wtf/gtk/RunLoopGtk.cpp:

(WTF::RunLoop::run):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):

Tools:

Adjust the code accordingly now that RunLoop::current() and RunLoop::main()
return RunLoop reference instead of a pointer.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp:

(loadedCallback):
(clickedCallback):

11:20 AM Changeset in webkit [165745] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Don't busy loop when the socket is full
https://bugs.webkit.org/show_bug.cgi?id=129802

Patch by Giovanni Campagna <gcampagna@src.gnome.org> on 2014-03-17
Reviewed by Carlos Garcia Campos.

When the socket is full and we see EAGAIN or EWOULDBLOCK
(because the socket is non blocking), don't busy loop by
tring to write again, instead poll() until the socket
becomes writable.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::sendOutgoingMessage):

10:50 AM Changeset in webkit [165744] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

sort-export-file --help doesn't work (missing 'use')
https://bugs.webkit.org/show_bug.cgi?id=130338

Reviewed by Anders Carlsson.

  • Scripts/sort-export-file:

Add a missing 'use', and fix a typo in an error message.

10:48 AM Changeset in webkit [165743] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] Update Korean translations - Jan 15, 2014
https://bugs.webkit.org/show_bug.cgi?id=127001

Reviewed by Gustavo Noronha Silva.

  • ko.po: Updated korean translations.
10:30 AM Changeset in webkit [165742] by svillar@igalia.com
  • 11 edits in trunk

[CSS Grid Layout] getComputedStyle() not using author's order when showing named grid lines
https://bugs.webkit.org/show_bug.cgi?id=127837

Reviewed by David Hyatt.

Source/WebCore:

Added a couple of new Vectors to store the names of the grid lines
respecting their order. They will be used to get the right outcome
for getComputedStyle().

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::addValuesForNamedGridLinesAtIndex):
(WebCore::valueForGridTrackList):

  • css/StyleResolver.cpp:

(WebCore::createGridTrackList):
(WebCore::StyleResolver::applyProperty):

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

(WebCore::StyleGridData::StyleGridData):

  • rendering/style/StyleGridData.h:

(WebCore::StyleGridData::operator==):

LayoutTests:

Grid line names are now shown using the exact same order as the one used in the CSS.

  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
10:29 AM Changeset in webkit [165741] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Fix the !ENABLE(PROMISES) build
https://bugs.webkit.org/show_bug.cgi?id=130328

Patch by Zsolt Borbely <borbezs@inf.u-szeged.hu> on 2014-03-17
Reviewed by Darin Adler.

Add missing ENABLE(PROMISES) guards.

Source/JavaScriptCore:

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:
  • runtime/JSPromiseDeferred.cpp:
  • runtime/JSPromiseDeferred.h:
  • runtime/JSPromiseReaction.cpp:
  • runtime/JSPromiseReaction.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

  • bindings/js/JSDOMPromise.cpp:
  • bindings/js/JSDOMPromise.h:
10:28 AM Changeset in webkit [165740] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

Safari should not render a cell if the <td> is empty
https://bugs.webkit.org/show_bug.cgi?id=15273

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-03-17
Reviewed by Darin Adler.

Source/WebCore:

When table cell has no children and the doctype is not present or not
correct the border for that cell should not be drawn. Firefox also
follows the same behaviour hence making the changes to make it similiar
to Firefox behaviour.

Tests: fast/table/table-cell-border-doctype.html

fast/table/table-cell-border-no-doctype.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintBoxDecorations):
Added condition for not drawing the border when table cell has no child
and doctype.

LayoutTests:

  • fast/table/table-cell-border-doctype-expected.html: Added.
  • fast/table/table-cell-border-doctype.html: Added.
  • fast/table/table-cell-border-no-doctype-expected.html: Added.
  • fast/table/table-cell-border-no-doctype.html: Added.

Added new test cases to check the behaviour of table cell border when
table has doctype/no doctype and table cell has child/nochild.

9:52 AM Changeset in webkit [165739] by fred.wang@free.fr
  • 2 edits in trunk/Source/WebCore

Fix handling of <annotation> in MathMLTextElement.
https://bugs.webkit.org/show_bug.cgi?id=124128.

Reviewed by Darin Adler.

No new tests.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::createElementRenderer): do not create the special RenderMathMLToken for the <annotation> tag.
(WebCore::MathMLTextElement::childShouldCreateRenderer): only allow text inside <annotation>.

9:42 AM Changeset in webkit [165738] by Martin Robinson
  • 5 edits
    1 add in trunk

[GTK][CMake] Credential storage is not enabled
https://bugs.webkit.org/show_bug.cgi?id=130149

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Add an ENABLE_CREDENTIAL_STORAGE option to the configuration

and look libsecret when it's enabled.

  • Source/cmakeconfig.h.cmake: Expose the ENABLE_CREDENTIAL_STORAGE option to the build.

Source/WebCore:

  • PlatformGTK.cmake: Add the libsecret include directories and link line to the build.
9:40 AM Changeset in webkit [165737] by Martin Robinson
  • 7 edits
    1 add in trunk

[GTK][CMake] Ensure that HAVE_GTK_UNIX_PRINTING is defined when appropriate
https://bugs.webkit.org/show_bug.cgi?id=130155

Reviewed by Philippe Normand.

.:

  • Source/cmake/FindGTKUnixPrint.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Look for gtk+-unix-print and use it to turn on HAVE_GTK_UNIX_PRINTING.
  • Source/cmakeconfig.h.cmake: Add the HAVE_GTK_UNIX_PRINTING define.

Source/WebKit2:

  • PlatformGTK.cmake: Add GTK_UNIX_PRINT flags to the build.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Add GTK_UNIX_PRINT flags to the build.
9:26 AM Changeset in webkit [165736] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

Unreviewed.

Addressing reviewing comments by Darin in bug #130310 that I forgot
to address before landing the changes in r165732.
https://bugs.webkit.org/show_bug.cgi?id=130310

  • rendering/InlineTextBox.cpp:
  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:
9:14 AM Changeset in webkit [165735] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] MiniBrowser fails to load injected bundle lib
https://bugs.webkit.org/show_bug.cgi?id=130332

Reviewed by Anders Carlsson.

This is because WEBKIT_INJECTED_BUNDLE_PATH env var is set too late.

  • MiniBrowser/gtk/main.c:

(main): Make sure WEBKIT_INJECTED_BUNDLE_PATH is set before a web
process is spawn.

8:38 AM Changeset in webkit [165734] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebCore

Speculative build fix for ENABLE(TELEPHONE_NUMBER_DETECTION) after r165724.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):

8:02 AM Changeset in webkit [165733] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Only supplement Page with UserMediaController once
https://bugs.webkit.org/show_bug.cgi?id=130311

Reviewed by Darin Adler.

Don't supplement the Page with an UserMediaController object if that Page was
already supplemented with one. This avoids triggering an assertion in
Supplementable::provideSupplement() that ensures no supplement with the same key
exists yet. The cause of this is calling provideUserMediaTo() in the Internals
constructor that's using the same Page for two subsequent tests.

  • Modules/mediastream/UserMediaController.cpp:

(WebCore::provideUserMediaTo):

7:59 AM Changeset in webkit [165732] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

Explicitly include cstdio header for debug builds in InlineTextBox, RenderLayer, RenderObject
https://bugs.webkit.org/show_bug.cgi?id=130310

Reviewed by Darin Adler.

Building the GTK port with Clang through CMake falls into a configuration where
the cstdio header is not indirectly included in InlineTextBox, RenderLayer and
RenderObject source files. fprintf() is required for helper functions that print
out helpful debugging information in debug builds, so the cstdio header should
be included explicitly in that case.

  • rendering/InlineTextBox.cpp:
  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:
6:45 AM Changeset in webkit [165731] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Cleanup WebKitDOMObject
https://bugs.webkit.org/show_bug.cgi?id=130246

Reviewed by Martin Robinson.

Remove unneeded getter and fix coding style.

  • bindings/gobject/WebKitDOMObject.cpp:

(webkitDOMObjectSetProperty):
(webkit_dom_object_class_init):

5:40 AM Changeset in webkit [165730] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Restore cursor when moving mouse into webview
https://bugs.webkit.org/show_bug.cgi?id=130182

Reviewed by Gyuyoung Kim.

We changed mouse cursor when the type of cursor is changed.
But once mouse is moved out of webview, ewebkit will not know whether cursor
is changed or not.

So, this patch added a logic to restore the last applied type of cursor when
mouse is moved into webview again.

  • UIProcess/API/efl/EwkView.cpp:

(EwkViewEventHandler<EVAS_CALLBACK_MOUSE_IN>::handleEvent):
Call updateCursor to restore the last applied type of cursor.
(EwkView::EwkView):
(EwkView::updateCursor): Extracted from setCursor.
(EwkView::setCursor):
(EwkView::handleEvasObjectAdd):

  • UIProcess/API/efl/EwkView.h:
2:50 AM Changeset in webkit [165729] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WTF

One more fix after r165725.

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

  • wtf/WTFThreadData.h:
2:46 AM Changeset in webkit [165728] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.92

Tagging the WebKitGTK+ 2.3.92 release

2:45 AM Changeset in webkit [165727] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.3.92 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.92.
2:38 AM Changeset in webkit [165726] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Buildfix after r165725 for non Mac platforms.

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

  • wtf/WTFThreadData.h:
1:29 AM Changeset in webkit [165725] by akling@apple.com
  • 4 edits in trunk/Source/WTF

[Mac] WTFThreadData should use _pthread_getspecific_direct().
<https://webkit.org/b/130320>

Hack WTFThreadData to use a direct key for TLS access when available.
This mechanism uses a dedicated segment register and is the same way
we implement the fast path in FastMalloc.

Reviewed by Darin Adler.

  • wtf/FastMalloc.cpp:
  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::createAndRegisterForGetspecificDirect):

  • wtf/WTFThreadData.h:

(WTF::wtfThreadData):

1:01 AM Changeset in webkit [165724] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Stop using deprecatedCharacters in HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=130323

Reviewed by Andreas Kling.

Keeping this separate from other patches because of concern that this could affect
page load performance.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
Use a StringView instead of a character pointer.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty): Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo): Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace): Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading): Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading): Ditto.
(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Use StringView::upconvertedCharacters.

12:52 AM Changeset in webkit [165723] by jinwoo7.song@samsung.com
  • 13 edits in trunk/Source/WebCore

Make some Module class constructors return PassRef.
https://bugs.webkit.org/show_bug.cgi?id=130282

Reviewed by Andreas Kling.

Make the constructor helpers for the following classes return PassRef
instead of PassRefPtr since they will never return null.

  • GamepadList
  • Geolocation
  • NavigatorContentUtils
  • NetworkInfoConnection
  • Notification
  • NotificationCenter
  • DeviceProximityEvent
  • Modules/gamepad/GamepadList.h:

(WebCore::GamepadList::create):

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::create):

  • Modules/geolocation/Geolocation.h:

(WebCore::Geolocation::GeoNotifier::create):

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::NavigatorContentUtils::create):

  • Modules/navigatorcontentutils/NavigatorContentUtils.h:
  • Modules/networkinfo/NetworkInfoConnection.cpp:

(WebCore::NetworkInfoConnection::create):

  • Modules/networkinfo/NetworkInfoConnection.h:
  • Modules/notifications/Notification.cpp:

(WebCore::Notification::create):

  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::create):

  • Modules/notifications/NotificationCenter.h:
  • Modules/proximity/DeviceProximityEvent.h:

(WebCore::DeviceProximityEvent::create):

Mar 16, 2014:

11:49 PM Changeset in webkit [165722] by commit-queue@webkit.org
  • 4 edits in trunk

.: [EFL] Enable TOUCH_SLIDER macro.
https://bugs.webkit.org/show_bug.cgi?id=130186

Patch by Kim Byung Jun <bj1987.kim@samsung.com> on 2014-03-16
Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsEfl.cmake:

Tools: [EFL] Enable TOUCH_SLIDER macro
https://bugs.webkit.org/show_bug.cgi?id=130185

Patch by Kim Byung Jun <bj1987.kim@samsung.com> on 2014-03-16
Reviewed by Gyuyoung Kim.

  • Scripts/webkitperl/FeatureList.pm:
11:37 PM Changeset in webkit [165721] by Darin Adler
  • 6 edits in trunk/Source/WTF

Remove most uses of deprecatedCharacter in WTF
https://bugs.webkit.org/show_bug.cgi?id=130317

Reviewed by Andreas Kling.

  • wtf/text/AtomicString.cpp:

(WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
non-ASCII path.
(WTF::SubstringTranslator8::hash): Added.
(WTF::SubstringTranslator8::equal): Added.
(WTF::SubstringTranslator16::hash): Renamed class.
(WTF::SubstringTranslator16::equal): Ditto.
(WTF::AtomicString::add): Added an 8-bit code path to the substring case.

  • wtf/text/Base64.cpp:

(WTF::base64Decode): Added an 8 bit code path.
(WTF::base64URLDecode): Ditto.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
without first using is8Bit. Need to return later to remove use of deprecatedCharacters.

  • wtf/unicode/UTF8.cpp:

(WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
are ASCII. Also removed the aEnd argument, since the caller only calls this when the
lengths are equal.
(WTF::Unicode::equalLatin1WithUTF8): Added.

  • wtf/unicode/UTF8.h: Updated as described above.
11:35 PM Changeset in webkit [165720] by mihnea@adobe.com
  • 4 edits
    2 adds in trunk

[CSSRegions]Do not compute region range for a box unless the parent has one
https://bugs.webkit.org/show_bug.cgi?id=130249

Reviewed by Andrei Bucur.

Source/WebCore:

If the containing block does not have a region range computed, do not attempt to compute
a region range for a child. In such cases, the range computation for a child can lead to
a result that is wrong, possibly leading to an incorrect clipping.

Test: fast/regions/inline-block-flowed-in-regions.html

  • rendering/RenderBlock.cpp:

(WebCore::canComputeRegionRangeForBox):
(WebCore::RenderBlock::computeRegionRangeForBoxChild):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderFlowThread.h:

LayoutTests:

  • fast/regions/inline-block-flowed-in-regions-expected.html: Added.
  • fast/regions/inline-block-flowed-in-regions.html: Added.
11:15 PM Changeset in webkit [165719] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r165703): JSC tests crashing in StringImpl::destroy().
<https://webkit.org/b/130304>

Reviewed by Anders Carlsson.

Unreviewed, restoring the old behavior of OpaqueJSString::identifier()
that doesn't put a potentially unwanted string into the Identifier table.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::identifier):

10:46 PM Changeset in webkit [165718] by ryuan.choi@samsung.com
  • 9 edits
    4 adds in trunk/Source/WebKit2

[EFL][WK2] Add ewk_application_cache_manager APIs
https://bugs.webkit.org/show_bug.cgi?id=102853

Reviewed by Gyuyoung Kim.

Implemented application cache manager to get list of origins which stores
application cache and remove specified origin or all.

  • PlatformEfl.cmake: Added newly added files.
  • UIProcess/API/efl/ewk_application_cache_manager.cpp: Added.

(EwkApplicationCacheManager::EwkApplicationCacheManager):
(EwkApplicationCacheManager::~EwkApplicationCacheManager):
(Get_Origins_Data::Get_Origins_Data):
(getApplicationCacheOriginsCallback):
(ewk_application_cache_manager_origins_get):
(ewk_application_cache_origins_free):
(ewk_application_cache_manager_delete_all):
(ewk_application_cache_manager_delete):

  • UIProcess/API/efl/ewk_application_cache_manager.h: Added.
  • UIProcess/API/efl/ewk_application_cache_manager_private.h: Added.

(EwkApplicationCacheManager::impl):

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::applicationCacheManager):
(ewk_context_application_cache_manager_get):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/ewk_security_origin_private.h:

(EwkSecurityOrigin::wkSecurityOrigin):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:

(EWK2UnitTestServer::port):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
  • UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:

Added to test application_cache_manager.
(serverCallback):
(getOriginsCallback):
(timerCallback):
(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

Added test case to test getter of application_cache_manager.
(TEST_F):

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

CSSValueList should assert that no null values are added to it.
<https://webkit.org/b/130315>

Add assertions in CSSValueList's append() and prepend() that we are
not adding a null value. This caught a single place in CSSParser
that was appending an alread-released RefPtr to a CSSValueList.
That list was eventually discarded anyway (due to "foundClip" now
being true), so the fix is simply to remove the adding.

Eventually we should use Ref and PassRef all over for CSSValueList,
this is just a first step on the way.

Reviewed by Darin Adler.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillShorthand):

  • css/CSSValueList.h:

(WebCore::CSSValueList::append):
(WebCore::CSSValueList::prepend):

8:41 PM Changeset in webkit [165716] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

AudioBufferSourceNode stop attribute shouldn't throw exception in finished state.
https://bugs.webkit.org/show_bug.cgi?id=130000.

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-03-16
Reviewed by Jer Noble.

AudioBufferSourceNode may go to FINISHED_STATE even before "stop" method is called
as silence rendered after audio data is played out when its not looping.
A call to "stop" method after this shouldn't throw exception.

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::stop):

7:44 PM Changeset in webkit [165715] by Darin Adler
  • 18 edits in trunk/Source/WebKit

Source/WebKit/mac: Remove all deprecatedCharacters use from WebKit directory
https://bugs.webkit.org/show_bug.cgi?id=130305

Reviewed by Andreas Kling.

  • History/BinaryPropertyList.cpp:

(BinaryPropertyListSerializer::appendStringObject): Use operator[]
instead of deprecatedCharacters.

Source/WebKit/win: Remove all deprecatedCharacters use from WebKit
https://bugs.webkit.org/show_bug.cgi?id=130305

Reviewed by Andreas Kling.

  • AccessibleTextImpl.cpp:

(AccessibleText::get_text): Use BString instead of SysAllocStringLen,
which handles String directly.
(AccessibleText::get_textBeforeOffset): Ditto.
(AccessibleText::get_textAfterOffset): Ditto.
(AccessibleText::get_textAtOffset): Ditto.
(AccessibleText::get_attributes): Ditto.

  • DOMCSSClasses.cpp:

(DOMCSSStyleDeclaration::getPropertyValue): Ditto.

  • DOMCoreClasses.cpp:

(DOMNode::nodeValue): Ditto.
(DOMElement::getAttribute): Ditto.
(DOMElement::font): Rework this to leak a string, since it returns a
pointer to a font family name's characters with no defined lifetime.

  • DOMHTMLClasses.cpp:

(DOMHTMLElement::innerText): Use BString's String-based constructor,
instead of explicitly passing a character pointer.
(DOMHTMLFormElement::action): Ditto.
(DOMHTMLFormElement::method): Ditto.
(DOMHTMLInputElement::value): Ditto.
(DOMHTMLTextAreaElement::value): Ditto.

  • MarshallingHelpers.cpp:

(MarshallingHelpers::PathStringToFileCFURLRef): Use String::createCFString.

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::checkSpellingOfString): Use StringView::upconvertedCharacters.
(WebEditorClient::checkGrammarOfString): Ditto.

  • WebDataSource.cpp:

(WebDataSource::unreachableURL): Use BString's String-based constructor,
instead of explicitly passing a character pointer.

  • WebDownload.cpp:

(WebDownload::bundlePathForTargetPath): Use BString instead of SysAllocStringLen.

  • WebDownloadCFNet.cpp:

(WebDownload::didFinish): Use BString's String-based constructor,
instead of explicitly passing a character pointer.

  • WebDownloadCurl.cpp:

(WebDownload::didReceiveResponse): Ditto.

  • WebElementPropertyBag.cpp:

(convertStringToVariant): Use BString instead of SysAllocStringLen.

  • WebFrame.cpp:

(WebFrame::searchForLabelsBeforeElement): Ditto.
(WebFrame::matchLabelsAgainstElement): Ditto.

  • WebHistory.cpp:

(WebHistory::addVisitedLinksToPageGroup): Use a better loop and call
visitedLinkHash, since it can take a String.

  • WebKitGraphics.cpp:

(CenterTruncateStringToWidth): Use StringView::getCharactersWithUpconvert.
(RightTruncateStringToWidth): Ditto.

  • WebView.cpp:

(WebView::applicationNameForUserAgent): Use BString instead of SysAllocStringLen.
(WebView::customUserAgent): Ditto.
(WebView::groupName): Ditto.
(WebView::selectedText): Ditto.
(WebView::onIMERequestReconvertString): Use StringView::getCharactersWithUpconvert.

4:09 PM Changeset in webkit [165714] by BJ Burg
  • 7 edits in trunk/Source

Web Inspector: generated backend commands should reflect build system ENABLE settings
https://bugs.webkit.org/show_bug.cgi?id=130111

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • CMakeLists.txt:

Combine only the Inspector domains listed in INSPECTOR_DOMAINS,
instead of globbing any .json file.

  • DerivedSources.make:

Force the combined inspector protocol file to be regenerated if
the content or list of domains itself changes.

Source/WebCore:

Add guards for conditional inspector domains.

For Makefile-based build systems, force regeneration of the
combined file if the list of domains has changed.

Combine only the Inspector domains listed in INSPECTOR_DOMAINS,
instead of globbing any .json file.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
3:42 PM Changeset in webkit [165713] by bshafiei@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

3:39 PM Changeset in webkit [165712] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.75.10

New tag.

2:41 PM Changeset in webkit [165711] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Follow-up: Double values passed to fabsf() in maxScaleFromTransform()
<http://webkit.org/b/130297>

Reviewed by Darin Adler.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::maxScaleFromTransform): Use narrowPrecisionToFloat()
instead of static_cast<float>().

1:21 PM Changeset in webkit [165710] by akling@apple.com
  • 11 edits in trunk/Source

ScriptExecutionContext::vm() should return a reference.
<https://webkit.org/b/129611>

Every ScriptExecutionContext has a VM, so this can never return null.
Made WorkerScriptController::vm() return a reference as well, since
that was needed for this change.

Reviewed by Geoffrey Garen.

  • bindings/js/WorkerScriptController.h:

(WebCore::WorkerScriptController::vm):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::vm):

  • dom/ScriptExecutionContext.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):

1:13 PM Changeset in webkit [165709] by zandobersek@gmail.com
  • 6 edits in trunk

[GTK][CMake] Build with -fno-rtti
https://bugs.webkit.org/show_bug.cgi?id=130261

Reviewed by Martin Robinson.

.:

  • Source/cmake/OptionsCommon.cmake: List the -fno-exceptions, -fno-strict-aliasing

and -fno-rtti options in the global CMAKE_C_FLAGS and CMAKE_CXX_FLAGS (-fno-rtti
is only listed in the latter). Replace -std=gnu++0x with the official -std=c++11 option.

  • Source/cmake/WebKitHelpers.cmake: Stop -fno-exceptions and -fno-strict-aliasing

from being set through the WEBKIT_SET_EXTRA_COMPILER_FLAGS macro, they are now listed
in CMAKE_C_FLAGS and CMAKE_CXX_FLAGS.

  • Source/cmake/gtest/CMakeLists.txt: Build GTest code with GTEST_HAS_RTTI macro defined to 0.

Tools:

  • TestWebKitAPI/CMakeLists.txt: Build TestWebKitAPI with GTEST_HAS_RTTI macro

defined to 0 to prevent typeid use in included GTest headers.

12:57 PM Changeset in webkit [165708] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

Remove OwnPtr.h, PassOwnPtr.h header inclusions in Source/WebCore/html/parser/ code
https://bugs.webkit.org/show_bug.cgi?id=129667

Reviewed by Anders Carlsson.

Remove unnecessary inclusions of the OwnPtr.h and PassOwnPtr.h headers
in the code under Source/WebCore/html/parser/.

  • html/parser/HTMLParserScheduler.h:
  • html/parser/HTMLToken.h:
  • html/parser/HTMLTreeBuilder.h:
  • html/parser/XSSAuditor.h:
  • html/parser/XSSAuditorDelegate.h:
12:47 PM Changeset in webkit [165707] by zandobersek@gmail.com
  • 14 edits in trunk/Source/WebKit2

Move GTK WebKit2 code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129672

Reviewed by Anders Carlsson.

Repace uses of OwnPtr and PassOwnPtr in GTK-specific WebKit2 code with std::unique_ptr.

  • Shared/Downloads/Download.h:
  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::start):
(WebKit::Download::startWithHandle):
(WebKit::Download::platformInvalidate):

  • UIProcess/API/gtk/PageClientImpl.cpp:
  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitContextMenuItem.cpp:

(webkitContextMenuItemCreate):
(webkitContextMenuItemCreateForGtkItem):
(webkit_context_menu_item_new):
(webkit_context_menu_item_new_from_stock_action):
(webkit_context_menu_item_new_from_stock_action_with_label):
(webkit_context_menu_item_new_with_submenu):
(webkit_context_menu_item_new_separator):

  • UIProcess/API/gtk/WebKitTextChecker.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::print):

  • WebProcess/gtk/WebGtkExtensionManager.cpp:

(WebKit::WebGtkExtensionManager::initialize):

  • WebProcess/soup/WebKitSoupRequestInputStream.cpp:

(webkitSoupRequestInputStreamPendingReadAsyncComplete):
(webkitSoupRequestInputStreamReadAsync):

  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit::WebSoupRequestManager::send):

  • WebProcess/soup/WebSoupRequestManager.h:
12:25 PM Changeset in webkit [165706] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
<http://webkit.org/b/130283>
<rdar://problem/16281477>

Reviewed by Darin Adler.

  • wtf/text/StringImpl.h:

(WTF::loadUnaligned): Restore behavior prior to r165681 for
compilers other than clang.

11:50 AM Changeset in webkit [165705] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Remove uses of "cat" in DerivedSources.make outside platform-specific rules
https://bugs.webkit.org/show_bug.cgi?id=130307

Reviewed by Anders Carlsson.

  • DerivedSources.make: Use "perl -pe " instead of "cat".
11:43 AM Changeset in webkit [165704] by BJ Burg
  • 19 edits
    2 deletes in trunk

Web Inspector: vended backend commands file should be generated as part of the build
https://bugs.webkit.org/show_bug.cgi?id=130110

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • JavaScriptCore.xcodeproj/project.pbxproj: Copy InspectorJSBackendCommands.js to the

private headers directory.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Copy InspectorWebBackendCommands.js to the

private headers directory.

Source/WebInspectorUI:

Copy the backend commands generated in other frameworks into our built products directory.

  • Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend

commands files from the private headers directory of other frameworks.

  • Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands.
  • UserInterface/Protocol/InspectorJSBackendCommands.js: Removed.
  • UserInterface/Protocol/InspectorWebBackendCommands.js: Removed.
  • WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated

backend commands files from the other frameworks.

  • WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as

framework dependencies so Xcode builds them first.

Source/WebKit2:

  • PlatformGTK.cmake: Copy over generated inspector backend commands files.

Tools:

  • Scripts/build-webkit: build WebInspectorUI after WebCore but before WebKit.
10:35 AM Changeset in webkit [165703] by Darin Adler
  • 16 edits in trunk/Source

Remove all uses of deprecatedCharacters from JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=130304

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • API/JSValueRef.cpp:

(JSValueMakeFromJSONString): Use characters16 in the 16-bit code path.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::~OpaqueJSString): Use characters 16 in the 16-bit code path.
(OpaqueJSString::identifier): Get rid of custom Identifier constructor, and
juse use the standard one that takes a String.
(OpaqueJSString::characters): Use getCharactersWithUpconvert instead of a
hand-written alternative.

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue): Create InspectorString from String directly
instead of involving a character pointer. Use the String from Identifier
directly instead of making a new String.

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::createSearchRegexSource): Use StringBuilder
instead of building a String a character at a time. This is still a very slow
way to do this. Also use strchr to search for a character instead of building
a String every time just to use find on it.

  • inspector/InspectorValues.cpp:

(Inspector::doubleQuoteString): Remove unnecessary trip through a
character pointer. This is still a really slow way to do this.
(Inspector::InspectorValue::parseJSON): Use StringView::upconvertedCharacters
instead of String::deprecatedCharacters. Still slow to always upconvert.

  • runtime/DateConstructor.cpp: Removed unneeded include.
  • runtime/DatePrototype.cpp: Ditto.
  • runtime/Identifier.h: Removed deprecatedCharacters function.
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode): Added a type cast to avoid ambiguity with the two character-
appending functions from JSStringBuilder. Removed unneeded code duplicating
what JSStringBuilder already does in its character append function.
(JSC::decode): Deleted code that creates a JSStringBuilder that is never used.
(JSC::parseIntOverflow): Changed lengths to unsigned. Made only the overload that
is used outside this file have external linkage. Added a new overload that takes
a StringView.
(JSC::parseInt): Use StringView::substring to call parseIntOverflow.
(JSC::globalFuncEscape): Use JSBuilder::append in a more efficient way for a
single character.

  • runtime/JSGlobalObjectFunctions.h: Removed unused overloads of parseIntOverflow.
  • runtime/JSStringBuilder.h: Marked this "lightly deprecated".

(JSC::JSStringBuilder::append): Overloaded for better speed with 8-bit characters.
Made one overload private. Fixed a performance bug where we would reserve capacity
in the 8-bit buffer but then append to the 16-bit buffer.

  • runtime/ObjectPrototype.cpp: Removed unneeded include.
  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncFontsize): Use StringView::getCharactersWithUpconvert.
(JSC::stringProtoFuncLink): Ditto.

Source/WTF:

  • wtf/dtoa.h:

(WTF::parseDouble): Added an overload that takes a StringView.

10:33 AM Changeset in webkit [165702] by fred.wang@free.fr
  • 7 edits
    10 adds in trunk

[regression] foreign content not displayed in MathML
<https://webkit.org/b/124128>

Reviewed by Chris Fleizach.

Source/WebCore:

This restores foreign content in <mtext>, <mn> and <mi> elements, but only when it is "phrasing content" as defined per the HTML5 specification. Other token elements are not handled here. This change makes mspace-units.html work again on Linux.

Tests: mathml/presentation/foreign-mi-dynamic.html

mathml/presentation/foreign-mi.html
mathml/presentation/foreign-mn.html
mathml/presentation/foreign-mtext-rejected.html
mathml/presentation/foreign-mtext.html

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::createElementRenderer): create a RenderMathMLToken for mn, ms and mtext.
(WebCore::isPhrasingContent): helper function to check phrasing content, as defined by the HTML spec.
(WebCore::MathMLTextElement::childShouldCreateRenderer): <mi>, <mn>, <mtext> and, <ms> now accepts phrasing content.

  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::RenderMathMLToken::RenderMathMLToken):
(WebCore::RenderMathMLToken::updateTokenContent): initialize the m_containsElement boolean when updating the token content.
(WebCore::RenderMathMLToken::updateStyle): move <mi> specific handling in its own section and only apply the single-char rule when it does not contain elements.

  • rendering/mathml/RenderMathMLToken.h: add an m_containsElement boolean to handle token element specifically.

LayoutTests:

  • mathml/presentation/foreign-mi-dynamic-expected.html: Added.
  • mathml/presentation/foreign-mi-dynamic.html: Added.
  • mathml/presentation/foreign-mi-expected-mismatch.html: Added.
  • mathml/presentation/foreign-mi.html: Added.
  • mathml/presentation/foreign-mn-expected-mismatch.html: Added.
  • mathml/presentation/foreign-mn.html: Added.
  • mathml/presentation/foreign-mtext-expected-mismatch.html: Added.
  • mathml/presentation/foreign-mtext-rejected-expected.html: Added.
  • mathml/presentation/foreign-mtext-rejected.html: Added.
  • mathml/presentation/foreign-mtext.html: Added.
  • platform/efl/TestExpectations: reenable the test.
  • platform/gtk/TestExpectations: ditto.
10:05 AM Changeset in webkit [165701] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

PlatformTimeRanges::nearest() truncates closestDelta values from double to float
<http://webkit.org/b/130298>

Reviewed by Darin Adler.

Fixes the following build failures using trunk clang:

WebCore/platform/graphics/PlatformTimeRanges.cpp:210:28: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]

closestDelta = fabsf(startTime - time);


WebCore/platform/graphics/PlatformTimeRanges.cpp:210:28: note: use function 'fabs' instead

closestDelta = fabsf(startTime - time);


fabs

WebCore/platform/graphics/PlatformTimeRanges.cpp:214:28: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]

closestDelta = fabsf(endTime - time);


WebCore/platform/graphics/PlatformTimeRanges.cpp:214:28: note: use function 'fabs' instead

closestDelta = fabsf(endTime - time);


fabs

  • platform/graphics/PlatformTimeRanges.cpp:

(WebCore::PlatformTimeRanges::nearest): Extract start and end
time deltas into local variables so they don't have to be
computed twice, using fabs() instead of fabsf().

9:49 AM Changeset in webkit [165700] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL ArrayifyToStructure shouldn't fail every time that it actually arrayifies
https://bugs.webkit.org/show_bug.cgi?id=130296

Reviewed by Andreas Kling.

During the 32-bit structure ID work, the second load of the structure was removed.
That's wrong. The whole point of loading the structure ID again is that the structure
ID would have been changed by the arrayification call, and we're verifying that the
arrayification succeeded in changing the structure. If we check the old structure - as
the code was doing after the 32-bit structure ID work - then this check is guaranteed
to fail, causing a significant performance regression.

It's actually amazing that the regression wasn't bigger. The reason is that if FTL
code pathologically exits but the equivalent DFG code doesn't, then the exponential
backoff almost perfectly guarantees that we just end up in the DFG. For this code, at
the time at least, the DFG wasn't much slower so this didn't cause too much pain.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):

9:38 AM Changeset in webkit [165699] by Darin Adler
  • 57 edits in trunk/Source

Optimize hasTagName when called on an HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=130090

Reviewed by Antti Koivisto.

Source/WebCore:

Added new hasTagName functions that have the efficiency of hasLocalName.
but are safe.

Now we can always use hasTagName, and we'll get a compile time error if
we try to use an SVG tag name with an HTML element. All call sites that
use the more specific tag name types are more efficient, and call sites
that have a specific pointer type will get even more efficient checking
that is exactly what we used to get by calling hasLocalName.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasTagName): Cast explicitly to Element
since Node::hasTagName no longer works on a general QualifiedName.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isDescendantOfElementType): Use
more specific type, RenderElement, so we can call hasTagName on Element
instead of Node; eliminates an unnecessary branch.

  • accessibility/AccessibilityTableColumn.cpp: Added now-needed include.
  • accessibility/atk/AccessibilityObjectAtk.cpp: Ditto.
  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets): Use
new for loop and full words for variable names. Also use nullptr instead
of 0. Call toHTMLElement and toSVGElement in code that checks hasTagName
since it's already checking isHTMLElement and isSVGElement.

  • dom/Element.cpp:

(WebCore::attrNodeListMap): Use NeverDestroyed and put the vectors into
the map rather than putting pointers to a vector into the map.
(WebCore::attrNodeListForElement): Take a reference rather than a pointer,
and update for the change above.
(WebCore::ensureAttrNodeListForElement): Ditto.
(WebCore::removeAttrNodeListForElement): Ditto.
(WebCore::findAttrNodeInList): Ditto.
(WebCore::Element::isFocusable): Use lineageOfType<HTMLCanvasElement>
to fine the canvas rather than a hand-written loop.
(WebCore::Element::attrNodeList): Update for above changes.
(WebCore::Element::setAttributeNode): Ditto.
(WebCore::Element::attrIfExists): Ditto.
(WebCore::Element::ensureAttr): Ditto.
(WebCore::Element::detachAttrNodeFromElementWithValue): Ditto.
(WebCore::Element::detachAllAttrNodesFromElement): Ditto.

  • dom/Element.h: Removed the overload of hasLocalName that takes a

QualifiedName and ignores the non-local-name parts of it. Callers should
use hasTagName instead, now that it's optimized appropriately. Added
overloads of hasTagName for all the specific qualified name types. It's
more efficient to use the Node versions of these functions rather than
using QualifiedName::matches to do the check. Removed the hasTagName and
hasLocalName functions from the Node class; the only convenience functions
needed in Node are the specific checks for tags from HTML, MathML, and SVG,
not the general purpose ones.

  • dom/Node.h: Removed hasLocalName and replaced the single hasTagName

that takes a QualifiedName with three faster ones that take HTML, MathML,
and SVG qualified names instead. Also updated to use nullptr instead of 0.

  • dom/PositionIterator.cpp: Added now-needed include.
  • dom/Text.cpp: Ditto.
  • dom/make_names.pl:

(printHeaderHead): Renamed an argument for clarity and added a definitions
argument, which is where we insert the classes derived from QualifiedName.
(printCppHead): Renamed an argument for clarity.
(printTypeHelpers): Use hasTagName rather than hasLocalName, since the
former is now optimized to be the same as what the latter was.
(printNamesHeaderFile): Define a class derived from QualifiedName that can
be used at compile time to avoid having to check the namespace.
(printNamesCppFile): Use the new more-specific type as needed.

  • editing/ApplyStyleCommand.cpp:

(WebCore::isLegacyAppleStyleSpan): Use hasTagName instead of hasLocalName,
and references instead of pointers.
(WebCore::ApplyStyleCommand::ApplyStyleCommand): Removed uneeded explicit
construction of a smart pointer.
(WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun): Updated to use
the enclosingElementWithTag function by its new name.

  • editing/Editor.cpp:

(WebCore::Editor::selectionUnorderedListState): Updated to use the
enclosingElementWithTag function by its new name.
(WebCore::Editor::selectionOrderedListState): Ditto.

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApply): Use a more-specific type for the list tag.
(WebCore::InsertListCommand::doApplyForSingleParagraph): Ditto.

  • editing/InsertListCommand.h: Ditto.
  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Added an explicit
cast to Element in the loop that is already guarded by an isElementNode check.
Also use a modern C++ for loop.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
Updated to use the enclosingElementWithTag function by its new name.
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Ditto.
(WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Ditto.

  • editing/TypingCommand.cpp: Added now-needed includes.
  • editing/VisibleUnits.cpp: Ditto.
  • editing/htmlediting.cpp:

(WebCore::enclosingElementWithTag): Changed to return an Element instead of a Node,
since nodes other than elements do not have tags.

  • editing/htmlediting.h: Ditto.
  • editing/mac/EditorMac.mm:

(WebCore::Editor::adjustedSelectionRange): Updated to use the enclosingElementWithTag
function by its new name.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendText): Ditto.
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Ditto.
(WebCore::highestAncestorToWrapMarkup): Ditto.
(WebCore::createMarkupInternal): Ditto.
(WebCore::createContextualFragment): Ditto. Use hasTagName instead of hasLocalName,
since the former is now optimized to be the same as the latter was before.

  • html/HTMLCollection.cpp:

(WebCore::isMatchingElement): Use hasTagName instead of hasLocalName,
since the former is now optimized to be the same as the latter was before.
(WebCore::nameShouldBeVisibleInDocumentAll): Ditto.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::ieForbidsInsertHTML): Ditto.
(WebCore::unicodeBidiAttributeForDirAuto): Ditto.
(WebCore::HTMLElement::parseBorderWidthAttribute): Ditto.
(WebCore::HTMLElement::setInnerHTML): Ditto.
(WebCore::shouldProhibitSetInnerOuterText): Ditto. Added this to share code between
setInnerText and setOuterText.
(WebCore::HTMLElement::setInnerText): Ditto.
(WebCore::HTMLElement::setOuterText): Ditto.
(WebCore::HTMLElement::rendererIsNeeded): Ditto.
(WebCore::HTMLElement::createElementRenderer): Ditto.

  • html/HTMLElement.h: Added hasTagName, which hides the one inherited from Element

and takes the more-specific HTMLQualifiedName type. This means we don't need to check
the namespace at runtime because it's known at compile time. Also put the
implementation of Node::hasTagName for HTMLQualifiedName into this header.

  • html/HTMLObjectElement.cpp:

(WebCore::isRecognizedTagName): Updated for change in return type of
HTMLNames::getHTMLTags.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::add): Use hasTagName inastead of hasLocalName.
(WebCore::HTMLSelectElement::value): Use isHTMLOptionElement instead of hasTagName.
Also use a new style for loop and emptyString() instead of "".
(WebCore::HTMLSelectElement::setValue): Ditto.
(WebCore::HTMLSelectElement::setLength): Ditto.
(WebCore::HTMLSelectElement::searchOptionsForValue): Ditto.
(WebCore::HTMLSelectElement::restoreFormControlState): Ditto.

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::additionalPresentationAttributeStyle): Use hasTagName
instead of hasLocalName.

  • html/HTMLTableRowsCollection.cpp:

(WebCore::isInSection): Updated to use hasTagName and take a reference.
(WebCore::HTMLTableRowsCollection::rowAfter): Pass a reference.

  • html/parser/HTMLConstructionSite.cpp: Added now-needed include.
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::createCaseMap): Updated to return a map rather than filling one in, and to
be flxible about the type of the table being used.
(WebCore::adjustSVGTagNameCase): Updated to use NeverDestroyed.
(WebCore::adjustAttributes): Added new helper so we can share more code. Updated
template argument names for clarity.
(WebCore::adjustSVGAttributes): Marked this inline, since it just turns around and
calls a single non-inline function.
(WebCore::adjustMathMLAttributes): Ditto.
(WebCore::addNamesWithPrefix): Changed to take argument by reference instead of pointer.
(WebCore::createForeignAttributesMap): Added. Factors out the map creation from the
function below.
(WebCore::adjustForeignAttributes): Updated for above changes.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to pass reference.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.

  • inspector/InspectorStyleSheet.cpp: Added now-needed include.
  • mathml/MathMLElement.h: Added hasTagName, which hides the one inherited from Element

and takes the more-specific MathMLQualifiedName type. This means we don't need to check
the namespace at runtime because it's known at compile time. Also put the
implementation of Node::hasTagName for MathMLQualifiedName into this header.

  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::createElementRenderer): Use hasTagName.

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::attributeChanged): Use hasTagName.
(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex): Ditto.
(WebCore::MathMLSelectElement::getSelectedActionChild): Ditto.
(WebCore::MathMLSelectElement::getSelectedSemanticsChild): Ditto.
(WebCore::MathMLSelectElement::updateSelectedChild): Ditto.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::createElementRenderer): Ditto.
(WebCore::MathMLTextElement::childShouldCreateRenderer): Ditto.

  • platform/gtk/PasteboardGtk.cpp: Added now-needed include.
  • platform/mac/HTMLConverter.mm: Ditto.
  • rendering/RenderBlockFlow.cpp: Ditto.
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended): Use hasTagName.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::rendererForRootBackground): Ditto.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Ditto.

  • rendering/RenderReplaced.cpp: Added now-needed include.
  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::RenderMathMLScripts): Use hasTagName.

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): Ditto.

  • svg/SVGElement.h: Added hasTagName, which hides the one inherited from Element

and takes the more-specific SVGQualifiedName type. This means we don't need to check
the namespace at runtime because it's known at compile time. Also put the
implementation of Node::hasTagName for SVGQualifiedName into this header.

  • svg/SVGFontFaceSrcElement.cpp:

(WebCore::SVGFontFaceSrcElement::childrenChanged): Use isSVGFontFaceElement instead
of calling hasTagName.

  • svg/SVGUseElement.cpp:

(WebCore::isDirectReference): Changed to take a reference and a more specific type.
(WebCore::SVGUseElement::toClipPath): Added a type cast.
(WebCore::SVGUseElement::rendererClipChild): Use more specific types so we don't
need a type cast.

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::parseDocumentFragment): Added explicit calls to this
unusual call site that has a good reason to use hasLocalName instead of hasTagName.

Source/WebKit:

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

Updated exports for QualifiedName -> HTMLQualifiedName change.

8:15 AM Changeset in webkit [165698] by Darin Adler
  • 2 edits in trunk/Source/WebKit2

Try to fix 32-bit Mac build.

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Add missing include.
4:23 AM Changeset in webkit [165697] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser: Add shortcuts for reloading page and reloading page ignoring cache
https://bugs.webkit.org/show_bug.cgi?id=128999

Patch by Diego Pino García <Diego Pino Garcia> on 2014-03-16
Reviewed by Philippe Normand.

  • MiniBrowser/gtk/BrowserWindow.c:

(reloadPage):
(reloadPageIgnoringCache):
(browser_window_init):

4:01 AM Changeset in webkit [165696] by b.long@cablelabs.com
  • 2 edits in trunk

[GStreamer] CMake doesn't find the include path for gstreamer-base
https://bugs.webkit.org/show_bug.cgi?id=130098

Reviewed by Philippe Normand.

  • Source/cmake/FindGStreamer.cmake: Look for a header in gstreamer-base instead of looking for gst/gst.h twice.
3:06 AM Changeset in webkit [165695] by Philippe Normand
  • 2 edits in trunk/Source/WebKit2

Unreviewed, GTK build fix after r165692.

  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

1:33 AM Changeset in webkit [165694] by akling@apple.com
  • 4 edits in trunk/Source

Stop pulling in JSDOMBinding.h via JSEventListener.h
<https://webkit.org/b/130299>

Just chippin' away at the compile time monster.

Reviewed by Darin Adler.

  • bindings/js/IDBBindingUtilities.cpp:
  • bindings/js/JSEventListener.h:
1:27 AM Changeset in webkit [165693] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Double values passed to fabsf() in maxScaleFromTransform()
<http://webkit.org/b/130297>

Reviewed by Darin Adler.

Fixes the following build failures using trunk clang:

WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:21: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]

return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));


WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:21: note: use function 'fabs' instead

return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));


fabs

WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:50: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]

return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));


WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:50: note: use function 'fabs' instead

return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));


fabs

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::maxScaleFromTransform): Use static_cast<float>() to
convert float values to double values.

Note: See TracTimeline for information about the timeline view.