Timeline



Nov 6, 2014:

11:22 PM Changeset in webkit [175743] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Unreviewed. Try to fix GTK build after r175719.

Rename the Timer fired function as requestAnimationTimerFired() to
avoid ambiguity.

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
(WebCore::ScrollAnimatorNone::requestAnimationTimerFired):
(WebCore::ScrollAnimatorNone::animationTimerFired): Deleted.

  • platform/ScrollAnimatorNone.h:
9:53 PM Changeset in webkit [175742] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Remove useless if check in HTMLInputElement::setValue()
https://bugs.webkit.org/show_bug.cgi?id=138485

Reviewed by Daniel Bates.

Remove useless if check in HTMLInputElement::setValue(). It was
inadvertently left in as part of r94836.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setValue):

8:52 PM Changeset in webkit [175741] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Put names on a couple of video-related CALayers
https://bugs.webkit.org/show_bug.cgi?id=138491

Reviewed by Eric Carlson.

In debug, set layer names on a couple of video-related layers to make
debugging easier.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):

7:16 PM Changeset in webkit [175740] by Darin Adler
  • 5 edits in trunk

REGRESSION (r175549): http/tests/multipart/stop-crash.html failing (assertion failure in CachedResource::setEncodedSize)
https://bugs.webkit.org/show_bug.cgi?id=138358

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::setEncodedSize): Removed the incorrect assertion here.
The code asserts that resources only get bigger, never smaller. This is incorrect
for a multipart/mixed-replace image, where a later image that is smaller can replace
an earlier one. I don't fully understand why this assertion was not firing before,
but the relevant websites are working fine and the test otherwise passes.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart): Fix another
incorrect assertion that can fire for any parts after the first one. I ran into
this while testing various websites that use multipart/mixed-replace.

LayoutTests:

7:04 PM Changeset in webkit [175739] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

6:56 PM Changeset in webkit [175738] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.2.1

New Tag.

6:56 PM Changeset in webkit [175737] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

6:51 PM Changeset in webkit [175736] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/JavaScriptCore

Rollout r173238. rdar://problem/18495806

6:27 PM Changeset in webkit [175735] by commit-queue@webkit.org
  • 8 edits in trunk/Tools

Remove duplicate code from PatchAnalysisTask._test_patch and fix bug
regarding incorrect call to PatchAnalysisTask.report_failure
https://bugs.webkit.org/show_bug.cgi?id=138229

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-11-06
Reviewed by Daniel Bates.

  • Scripts/webkitpy/common/net/layouttestresults.py:

Makes sure test_results returns a list.
(LayoutTestResults.test_results):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Makes unit tests also check to make sure
task.results_from_patch_test_run() and
task.results_from_test_run_without_patch return instances of
LayoutTestResults.
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Condenses duplicate code into _should_defer_patch_or_throw, and
removes the now-unused _clean_tree_results member.
(PatchAnalysisTask.init):
(PatchAnalysisTask._continue_testing_patch_that_exceeded_failure_limit_on_first_or_second_try):
(PatchAnalysisTask._should_defer_patch_or_throw):
(PatchAnalysisTask._test_patch):
(PatchAnalysisTask.results_from_patch_test_run):
(PatchAnalysisTask.results_from_test_run_without_patch): Deleted.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Removes needless call to results_from_test_run_without_patch
(AbstractEarlyWarningSystem._failing_tests_message):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Changes order of test failure messages to be in the order that they
appear.
(AbstractEarlyWarningSystemTest.test_failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues.py:

Removes needless call to results_from_test_run_without_patch.
(CommitQueue._failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(MockCommitQueueTask.results_from_test_run_without_patch): Deleted.

6:26 PM Changeset in webkit [175734] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Version bump.

6:11 PM Changeset in webkit [175733] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Wrap the bulk of -[WebView dealloc] with an autorelease pool.
https://bugs.webkit.org/show_bug.cgi?id=138443

Patch by Daniel Jalkut <jalkut@red-sweater.com> on 2014-11-06
Reviewed by Anders Carlsson.

Wrapping the dealloc method in its own autorelease pool avoids the problem of
complex tear-downs leading to the WebView itself being added to an autorelease
pool that is not drained until after the instance has been dealloc'd.

  • WebView/WebView.mm:

(-[WebView dealloc]):

6:02 PM Changeset in webkit [175732] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Clients should be able to customize the view used for page previews
https://bugs.webkit.org/show_bug.cgi?id=138447

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-06
Reviewed by Tim Horton.

Add SPI to WKView that clients can use to customize the view used in the page preview popover.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare -_viewForPreviewingURL:initialFrameSize:.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _viewForPreviewingURL:initialFrameSize:]):
Return nil in the default implementation.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController loadView]):
Only spin up a WKWebView if the delegate (and, therefore, the presenting WKView) doesn't supply a custom view.
(-[WKActionMenuController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]):
WKPagePreviewViewControllerDelegate method; wrap the WKView SPI.

5:14 PM Changeset in webkit [175731] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Refactor the get-by-pname.js test [follow up 2].
<https://webkit.org/b/138483>

Reviewed by Michael Saboff.

Make unique copies of the test functions to ensure that each test case does not
affect the tiering up of other test cases.

  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(foo): Deleted.
(getByPnameOnConstant): Deleted.
(getByPnameOnVar): Deleted.

4:53 PM Changeset in webkit [175730] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/WebCore

Merged r175727. rdar://problem/18896362

4:49 PM Changeset in webkit [175729] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Refactor the get-by-pname.js test [follow up].
<https://webkit.org/b/138483>

Reviewed by Michael Saboff.

Used named properties to make the test code more readable.

  • js/script-tests/get-by-pname.js:

(isTierIteration):
(tierName):
(testExpr): Deleted.
(testExpectedResult): Deleted.

4:34 PM Changeset in webkit [175728] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/JavaScriptCore

Merged r175724. rdar://problem/18495847

4:27 PM Changeset in webkit [175727] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo in optimized fullscreen activation.
https://bugs.webkit.org/show_bug.cgi?id=138480

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-11-06
Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleWrapperTouchStart): fix typo doubleTouchIntervalThresholdms
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): fix typo isFullScreen

4:24 PM Changeset in webkit [175726] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-600.2-branch

Merged r174740. rdar://problems/18883729

4:18 PM Changeset in webkit [175725] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Tools

Unreviewed. Reorder my e-mail addresses in contributors.json

Patch by Ryuan Choi <ryuan.choi@navercorp.com> on 2014-11-06

  • Scripts/webkitpy/common/config/contributors.json:
4:18 PM Changeset in webkit [175724] by mark.lam@apple.com
  • 5 edits in trunk

slow_path_get_direct_pname() needs to be hardened against a constant baseValue.
<https://webkit.org/b/138476>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

slow_path_get_direct_pname() currently assumes that the baseValue is always a
non-constant virtual register. However, this is not always the case like in the
following:

function foo() {

var o = { a:1 };
for (var n in o)

0[n];

}
foo();

This patch fixes it to also check for constant virtual register indexes.

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

LayoutTests:

  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(getByPnameOnConstant):
(getByPnameOnVar):

  • Added more test cases.
4:02 PM Changeset in webkit [175723] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.2-branch/Source/WebCore

Merged r175375. rdar://problems/18883734

3:53 PM Changeset in webkit [175722] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Refactor the get-by-pname.js test.
<https://webkit.org/b/138483>

Reviewed by Geoffrey Garen.

Refactored the test code to:

  1. make it easier to add more test cases.
  2. test each case against different tier JITs.
  3. print only one set of results for each tier being tested.
  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(getByPnameOnConstant):
(getByPnameOnVar):
(testExpr):
(testExpectedResult):
(isTierIteration):
(tierName):

3:20 PM Changeset in webkit [175721] by Bem Jones-Bey
  • 14 edits
    11 adds
    10 deletes in trunk/LayoutTests

[CSS Shapes] the spec-examples reftests are off by a few pixels
https://bugs.webkit.org/show_bug.cgi?id=135927

Reviewed by Zoltan Horvath.

Import new versions of the spec example tests that are js tests
instead of ref tests so that they can properly handle the small pixel
differences in rendering between platforms.

  • TestExpectations:
  • css3/shapes/spec-examples/shape-outside-010-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-010-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-010.html:
  • css3/shapes/spec-examples/shape-outside-011-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-011-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-011.html:
  • css3/shapes/spec-examples/shape-outside-012-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-012-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-012.html:
  • css3/shapes/spec-examples/shape-outside-013-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-013-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-013.html:
  • css3/shapes/spec-examples/shape-outside-014-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-014-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-014.html:
  • css3/shapes/spec-examples/shape-outside-015-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-015-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-015.html:
  • css3/shapes/spec-examples/shape-outside-016-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-016-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-016.html:
  • css3/shapes/spec-examples/shape-outside-017-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-017-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-017.html:
  • css3/shapes/spec-examples/shape-outside-018-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-018-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-018.html:
  • css3/shapes/spec-examples/shape-outside-019-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-019-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-019.html:
  • css3/shapes/spec-examples/support/spec-example-utils.js: Added.

(.runTest):
(approxShapeTest):

  • css3/shapes/spec-examples/support/w3c-import.log:
  • css3/shapes/spec-examples/w3c-import.log:
3:17 PM Changeset in webkit [175720] by Chris Dumez
  • 8 edits
    2 adds in trunk/Source/WebCore

Stop special-casing wbr elements in HTMLElement::createElementRenderer()
https://bugs.webkit.org/show_bug.cgi?id=138474

Reviewed by Ryosuke Niwa.

Stop special-casing wbr elements in HTMLElement::createElementRenderer()
and move the code to a HTMLWBRElement subclass instead, that is
overriding createElementRenderer(). This function is already virtual.

No new tests, no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createElementRenderer):

  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLTagNames.in:
  • html/HTMLWBRElement.cpp: Added.

(WebCore::HTMLWBRElement::create):
(WebCore::HTMLWBRElement::HTMLWBRElement):
(WebCore::HTMLWBRElement::createElementRenderer):

  • html/HTMLWBRElement.h: Added.
  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::RenderLineBreak):

3:06 PM Changeset in webkit [175719] by jer.noble@apple.com
  • 277 edits in trunk/Source

De-templatize Timer
https://bugs.webkit.org/show_bug.cgi?id=138450

Reviewed by Anders Carlsson.

Source/WebCore:

Timer does not need to be a templated class; only it's constructors need to be templated.
Remove the template specifier from Timer and add same to its two class method
constructors. Replace the function pointer typedefs with using statements. Add a
helper typedef which allows invalid combinations of TimerFiredClass and
TimerFiredFunction to be caught early by the compiler, while still allowing
valid combinations (such as when the caller specifies a function on a subclass of
TimerFiredClass).

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired):
(WebCore::Geolocation::resumeTimerFired):

  • Modules/geolocation/Geolocation.h:
  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::taskTimerFired):

  • Modules/indexeddb/IDBTransactionBackend.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::removeTimerFired):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::scheduledEventTimerFired):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::scheduledEventTimerFired):

  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::scheduledEventTimerFired):

  • Modules/mediastream/RTCDataChannel.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/notifications/Notification.cpp:

(WebCore::Notification::Notification):
(WebCore::Notification::taskTimerFired):

  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::NotificationRequestCallback::timerFired):

  • Modules/notifications/NotificationCenter.h:
  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::timerFired):

  • Modules/vibration/Vibration.h:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::closingTimerFired):

  • Modules/websockets/WebSocketChannel.h:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::notificationPostTimerFired):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::AXObjectCache):

  • bindings/js/GCController.cpp:

(WebCore::GCController::gcTimerFired):

  • bindings/js/GCController.h:
  • css/CSSFontFaceSource.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadTimerFired):

  • css/CSSFontSelector.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sweepMatchedPropertiesCache):

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

(WebCore::Document::visualUpdatesSuppressionTimerFired):
(WebCore::Document::styleRecalcTimerFired):
(WebCore::Document::optimizedStyleSheetUpdateTimerFired):
(WebCore::Document::sharedObjectPoolClearTimerFired):
(WebCore::Document::updateFocusAppearanceTimerFired):
(WebCore::Document::pendingTasksTimerFired):
(WebCore::Document::fullScreenChangeDelayTimerFired):
(WebCore::Document::loadEventDelayTimerFired):
(WebCore::Document::didAssociateFormControlsTimerFired):
(WebCore::Document::domCookieCacheExpiryTimerFired):

  • dom/Document.h:
  • dom/EventSender.h:

(WebCore::EventSender::timerFired):

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::timerFired):

  • dom/GenericEventQueue.h:
  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::timerFired):

  • dom/ScriptRunner.h:
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::animationTimerFired):

  • dom/ScriptedAnimationController.h:
  • dom/StyledElement.cpp:

(WebCore::PresentationAttributeCacheCleaner::cleanCache):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::timerFired):

  • editing/AlternativeTextController.h:
  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers):
(WebCore::Editor::editorUIUpdateTimerFired):

  • editing/Editor.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::caretBlinkTimerFired):

  • editing/FrameSelection.h:
  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::timerFiredToProcessQueuedRequest):

  • editing/SpellChecker.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::requestAutocompleteTimerFired):

  • html/HTMLFormElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::swapRendererTimerFired):

  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):

  • html/HTMLPlugInImageElement.h:
  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::errorEventTimerFired):

  • html/HTMLSourceElement.h:
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::loadTimerFired):

  • html/HTMLTrackElement.h:
  • html/MediaController.cpp:

(MediaController::asyncEventTimerFired):
(MediaController::clearPositionTimerFired):
(MediaController::timeupdateTimerFired):

  • html/MediaController.h:
  • html/MediaDocument.cpp:

(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/MediaDocument.h:
  • html/SearchInputType.cpp:

(WebCore::SearchInputType::searchEventTimerFired):

  • html/SearchInputType.h:
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
(WebCore::ValidationMessage::buildBubbleTree):
(WebCore::ValidationMessage::requestToHideMessage):
(WebCore::ValidationMessage::deleteBubbleTree):

  • html/ValidationMessage.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::dispatchContextLostEvent):
(WebCore::WebGLRenderingContext::maybeRestoreContext):

  • html/canvas/WebGLRenderingContext.h:
  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):

  • html/parser/HTMLParserScheduler.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::transitionTimerFired):
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):

  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::hideFullscreenControlsTimerFired):

  • html/shadow/MediaControls.h:
  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::repeatingTimerFired):

  • html/shadow/SpinButtonElement.h:
  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::loadTimerFired):

  • html/track/LoadableTextTrack.h:
  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::scrollTimerFired):

  • html/track/VTTRegion.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::ChangeRegionOversetTask::timerFired):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::RevalidateStyleAttributeTask::timerFired):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorBackendDispatchTask::timerFired):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::updatePaintRectsTimerFired):

  • inspector/InspectorOverlay.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkTimerFired):

  • loader/FrameLoader.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::timerFired):

  • loader/ImageLoader.h:
  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::linkLoadTimerFired):
(WebCore::LinkLoader::linkLoadingErrorTimerFired):

  • loader/LinkLoader.h:
  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledNavigation::didStartTimer):
(WebCore::NavigationScheduler::timerFired):

  • loader/NavigationScheduler.h:
  • loader/PingLoader.h:

(WebCore::PingLoader::timeoutTimerFired):

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::progressHeartbeatTimerFired):

  • loader/ProgressTracker.h:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::requestTimerFired):

  • loader/ResourceLoadScheduler.h:
  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::cueLoadTimerFired):

  • loader/TextTrackLoader.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::Callback::timerFired):

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):

  • loader/cache/CachedResourceLoader.h:
  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::syncTimerFired):

  • loader/icon/IconDatabase.h:
  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::autoscrollTimerFired):

  • page/AutoscrollController.h:
  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::timerFired):

  • page/CaptionUserPreferences.h:
  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::updateTimerFired):

  • page/CaptionUserPreferencesMediaAF.h:
  • page/DeviceController.cpp:

(WebCore::DeviceController::fireDeviceEvent):

  • page/DeviceController.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::cursorUpdateTimerFired):
(WebCore::EventHandler::autoHideCursorTimerFired):
(WebCore::EventHandler::recognizeLongMousePress):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::hoverTimerFired):

  • page/EventHandler.h:
  • page/EventSource.cpp:

(WebCore::EventSource::connectTimerFired):

  • page/EventSource.h:
  • page/FocusController.cpp:

(WebCore::FocusController::focusRepaintTimerFired):

  • page/FocusController.h:
  • page/Frame.cpp:

(WebCore::Frame::overflowAutoScrollTimerFired):

  • page/Frame.h:
  • page/FrameView.cpp:

(WebCore::FrameView::delayedScrollEventTimerFired):
(WebCore::FrameView::speculativeTilingEnableTimerFired):
(WebCore::FrameView::layoutTimerFired):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::postLayoutTimerFired):

  • page/FrameView.h:
  • page/PageOverlay.cpp:

(WebCore::PageOverlay::fadeAnimationTimerFired):

  • page/PageOverlay.h:
  • page/Settings.cpp:

(WebCore::Settings::imageLoadingSettingsTimerFired):

  • page/Settings.h:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
(WebCore::AnimationControllerPrivate::animationTimerFired):

  • page/animation/AnimationControllerPrivate.h:
  • page/mac/ServicesOverlayController.h:
  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::determineActiveHighlightTimerFired):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):

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

(WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired):

  • platform/HysteresisActivity.h:

(WebCore::HysteresisActivity::hysteresisTimerFired):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
(WebCore::ScrollAnimator::startScrollSnapTimer):
(WebCore::ScrollAnimator::stopScrollSnapTimer):
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired):

  • platform/ScrollAnimator.h:
  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::animationTimerFired):

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

(WebCore::Scrollbar::autoscrollTimerFired):

  • platform/Scrollbar.h:
  • platform/Timer.h:

(WebCore::Timer::Timer):

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientDataBufferingTimerFired):

  • platform/audio/MediaSession.h:
  • platform/efl/BatteryProviderEfl.cpp:

(WebCore::BatteryProviderEfl::timerFired):

  • platform/efl/BatteryProviderEfl.h:
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::advanceAnimation):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::reloadTimerFired):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::timerFired):

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
(WebCore::TiledBackingStore::backingStoreUpdateTimerFired):

  • platform/graphics/TiledBackingStore.h:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired):

  • platform/graphics/ca/LayerPool.cpp:

(WebCore::LayerPool::pruneTimerFired):

  • platform/graphics/ca/LayerPool.h:
  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::tileRevalidationTimerFired):

  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::cohortRemovalTimerFired):

  • platform/graphics/ca/TileGrid.h:
  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:

(WebCore::LegacyCACFLayerTreeHost::renderTimerFired):

  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::collectionTimerFired):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:

(WebCore::CoordinatedImageBacking::clearContentsTimerFired):

  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
  • platform/ios/LegacyTileCache.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::tileCreationTimerFired):

  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::connectionDelayTimerFired):
(WebCore::HIDGamepadProvider::inputNotificationTimerFired):

  • platform/mac/HIDGamepadProvider.h:
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):

  • platform/mock/DeviceMotionClientMock.cpp:

(WebCore::DeviceMotionClientMock::timerFired):

  • platform/mock/DeviceMotionClientMock.h:
  • platform/mock/DeviceOrientationClientMock.cpp:

(WebCore::DeviceOrientationClientMock::timerFired):

  • platform/mock/DeviceOrientationClientMock.h:
  • platform/mock/GeolocationClientMock.cpp:

(WebCore::GeolocationClientMock::permissionTimerFired):
(WebCore::GeolocationClientMock::controllerTimerFired):

  • platform/mock/GeolocationClientMock.h:
  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):

  • platform/mock/PlatformSpeechSynthesizerMock.h:
  • platform/mock/TimerEventBasedMock.h:

(WebCore::TimerEvent::timerFired):

  • platform/network/DNSResolveQueue.cpp:

(WebCore::DNSResolveQueue::timerFired):

  • platform/network/DNSResolveQueue.h:
  • platform/network/NetworkStateNotifier.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::failureTimerFired):

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::downloadTimerCallback):

  • platform/network/curl/ResourceHandleManager.h:
  • platform/network/mac/NetworkStateNotifierMac.cpp:

(WebCore::NetworkStateNotifier::networkStateChangeTimerFired):

  • platform/network/win/ResourceHandleWin.cpp:

(WebCore::ResourceHandle::fileLoadTimer):

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::freeLibraryTimerFired):

  • plugins/PluginPackage.h:
  • plugins/PluginStream.cpp:

(WebCore::PluginStream::delayDeliveryTimerFired):

  • plugins/PluginStream.h:
  • plugins/PluginView.cpp:

(WebCore::PluginView::popPopupsStateTimerFired):
(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::invalidateTimerFired):
(WebCore::PluginView::lifeSupportTimerFired):

  • plugins/PluginView.h:
  • plugins/win/PluginMessageThrottlerWin.cpp:

(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):

  • plugins/win/PluginMessageThrottlerWin.h:
  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::highQualityRepaintTimerFired):

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

(WebCore::RenderButton::styleDidChange):
(WebCore::RenderButton::timerFired):

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

(WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
(WebCore::RenderLayerCompositor::layerFlushTimerFired):
(WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):

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

(WebCore::RenderMarquee::timerFired):

  • rendering/RenderMarquee.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::animationTimerFired):

  • rendering/RenderProgress.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::lazyRepaintTimerFired):

  • rendering/RenderView.h:
  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::timerFired):

  • replay/EventLoopInputDispatcher.h:
  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::closeDatabaseTimerFired):

  • storage/StorageAreaImpl.h:
  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::syncTimerFired):

  • storage/StorageAreaSync.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::svgLoadEventTimerFired):
(WebCore::SVGElement::svgLoadEventTimer):

  • svg/SVGElement.h:
  • svg/SVGScriptElement.h:
  • svg/SVGStyleElement.h:
  • svg/SVGUseElement.h:
  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::timerFired):

  • svg/animation/SMILTimeContainer.h:
  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):

  • xml/XMLHttpRequestProgressEventThrottle.h:

Source/WebKit/mac:

Remove template specifiers from Timer.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::requestTimerFired):

  • Plugins/WebNetscapePluginStream.h:
  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::deliverDataTimerFired):

Source/WebKit/win:

  • FullscreenVideoController.cpp:

(FullscreenVideoController::timerFired):

  • FullscreenVideoController.h:

Source/WebKit2:

Remove template specifiers from Timer.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::bufferingTimerFired):

  • NetworkProcess/NetworkResourceLoader.h:
  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::sampleTimerFired):
(WebKit::WebMemorySampler::stopTimerFired):

  • Shared/WebMemorySampler.h:
  • Shared/mac/RemoteLayerBackingStoreCollection.h:
  • Shared/mac/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::displayTimerFired):

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

(TextCheckerClientEfl::languagesUpdateTimerFired):
(TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):

  • UIProcess/efl/TextCheckerClientEfl.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):

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

(WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processSuspensionCleanupTimerFired):
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):

  • WebProcess/WebProcess.h:
2:51 PM Changeset in webkit [175718] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't send identifierForInitialRequest callback method for request with DoNotSendCallbacks option.
https://bugs.webkit.org/show_bug.cgi?id=138473

The iOS specific code that sets up a valid m_identifier is not needed any more, since this
will be done later in ResourceLoader::willSendRequest. This also matches the behavior that
we don't call assignIdentifierToInitialRequest callback method if the reqeust has
DoNotSendCallbacks option.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-11-06
Reviewed by Pratik Solanki.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest): Remove iOS specific block for setting up a valid

m_identifier. In iOS, also make sure we still bail out if the resource loader was stopped
in assignIdentifierToInitialRequest callback by a client.

2:41 PM Changeset in webkit [175717] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Remove code that prepends a leading 'r' to the first argument of _run_git_svn_find_rev
https://bugs.webkit.org/show_bug.cgi?id=138475

Reviewed by Ryosuke Niwa.

The change in https://trac.webkit.org/175603 introduced broke compatibility with svn_revision_from_git_commit.
This patch reverts the part of that change that broke compatibility. In addition, this patch adds a comment to
explain that SVN revisions require a leading 'r', moves an existing comment to a more appropriate location and
renames the positional argument to better reflect that it can represent either an SVN revision or a Git tree-ish.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git._run_git_svn_find_rev):
Add comment mentioning that svn_revisions need to begin with 'r'.
Move comment (explaining that git svn find-rev exits with code 0 when no match is found) to a more appropriate location.
Rename the argument 'revision' to 'revision_or_treeish' to reflect the dual form that argument can take.
Remove code that coerced the revision/treeish into a string and prepended an 'r'.

2:23 PM Changeset in webkit [175716] by dino@apple.com
  • 34 edits
    16 adds in trunk

[filters2] Support for backdrop-filter
https://bugs.webkit.org/show_bug.cgi?id=138384
<rdar://problem/18874494>

Reviewed by Simon Fraser.

Take 2!! Previous patch was rolled out.

Source/WebCore:

Add prototype support for backdrop-filter
http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty

This adds support for parsing the new CSS property, adding
the value to RenderStyle, noticing that on the layer tree,
and the platform code in GraphicsLayer to render a backdrop
and apply an effect to the result.

Some things are missing:

  • animation of the backdrop-filter is not yet supported
  • backdrops will not work in cloned layers yet (e.g. reflections)

Tests: css3/filters/backdrop/backdropfilter-property-computed-style.html

css3/filters/backdrop/backdropfilter-property-parsing-invalid.html
css3/filters/backdrop/backdropfilter-property-parsing.html
css3/filters/backdrop/backdropfilter-property.html
css3/filters/backdrop/effect-hw.html

  • WebCore.exp.in: Export the setBackdropFilters method so it can

be used from WebKit.

  • css/CSSComputedStyleDeclaration.cpp: New property name.

(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue): Use the existing valueForFilter method.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Piggyback on the filter parser.

  • css/CSSPropertyNames.in: Add -webkit-backdrop-filter.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Add test for backdrop.
(WebCore::StyleResolver::applyProperty): Support new property.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::needsBackdrop): New method to test for existence of values.
(WebCore::GraphicsLayer::backdropFilters): Keeps the list of filters.
(WebCore::GraphicsLayer::setBackdropFilters):
(WebCore::GraphicsLayer::clearBackdropFilters):

  • platform/graphics/ca/GraphicsLayerCA.cpp: This adds a new m_backdropLayer CALayer

that will sit behind the contents layer and provide the element's backdrop.
(WebCore::GraphicsLayerCA::willBeDestroyed):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::setBackdropFilters): Set a custom appearance so
remote layer hosts will notice the special layer. Also set the actual
layer properties.
(WebCore::GraphicsLayerCA::addAnimation): Remove whitespace.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Update backdrop if necessary.
(WebCore::GraphicsLayerCA::updateLayerNames): Give the new layer a name.
(WebCore::GraphicsLayerCA::updateSublayerList):
(WebCore::GraphicsLayerCA::updateGeometry): Make the backdrop layer match the contents
layer geometry.
(WebCore::GraphicsLayerCA::updateBackdropFilters): Create the backdrop layer if necessary,
and copy the filter values to any clones.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): We need a structural layer if we
have backdrop filters.
(WebCore::GraphicsLayerCA::structuralLayerPurpose):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/GraphicsLayerCA.h: New StructuralLayerPurpose, new LayerChangeFlag.
  • platform/graphics/ca/PlatformCALayer.h: New LayerType.
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Define CABackdropLayer.

(PlatformCALayerMac::PlatformCALayerMac): Create the correct CALayer type.

  • rendering/RenderElement.h:

(WebCore::RenderElement::createsGroup):
(WebCore::RenderElement::hasBackdropFilter): This method is always around, but
only can return true when FILTERS_LEVEL_2 is enabled.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintsWithFilters): Remove an unnecessary comment.
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h: Add hasBackdropFilter.
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Update the backdrop filters.
(WebCore::RenderLayerBacking::updateBackdropFilters): Set the filters on the GraphicsLayer.
(WebCore::RenderLayerBacking::updateGeometry):

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

(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Needs backingstore if it has a backdrop filter.
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForFilters): Return early if we have
a backdrop filter, because currently we absolutely require compositing.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange): Add hasBackdropFilter().

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Check backdrops for change.

  • rendering/style/RenderStyle.h: Add the backdropFilter style stuff.
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::hasBackdropFilters):

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext): Handle LayerTypeBackdropLayer in the switch.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::description): Describe a backdrop layer.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(+[WKBackdropView layerClass]): Define CABackdropLayer and use it as the class.
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm: Ditto.

(WebKit::RemoteLayerTreeHost::createLayer):

LayoutTests:

Tests for backdrop-filter. These are skipped on non-Apple platforms.

  • platform/win/TestExpections: Skip these tests.
  • platform/efl/TestExpections:
  • platform/gtk/TestExpections:
  • platform/mac-mavericks/TestExpectations: Yosemite only.
  • css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-computed-style.html: Added.
  • css3/filters/backdrop/backdropfilter-property-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid.html: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing.html: Added.
  • css3/filters/backdrop/backdropfilter-property.html: Added.
  • css3/filters/backdrop/effect-hw-expected.html: Added.
  • css3/filters/backdrop/effect-hw.html: Added.
  • css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Added.

(testComputedFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Added.

(testInvalidFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Added.

(jsWrapperClass):
(shouldBeType):
(testFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property.js: Added.
2:07 PM Changeset in webkit [175715] by benjamin@webkit.org
  • 8 edits
    2 adds in trunk

Give pseudo elements the correct specificity
https://bugs.webkit.org/show_bug.cgi?id=138378

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-06
Reviewed by Dean Jackson.

Source/WebCore:

WebKit had an old silly bug where pseudo elements were given specificity in the class B
instead of the class C.

Now that the inspector shows the specificity, this bug is much more visible which is why
I fix it now.

Test: fast/css/pseudo-element-specificity.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForOneSelector):
Give pseudo-elements the right specificity.

  • Modules/mediacontrols/mediaControlsApple.css:

(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb):

  • Modules/mediacontrols/mediaControlsBase.css:

(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb):

  • css/mediaControls.css:

(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline[disabled], video::-webkit-media-controls-timeline[disabled]):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
The media controls were relying on the bug to override the style of input[type=range].

Ideally we should either:
-Implement some kind of high level style isolation (e.g. CSS Scoping).
-Fix the media control tree to use regular CSS scoped by a shadow pseudo ID.

Until we have one of those, I just fixed the styling by forcing the properties with lower
specificity with !important.

LayoutTests:

  • fast/css/pseudo-element-specificity-expected.html: Added.
  • fast/css/pseudo-element-specificity.html: Added.

Given that all selector affecting the pseudo element were offset by one,
it is impossible to use a pseudo element directly to affect the order, making the bug
hard to test.

What I did here for testing is use the stauration at 255 of any specificity field.
With 255 class + 1 pseudo element, the old code would saturate at (0, 255, 0), while
the fixed code would correctly give (0, 255, 1). By comparing that to a non-saturated
selector, I can show the fix is correct.

  • inspector/css/selector-specificity-expected.txt:
2:04 PM Changeset in webkit [175714] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.4

Tagging Safari-600.3.4

2:03 PM Changeset in webkit [175713] by dburkart@apple.com
  • 1 delete in tags/Safari-600.3.4

Removing tag to re-tag with another fix.

2:01 PM Changeset in webkit [175712] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r175710. <rdar://problems/18898712>

1:35 PM Changeset in webkit [175711] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Data detectors popover points at the first line of the detected item
https://bugs.webkit.org/show_bug.cgi?id=138471
<rdar://problem/18893079>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
Determine the bounding box of all quads of the detected item's text.
This way, the popover will point at the border of the item, instead of
right at the very first line.

1:03 PM Changeset in webkit [175710] by Beth Dakin
  • 4 edits in trunk/Source

Preview views often misplaced inside popover
https://bugs.webkit.org/show_bug.cgi?id=138472

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

This patch makes the popover maintain aspect ratio, and it uses the final scale of
that popover to scale the preview view as well.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController initWithPageURL:mainViewSize:popoverToViewScale:]):
(-[WKPagePreviewViewController loadView]):
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
(-[WKActionMenuController _targetSize:fitsInAvailableSpace:]):
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]):
(-[WKPagePreviewViewController initWithPageURL:]): Deleted.

12:37 PM Changeset in webkit [175709] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.8/Source

Merged r175706. rdar://problem/18813675

12:03 PM Changeset in webkit [175708] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector-protocol/debugger/setPauseOnExceptions-uncaught.html frequently times out on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=138097

  • platform/mac-wk2/TestExpectations: Marking it as such.
11:57 AM Changeset in webkit [175707] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.4

Tagging Safari-600.3.4

11:47 AM Changeset in webkit [175706] by msaboff@apple.com
  • 5 edits in trunk/Source

REGRESSION (r174985-174986): Site display disappears
https://bugs.webkit.org/show_bug.cgi?id=138082

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

In support of the change in WebCore, this adds a new functor class to unwind to our
caller's frame possibly skipping of intermediate C++ frames.

  • interpreter/StackVisitor.h:

(JSC::CallerFunctor::CallerFunctor):
(JSC::CallerFunctor::callerFrame):
(JSC::CallerFunctor::operator()):

Source/WebCore:

This effectively reverts to the behavior before r174985 by using the
lexical global object of the caller's frame to find the active document.
Before r174985, native functions are invoked with the ScopeShain of their
caller. The lexical global object is accessed from the ScopeChain.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):
(WebCore::findOwningDocument):
(WebCore::documentWrite):
(WebCore::JSHTMLDocument::write):
(WebCore::JSHTMLDocument::writeln):

  • html/HTMLDocument.idl:
11:38 AM Changeset in webkit [175705] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

TextIndicatorWindow's bounce animation is lopsided when indicating two short lines of text
https://bugs.webkit.org/show_bug.cgi?id=138458

Reviewed by Simon Fraser.

Previously, the TextIndicator's frame() covered the entire selection highlight bounds.
This was undesirable in cases where the highlight included areas far outside the
bounds of the selected text, as the TextIndicatorWindow's 'bounce' animation
would be misaligned (centered on the highlight instead of on the text).

  • Shared/TextIndicator.cpp:

Get rid of the many-argument TextIndicator::create, because it was only used
internally, and have createWithSelectionInFrame make a ::Data instead.

(WebKit::TextIndicator::createWithSelectionInFrame):
Compute and store the bounding rect of all of the selected text rects, and store
all of the text rects relative to that bounding rect instead of relative to the
selection highlight bounds. We do this because the selection highlight bounds
often includes area which is far outside of the text bounds (in the case of a
selection that spans multiple lines), and causes the text indicator bounce
animation to bounce in a lopsided manner.

(WebKit::TextIndicator::TextIndicator):
Adjust to the rename of textRectsInSelectionRectCoordinates -> textRectsInBoundingRectCoordinates.

(WebKit::TextIndicator::frameRect):
Instead of the TextIndicator's frame being the selection highlight bounds,
it is now the bounds of all of the text rects.

(WebKit::TextIndicator::draw):
Translate into the image by the difference between the selection highlight bounds
and the text bounding rect. This is necessary because the content image is still generated
covering the entire selection highlight bounds, but the text rects are in text-rect-bounds coordinates.

(WebKit::TextIndicator::Data::encode):
(WebKit::TextIndicator::Data::decode):
Adjust to the rename of textRectsInSelectionRectCoordinates -> textRectsInBoundingRectCoordinates.
Encode/decode textBoundingRectInWindowCoordinates.

  • Shared/TextIndicator.h:

(WebKit::TextIndicator::contentImage): Deleted.
Get rid of an unnecessary getter and constructor.

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

Only provide a single result to the action menu DDActionContext
https://bugs.webkit.org/show_bug.cgi?id=138469
<rdar://problem/18869036>

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
Only provide one result; secondary results can be extremely unrelated to
the primary one and confuse Data Detectors further down the line.

11:02 AM Changeset in webkit [175703] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/WTF

Merge patch for <rdar://problem/18887867> to disable bmalloc.

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

Null deref in rangeForDictionaryLookupAtHitTestResult on occasion
https://bugs.webkit.org/show_bug.cgi?id=138459
<rdar://problem/18872825>

Reviewed by Andreas Kling.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeForDictionaryLookupAtHitTestResult):
rangeExpandedAroundPositionByCharacters can return null.

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

Prefer link action menus over images
https://bugs.webkit.org/show_bug.cgi?id=138461
<rdar://problem/18768377>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems:]):
Swap the priority of links and images.

10:46 AM Changeset in webkit [175700] by weinig@apple.com
  • 11 edits in trunk/Source

Use std::unique_ptr for TileController
https://bugs.webkit.org/show_bug.cgi?id=138429

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::create): Deleted.

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

(-[WebTiledBackingLayer createTileController:]):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::createTileController):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:

Source/WebKit2:

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
10:05 AM Changeset in webkit [175699] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • WebProcess/Plugins/PluginController.h:
8:40 AM Changeset in webkit [175698] by dbates@webkit.org
  • 6 edits
    2 adds in trunk/Source/WebKit2

[iOS] WebProcess needs to take a background task assertion to prevent being killed
for "suspended with locked system files"
https://bugs.webkit.org/show_bug.cgi?id=138155
<rdar://problem/17939303>

Reviewed by Anders Carlsson.

Mitigates an issue where the WebProcess may be killed when suspended holding locked files
by allowing the WebProcess to notify the UIProcess when it is holding such files so that
both can continue to run for a period of time after the UIProcess transitions to the
background. In particular, the WebProcess notifies the UIProcess that it is holding- or
relinquished- a locked file when it begins and ends a sequence of SQLite transactions,
respectively.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect): Relinquish an existing background task assertion
when the WebProcess disconnects. Among other situations, the WebProcess may disconnect as
a result of being suspended holding locked files even when the UIProcess requested a
background task assertion (i.e. it may have exceeded its background time limit).
(WebKit::WebProcessProxy::setIsHoldingLockedFiles): Added. Either acquires a new background
task assertion or relinquishes an existing one.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in: Added message SetIsHoldingLockedFiles(bool). The WebProcess

dispatches this message to inform the UIProcess that it is holding- or relinquished- a locked file.

  • WebKit2.xcodeproj/project.pbxproj: Added files WebSQLiteDatabaseTracker.{cpp, h}.
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp: Added.

(WebKit::WebSQLiteDatabaseTracker::supplementName): Added.
(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker): Added.
(WebKit::WebSQLiteDatabaseTracker::initialize): Register to receive SQLiteDatabaseTrackerClient callbacks.
(WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction): Inform the HysteresisActivity object on
the main thread that we began a transaction so that it calls WebSQLiteDatabaseTracker::started().
(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction): Inform the HysteresisActivity object on
the main thread that we finished a transaction so that it may eventually call WebSQLiteDatabaseTracker::stopped().
(WebKit::WebSQLiteDatabaseTracker::started): Notify the UIProcess that the WebProcess is holding
a locked file.
(WebKit::WebSQLiteDatabaseTracker::stopped): Notify the UIProcess that the WebProcess has
relinquished the locked file.

  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: Added. We use a HysteresisActivity object

to coalesce SetIsHoldingLockedFiles(false) messages as an optimization to minimize the number of
messages exchanged between the UIProcess and WebProcess when a web page performs SQLite transactions
in batches.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Instantiate the supplement WebSQLiteDatabaseTracker when building
for iOS.

8:03 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
8:00 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
8:00 AM Changeset in webkit [175697] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use lambda functions in DocumentOrderedMap
https://bugs.webkit.org/show_bug.cgi?id=138376

Reviewed by Darin Adler.

Use lambda functions in DocumentOrderedMap instead of separate named
functions.

No new tests, no behavior change.

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getElementById):
(WebCore::DocumentOrderedMap::getElementByName):
(WebCore::DocumentOrderedMap::getElementByMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
(WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
(WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
(WebCore::DocumentOrderedMap::getAllElementsById):
(WebCore::keyMatchesId): Deleted.
(WebCore::keyMatchesName): Deleted.
(WebCore::keyMatchesMapName): Deleted.
(WebCore::keyMatchesLowercasedMapName): Deleted.
(WebCore::keyMatchesLowercasedUsemap): Deleted.
(WebCore::keyMatchesLabelForAttribute): Deleted.
(WebCore::keyMatchesWindowNamedItem): Deleted.
(WebCore::keyMatchesDocumentNamedItem): Deleted.

  • dom/DocumentOrderedMap.h:
7:46 AM Changeset in webkit [175696] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] [Stable] webkitgtk 2.6.1 fails to load flashplugin
https://bugs.webkit.org/show_bug.cgi?id=137849

Reviewed by Carlos Garcia Campos.

NPPVpluginNeedsXEmbed is a boolean value, so it should normally
use an NPBool (1 byte). However some plugins (the Flash player in
particular) are using an int instead, so we have to do it as well
else we'll end up corrupting the stack.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

7:22 AM Changeset in webkit [175695] by Bem Jones-Bey
  • 2 edits in trunk/LayoutTests

Update testharness.js to the latest version
https://bugs.webkit.org/show_bug.cgi?id=138446

Reviewed by Ryosuke Niwa.

The only change I've made from upstream is to set output to false by
default.

  • resources/testharness.js:
7:08 AM Changeset in webkit [175694] by Carlos Garcia Campos
  • 19 edits
    3 adds in trunk

[GTK] Add context menu API to Web Process Extensions
https://bugs.webkit.org/show_bug.cgi?id=138311

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add WebKitWebPage::context-menu signal, similar to the
WebKitWebView one, but that receives a WebKitWebHitTestResult, a
class that extends WebKitTestResult to provide the WebKitDOMNode
from the Web Process Extensions API. This makes WebKitContextMenu,
WebKitContextMenuItem and WebKitTestResult classes shared between
UI and Web Extensions APIs. In addition to be able to customize
the context menu, it also provides API to set user data, as a
GVariant, in the Web Process that is sent to the UI Process.

  • PlatformGTK.cmake: Add new files.
  • UIProcess/API/gtk/WebKitContextMenu.cpp:

(webkit_context_menu_set_user_data): Add user data to the context
menu as a GVariant.
(webkit_context_menu_get_user_data): Get the user data previously
set with webkit_context_menu_set_user_data() either from the Web
or UI processes.

  • UIProcess/API/gtk/WebKitContextMenu.h:
  • UIProcess/API/gtk/WebKitContextMenuActions.h:
  • UIProcess/API/gtk/WebKitContextMenuClient.cpp:

(getContextMenuFromProposedMenu): Convert the received user data
into a GVariant and pass it to webkitWebViewPopulateContextMenu().

  • UIProcess/API/gtk/WebKitContextMenuItem.h:
  • UIProcess/API/gtk/WebKitForwardDeclarations.h:
  • UIProcess/API/gtk/WebKitHitTestResult.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPopulateContextMenu): Set the user data received
from the Web Process to the WebKitContextMenu before emitting
WebKitWebView::context-menu.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitWebHitTestResult.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_web_hit_test_result_get_type.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.cpp: Added.

(webkitWebHitTestResultGetProperty): Add getter for node property.
(webkitWebHitTestResultSetProperty): Add setter for node property.
(webkit_web_hit_test_result_class_init): Add node property.
(webkitWebHitTestResultCreate): Create a new
WebKitWebHitTestResult for the given InjectedBundleHitTestResult.
(webkit_web_hit_test_result_get_node): Return the WebKitDOMNode.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.h: Added.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResultPrivate.h: Added.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(getContextMenuFromDefaultMenu): Build a WebKitContextMenu and
WebKitWebHitTestResult and emit WebKitWebPage::context-menu signal.
(webkit_web_page_class_init): Add WebKitWebPage::context-menu signal.
(webkitWebPageCreate): Add implementation for getContextMenuFromDefaultMenu.

  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:

Tools:

Add tests cases for WebKitWebPage::context-menu signal.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(testContextMenuWebExtensionMenu):
(testContextMenuWebExtensionNode):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(serializeContextMenu):
(serializeNode):
(contextMenuCallback):
(pageCreatedCallback):

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

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

We are not ready to run layout tests using the network process
yet (Requested by KaL on #webkit).

Reverted changeset:

"[GTK] Run layout tests using the network process"
https://bugs.webkit.org/show_bug.cgi?id=138428
http://trac.webkit.org/changeset/175690

2:08 AM Changeset in webkit [175692] by ryuan.choi@gmail.com
  • 5 edits in trunk/Source/WebKit2

[EFL] Remove m_scrollPosition from CoordinatedGraphicsScene
https://bugs.webkit.org/show_bug.cgi?id=138419

Reviewed by Gyuyoung Kim.

m_scrollPosition of CoordinatedGraphicsScene is only to adjust the position
of fixed element. But this adjustment is only called by paintToCurrentGLContext()
and WebView can pass same information to the parameter of that method.

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
(WebCore::CoordinatedGraphicsScene::setScrollPosition): Deleted.

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::paintToCurrentGLContext):

12:51 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:50 AM Changeset in webkit [175691] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/JavaScriptCore

Use std::unique_ptr in CodeBlock class
https://bugs.webkit.org/show_bug.cgi?id=138395

Reviewed by Darin Adler.

  • bytecode/CodeBlock.h: Use std::unique_ptr.

(JSC::CodeBlock::setJITCodeMap):

  • jit/CompactJITCodeMap.h: Use std::unique_ptr instead of OwnPtr|PassOwnPtr.

(JSC::CompactJITCodeMap::CompactJITCodeMap):
(JSC::CompactJITCodeMap::Encoder::finish): Use std::unique_ptr instead of PassOwnPtr.

12:47 AM Changeset in webkit [175690] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Run layout tests using the network process
https://bugs.webkit.org/show_bug.cgi?id=138428

Reviewed by Martin Robinson.

Shared secondary process is the default in the GTK+ port, but we
should run the tests using the network process to ensure
everything works with the network process. In the future, the
shared secondary process model might be a special case of multiple
processes with 1 as maximum number of processes, but always using
the network process.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

12:07 AM Changeset in webkit [175689] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, fix nits after r175688.

Just a couple of non-functional fixes to the layout test.

  • fast/dom/Text/splitText.html:

Nov 5, 2014:

11:53 PM Changeset in webkit [175688] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

splitText API does not match DOM specification.
https://bugs.webkit.org/show_bug.cgi?id=138405

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-05
Reviewed by Chris Dumez.
Source/WebCore:

Make the offset argument for splitText API as mandatory (and thus throw if it is omitted) and stop throwing if the offset argument is
negative (and wraps to a valid index) as per specification: https://w3c.github.io/dom/#interface-text. Also This matches the behavior
of both Firefox 33 and Chrome 38.

Test: fast/dom/Text/splitText.html

  • dom/Text.idl:

LayoutTests:

  • fast/dom/Text/splitText-expected.txt: Added.
  • fast/dom/Text/splitText.html: Added.
  • fast/dom/non-numeric-values-numeric-parameters-expected.txt:
  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
11:43 PM Changeset in webkit [175687] by commit-queue@webkit.org
  • 34 edits
    1 delete in trunk

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

Tries to make backdrop layers on every layer, asserts on
Mavericks (Requested by smfr on #webkit).

Reverted changeset:

"[filters2] Support for backdrop-filter"
https://bugs.webkit.org/show_bug.cgi?id=138384
http://trac.webkit.org/changeset/175672

11:21 PM Changeset in webkit [175686] by adachan@apple.com
  • 15 edits in trunk/Source

Figure out whether a plug-in is playing audio.
https://bugs.webkit.org/show_bug.cgi?id=137219

Reviewed by Anders Carlsson.

Source/WebCore:

Add NPPVpluginIsPlayingAudio. Export some WebCore methods that will be used in WebKit2.

No new tests, but manually tested with an example plugin.

  • WebCore.exp.in:
  • plugins/npapi.h:

Source/WebKit2:

Handle the setting of the NPPVpluginIsPlayingAudio variable.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::setPluginIsPlayingAudio):
Send a SetPluginIsPlayingAudio message to the WebProcess.

  • PluginProcess/PluginControllerProxy.h:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_SetValue):
Handle NPPVpluginIsPlayingAudio. Call NetscapePlugin::setIsPlayingAudio().

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::setIsPlayingAudio):
Call PluginControllerProxy::setPluginIsPlayingAudio().

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::setPluginIsPlayingAudio):
Call PluginView::setPluginIsPlayingAudio().

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in:

Add the SetPluginIsPlayingAudio message.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView):
Initialize m_pluginIsPlayingAudio.
(WebKit::PluginView::~PluginView):
Remove itself from the Document's list of AudioProducers.
(WebKit::PluginView::initializePlugin):
Add itself to the Document's list of AudioProducers.
(WebKit::PluginView::pageMutedStateDidChange):
Add a FIXME.
(WebKit::PluginView::setPluginIsPlayingAudio):
If m_pluginIsPlayingAudio has changed, tell the Document to update its audio playing state.

  • WebProcess/Plugins/PluginView.h:

Now inherits AudioProducer.

10:56 PM Changeset in webkit [175685] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/WebCore

Merged r175657. rdar://problem/18883681

10:53 PM Changeset in webkit [175684] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/JavaScriptCore

Merged rr175653. rdar://problem/18801123

10:33 PM Changeset in webkit [175683] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175649. <rdar://problems/18887140>

10:32 PM Changeset in webkit [175682] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175646. <rdar://problems/18887218>

10:30 PM Changeset in webkit [175681] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175645. <rdar://problems/18887140>

10:29 PM Changeset in webkit [175680] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175643. <rdar://problems/18885782>

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

Fix crash introduced in r175656
https://bugs.webkit.org/show_bug.cgi?id=138453

Reviewed by Dan Bernstein.

repaintContainer can be null sometimes.

Covered by existing tests.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleChangeRequiresLayerRebuild):

10:03 PM Changeset in webkit [175678] by mitz@apple.com
  • 5 edits in trunk/Source

Source/WebKit:
Removed references to deletion UI resources that have been removed.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit2:
Tried to fix the GTK build.

  • PlatformGTK.cmake: Removed references to deletion UI resources that have been removed.
10:02 PM Changeset in webkit [175677] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175637. <rdar://problems/18877675>

9:59 PM Changeset in webkit [175676] by mitz@apple.com
  • 4 edits in trunk/Source/WebCore

Tried to fix the Windows build after removing the deletion UI.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • editing/EditingAllInOne.cpp:
9:56 PM Changeset in webkit [175675] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175635. <rdar://problems/18884674>

9:53 PM Changeset in webkit [175674] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175632. <rdar://problems/18774264>

9:50 PM Changeset in webkit [175673] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175630. <rdar://problems/18876437>

9:50 PM Changeset in webkit [175672] by dino@apple.com
  • 34 edits
    16 adds in trunk

[filters2] Support for backdrop-filter
https://bugs.webkit.org/show_bug.cgi?id=138384
<rdar://problem/18874494>

Reviewed by Simon Fraser.

Source/WebCore:

Add prototype support for backdrop-filter
http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty

This adds support for parsing the new CSS property, adding
the value to RenderStyle, noticing that on the layer tree,
and the platform code in GraphicsLayer to render a backdrop
and apply an effect to the result.

Some things are missing:

  • animation of the backdrop-filter is not yet supported
  • backdrops will not work in cloned layers yet (e.g. reflections)

Tests: css3/filters/backdrop/backdropfilter-property-computed-style.html

css3/filters/backdrop/backdropfilter-property-parsing-invalid.html
css3/filters/backdrop/backdropfilter-property-parsing.html
css3/filters/backdrop/backdropfilter-property.html
css3/filters/backdrop/effect-hw.html

  • WebCore.exp.in: Export the setBackdropFilters method so it can

be used from WebKit.

  • css/CSSComputedStyleDeclaration.cpp: New property name.

(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue): Use the existing valueForFilter method.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Piggyback on the filter parser.

  • css/CSSPropertyNames.in: Add -webkit-backdrop-filter.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Add test for backdrop.
(WebCore::StyleResolver::applyProperty): Support new property.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::needsBackdrop): New method to test for existence of values.
(WebCore::GraphicsLayer::backdropFilters): Keeps the list of filters.
(WebCore::GraphicsLayer::setBackdropFilters):
(WebCore::GraphicsLayer::clearBackdropFilters):

  • platform/graphics/ca/GraphicsLayerCA.cpp: This adds a new m_backdropLayer CALayer

that will sit behind the contents layer and provide the element's backdrop.
(WebCore::GraphicsLayerCA::willBeDestroyed):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::setBackdropFilters): Set a custom appearance so
remote layer hosts will notice the special layer. Also set the actual
layer properties.
(WebCore::GraphicsLayerCA::addAnimation): Remove whitespace.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Update backdrop if necessary.
(WebCore::GraphicsLayerCA::updateLayerNames): Give the new layer a name.
(WebCore::GraphicsLayerCA::updateSublayerList):
(WebCore::GraphicsLayerCA::updateGeometry): Make the backdrop layer match the contents
layer geometry.
(WebCore::GraphicsLayerCA::updateBackdropFilters): Create the backdrop layer if necessary,
and copy the filter values to any clones.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): We need a structural layer if we
have backdrop filters.
(WebCore::GraphicsLayerCA::structuralLayerPurpose):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/GraphicsLayerCA.h: New StructuralLayerPurpose, new LayerChangeFlag.
  • platform/graphics/ca/PlatformCALayer.h: New LayerType.
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Define CABackdropLayer.

(PlatformCALayerMac::PlatformCALayerMac): Create the correct CALayer type.

  • rendering/RenderElement.h:

(WebCore::RenderElement::createsGroup):
(WebCore::RenderElement::hasBackdropFilter): This method is always around, but
only can return true when FILTERS_LEVEL_2 is enabled.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintsWithFilters): Remove an unnecessary comment.
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h: Add hasBackdropFilter.
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Update the backdrop filters.
(WebCore::RenderLayerBacking::updateBackdropFilters): Set the filters on the GraphicsLayer.
(WebCore::RenderLayerBacking::updateGeometry):

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

(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Needs backingstore if it has a backdrop filter.
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForFilters): Return early if we have
a backdrop filter, because currently we absolutely require compositing.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange): Add hasBackdropFilter().

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Check backdrops for change.

  • rendering/style/RenderStyle.h: Add the backdropFilter style stuff.
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::hasBackdropFilters):

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext): Handle LayerTypeBackdropLayer in the switch.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::description): Describe a backdrop layer.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(+[WKBackdropView layerClass]): Define CABackdropLayer and use it as the class.
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm: Ditto.

(WebKit::RemoteLayerTreeHost::createLayer):

LayoutTests:

Tests for backdrop-filter. These are skipped on non-Apple platforms.

  • platform/win/TestExpections: Skip these tests.
  • platform/efl/TestExpections:
  • platform/gtk/TestExpections:
  • platform/mac-mavericks/TestExpectations: Yosemite only.
  • css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-computed-style.html: Added.
  • css3/filters/backdrop/backdropfilter-property-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid.html: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing.html: Added.
  • css3/filters/backdrop/backdropfilter-property.html: Added.
  • css3/filters/backdrop/effect-hw-expected.html: Added.
  • css3/filters/backdrop/effect-hw.html: Added.
  • css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Added.

(testComputedFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Added.

(testInvalidFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Added.

(jsWrapperClass):
(shouldBeType):
(testFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property.js: Added.
9:47 PM Changeset in webkit [175671] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175591. <rdar://problems/18871842>

9:44 PM Changeset in webkit [175670] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175589. <rdar://problems/18871842>

9:35 PM Changeset in webkit [175669] by ryuan.choi@gmail.com
  • 7 edits in trunk/Source/WebKit2

[EFL] Improve previous temporary fix against drawing (0,0) position before rendering content of next web page
https://bugs.webkit.org/show_bug.cgi?id=138305

Reviewed by Gyuyoung Kim.

WebKit2 has freezed layer tree until frame load completion since r101838.
In EFL port, we unfreeze it when PageViewportController::pageTransitionViewportReady() is called though,
UIProcess on EFL port updates cairo surface during the freezing time of layer tree.
Thus UIProcess should not update the layer trees until the layerTreeState is unfrozen.

  • UIProcess/API/efl/EwkView.h: Removed previous workarounds.

(EwkView::setWaitingForNewPage): Deleted.
(EwkView::waitingForNewPage): Deleted.
(EwkView::didCommitNewPage): Deleted.

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didCommitLoad):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::syncVisibleContents):

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didCommitLoadForFrame):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::didRenderFrame):

9:31 PM Changeset in webkit [175668] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175610. <rdar://problems/18869345>

9:28 PM Changeset in webkit [175667] by dburkart@apple.com
  • 11 edits in branches/safari-600.3-branch/Source

Merged r175609. <rdar://problems/18869345>

9:24 PM Changeset in webkit [175666] by dburkart@apple.com
  • 8 edits in branches/safari-600.3-branch/Source

Merged r175597. <rdar://problems/18875579>

9:19 PM Changeset in webkit [175665] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175568. <rdar://problems/18840102>

9:14 PM Changeset in webkit [175664] by dburkart@apple.com
  • 16 edits
    2 moves in branches/safari-600.3-branch/Source

Merged r175564. <rdar://problems/18840102>

9:04 PM Changeset in webkit [175663] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175524. <rdar://problems/18861406>

8:52 PM Changeset in webkit [175662] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175517. <rdar://problems/18861406>

8:24 PM Changeset in webkit [175661] by dburkart@apple.com
  • 9 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175498. rdar://problem/18742371

8:12 PM Changeset in webkit [175660] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175375. <rdar://problems/18883807>

8:09 PM Changeset in webkit [175659] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'size' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138337

Reviewed by Andreas Kling.

Move 'size' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder by using custom code as it requires special handling.

No new tests, new behavior change.

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyPageSize::mmLength): Deleted.
(WebCore::ApplyPropertyPageSize::inchLength): Deleted.
(WebCore::ApplyPropertyPageSize::getPageSizeFromName): Deleted.
(WebCore::ApplyPropertyPageSize::applyInheritValue): Deleted.
(WebCore::ApplyPropertyPageSize::applyInitialValue): Deleted.
(WebCore::ApplyPropertyPageSize::applyValue): Deleted.
(WebCore::ApplyPropertyPageSize::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::mmLength):
(WebCore::StyleBuilderFunctions::inchLength):
(WebCore::StyleBuilderFunctions::getPageSizeFromName):
(WebCore::StyleBuilderFunctions::applyInheritSize):
(WebCore::StyleBuilderFunctions::applyInitialSize):
(WebCore::StyleBuilderFunctions::applyValueSize):

8:06 PM Changeset in webkit [175658] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk/Source/WebInspectorUI

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

Totally borked the web inspector (Requested by smfr on
#webkit).

Reverted changeset:

"Web Inspector: Add infrastructure for eslint based static
analyzer"
https://bugs.webkit.org/show_bug.cgi?id=137890
http://trac.webkit.org/changeset/175628

6:37 PM Changeset in webkit [175657] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Revert r175441 as it seems to be causing intermittent crashes in DOMTimer
https://bugs.webkit.org/show_bug.cgi?id=138449

Unreviewed roll out.

Revert r175441 as it seems to be causing intermittent crashes in DOMTimer due
to the scriptExecutionContext going away. See <rdar://problem/18883681>.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::NestedTimersVector::NestedTimersVector): Deleted.
(WebCore::NestedTimersVector::~NestedTimersVector): Deleted.
(WebCore::NestedTimersVector::registerTimer): Deleted.
(WebCore::NestedTimersVector::begin): Deleted.
(WebCore::NestedTimersVector::end): Deleted.

6:21 PM Changeset in webkit [175656] by Simon Fraser
  • 5 edits
    4 adds in trunk

Avoid backing store for opacity:0 descendant layers
https://bugs.webkit.org/show_bug.cgi?id=138448

Reviewed by Dean Jackson.

Source/WebCore:

If a composited layer has no rendered content but a painting zero-opacity descendant
layer, than we can avoid making backing store.

When the opacity on such a child changes, we need to trigger a tree rebuild
to force the backing store to come back (this could be optimized later).

Tests: compositing/backing/no-backing-for-opacity-0-child.html

compositing/backing/toggle-opacity-0-child.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleChangeRequiresLayerRebuild):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

LayoutTests:

Test for no backing store with opacity:0 child, and that we get backing
store when dynamically changing the opacity to non-0.

  • compositing/backing/no-backing-for-opacity-0-child-expected.txt: Added.
  • compositing/backing/no-backing-for-opacity-0-child.html: Added.
  • compositing/backing/toggle-opacity-0-child-expected.txt: Added.
  • compositing/backing/toggle-opacity-0-child.html: Added.
6:21 PM Changeset in webkit [175655] by Chris Dumez
  • 5 edits in trunk/Source

Assertion hit DOMTimer::updateTimerIntervalIfNecessary()
https://bugs.webkit.org/show_bug.cgi?id=138440

Reviewed by Geoffrey Garen.

Source/WebCore:

We sometimes hit the ASSERT(repeatInterval() == previousInterval)
assertion in DOMTimer::updateTimerIntervalIfNecessary() when visiting
the following pages:
http://lifehacker.com/the-healthiest-foods-for-one-handed-snacking-while-gami-1654728164
http://longform.org/posts/like-something-the-lord-made

After debugging, the issue turned out to be that we are comparing
floating point numbers using ==, and the check sometimes fails even
though the values really close to each other. This patch updates the
DOMTimer code to use WTF::withinEpsilon() instead of operator==()
to compare the floating point intervals.

I confirmed manually that the assertion is no longer hit.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • platform/graphics/FloatQuad.cpp:

(WebCore::FloatQuad::isRectilinear):
(WebCore::withinEpsilon): Deleted.

Source/WTF:

Move the withinEpsilon() function to WTF to avoid code duplication.

  • wtf/MathExtras.h:

(WTF::withinEpsilon):

6:16 PM Changeset in webkit [175654] by Chris Fleizach
  • 6 edits
    2 adds in trunk

AX: add "alt" as an overriding synonym of "-webkit-alt" (now in the CSS4 spec)
https://bugs.webkit.org/show_bug.cgi?id=138393

Reviewed by Dean Jackson.

Source/WebCore:

Add official "alt" CSS keyword and map -webkit-alt to that.

Test: platform/mac/accessibility/alt-for-css-content.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

LayoutTests:

  • platform/mac/accessibility/alt-for-css-content-expected.txt: Added.
  • platform/mac/accessibility/alt-for-css-content.html: Added.
5:53 PM Changeset in webkit [175653] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

PutById inline caches should have a store barrier when it triggers a structure transition.
<https://webkit.org/b/138441>

Reviewed by Geoffrey Garen.

After r174025, we no longer insert DFG store barriers when the payload of a
PutById operation is not a cell. However, this can lead to a crash when we have
PutById inline cache code transitioning the structure and re-allocating the
butterfly of an old gen object. The lack of a store barrier in that inline
cache results in the old gen object not being noticed during an eden GC scan.
As a result, its newly allocated butterfly will not be kept alive, which leads
to a stale butterfly pointer and, eventually, a crash.

It is also possible that the new structure can be collected by the eden GC if
(at GC time):

  1. It is in the eden gen.
  2. The inline cache that installed it has been evicted.
  3. There are no live eden gen objects referring to it.

The chances of this should be more rare than the butterfly re-allocation, but
it is still possible. Hence, the fix is to always add a store barrier if the
inline caches performs a structure transition.

  • jit/Repatch.cpp:

(JSC::emitPutTransitionStub):

  • Added store barrier code based on SpeculativeJIT::storeToWriteBarrierBuffer()'s implementation.
5:37 PM Changeset in webkit [175652] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, EFL build fix since r175647

  • CMakeLists.txt: Remove DeleteButton.cpp and DeleteButtonController.cpp.
5:21 PM Changeset in webkit [175651] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/JavaScriptCore

Use std::unique_ptr in JSClassRef and JSCallbackObject
https://bugs.webkit.org/show_bug.cgi?id=138402

Reviewed by Geoffrey Garen.

  • API/JSCallbackObject.h: Use std::unique_ptr instead of OwnPtr|PassOwnPtr.

(JSC::JSCallbackObjectData::setPrivateProperty): ditto.

  • API/JSClassRef.cpp: ditto.
  • API/JSClassRef.h: ditto.
4:53 PM Changeset in webkit [175650] by dburkart@apple.com
  • 3 edits
    3 adds in branches/safari-600.3-branch

Merged r174740. <rdar://problems/18883801>

4:18 PM Changeset in webkit [175649] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/mac/WKActionMenuController.mm:
4:16 PM Changeset in webkit [175648] by Chris Dumez
  • 6 edits in trunk/Source

Allow constructing a PassRef from a Ref
https://bugs.webkit.org/show_bug.cgi?id=138389

Reviewed by Andreas Kling.

Source/WebCore:

Remove calls to Ref::get() now that a PassRef can be directly
constructed from a Ref.

No new tests, no behavior change.

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createColorValue):

  • css/CSSValuePool.h:

(WebCore::CSSValuePool::createInheritedValue):
(WebCore::CSSValuePool::createImplicitInitialValue):
(WebCore::CSSValuePool::createExplicitInitialValue):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

Source/WTF:

Allow constructing a PassRef from a Ref, similarly to PassRefPtr that
can be constructed from a RefPtr already. This avoids having to call
Ref::get() and simplifies the code a bit.

  • wtf/PassRef.h:

(WTF::PassRef<T>::PassRef):

4:09 PM Changeset in webkit [175647] by mitz@apple.com
  • 31 edits
    25 deletes in trunk

Remove the unused deletion UI feature
https://bugs.webkit.org/show_bug.cgi?id=138442

Rubber-stamped by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Removed references to removed files.
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::cloneChildNodes): Folded the below helper function into this member
function, after removing the deleteButtonContainerElement parameter.
(WebCore::cloneChildNodesAvoidingDeleteButton): Deleted.

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::unapply): Removed use of
DeleteButtonControllerDisableScope.
(WebCore::EditCommandComposition::reapply): Ditto.
(WebCore::CompositeEditCommand::apply): Ditto.

  • editing/DeleteButton.cpp: Removed.
  • editing/DeleteButton.h: Removed.
  • editing/DeleteButtonController.cpp: Removed.
  • editing/DeleteButtonController.h: Removed.
  • editing/EditCommand.cpp:

(WebCore::EditCommand::EditCommand): Removed use of
Editor::avoidIntersectionWithDeleteButtonController.

  • editing/Editor.cpp:

(WebCore::Editor::Editor): Removed initialization of m_deleteButtonController.
(WebCore::Editor::rangeForPoint): Removed use of avoidIntersectionWithDeleteButtonController.
(WebCore::Editor::editorUIUpdateTimerFired): Removed call to DeleteButtonController function.
(WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted.
(WebCore::Editor::deviceScaleFactorChanged): Deleted.

  • editing/Editor.h:

(WebCore::Editor::deleteButtonController): Deleted.
(WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodes): Removed nodeToSkip parameter.
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Ditto.

  • editing/MarkupAccumulator.h:
  • editing/markup.cpp:

(WebCore::createMarkupInternal): Removed updateRange parameter, which had become identical
to the range parameter, and changed to use the latter everywhere instead.
(WebCore::createMarkup): Don’t compute and pass separate updateRanage parameter.

  • loader/EmptyClients.h: Removed shouldShowDeleteInterface override.
  • page/EditorClient.h: Removed shouldShowDeleteInterface.
  • page/Page.cpp:

(WebCore::Page::setDeviceScaleFactor): Removed call to Editor::deviceScaleFactorChanged.

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeFrame): Updated for MarkupAccumulator::serializeNodes change.

  • testing/Internals.cpp:

(WebCore::Internals::findEditingDeleteButton): Deleted.

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

Source/WebKit/mac:

  • DefaultDelegates/WebDefaultEditingDelegate.m:

(-[WebDefaultEditingDelegate webView:shouldShowDeleteInterfaceForElement:]): Deleted.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::shouldShowDeleteInterface): Deleted.

  • WebView/WebEditingDelegatePrivate.h: Removed declaration of

-webView:shouldShowDeleteInterfaceForElement:.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::shouldShowDeleteInterface): Deleted.

  • WebProcess/WebCoreSupport/WebEditorClient.h:

Source/WTF:

  • wtf/FeatureDefines.h: Removed definition of ENABLE_DELETION_UI.

Tools:

  • DumpRenderTree/mac/EditingDelegate.mm:

(-[EditingDelegate webView:shouldShowDeleteInterfaceForElement:]): Deleted implementation of
delegate method that’s been removed.

LayoutTests:

Removed tests, expected results, and support files for this feature.

  • platform/mac/editing/deleting/deletionUI-borders-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-borders.html: Removed.
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button.html: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Removed.
  • platform/mac/editing/deleting/deletionUI-minimum-size-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-minimum-size.html: Removed.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.png: Removed.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-single-instance.html: Removed.
  • platform/mac/editing/deleting/deletionUI-successful-deletion-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-successful-deletion.html: Removed.
  • platform/mac/editing/deleting/id-in-deletebutton-expected.txt: Removed.
  • platform/mac/editing/deleting/id-in-deletebutton.html: Removed.
  • platform/mac/editing/deleting/resources: Removed.
  • platform/mac/editing/deleting/resources/deletionUI-helpers.js: Removed.
  • platform/wk2/TestExpectations:
3:53 PM Changeset in webkit [175646] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

It should be possible to open a page preview by clicking on it
https://bugs.webkit.org/show_bug.cgi?id=138445

Reviewed by Tim Horton.
Patch by Conrad Shultz.

Add a click recognizer to WKPagePreviewViewController and plumb it through to WKActionMenuController.

  • UIProcess/mac/WKActionMenuController.mm:

Declare <WKPagePreviewViewControllerDelegate>, currently home to just a single method.
(-[WKPagePreviewViewController loadView]):
Configure and add a click gesture recognizer to the WKWebView.
(-[WKPagePreviewViewController _clickRecognized:]):
Gesture recognizer action; send -pagePreviewViewControllerWasClicked: to the delegate.
(-[WKActionMenuController willDestroyView:]):
Extract code to -_clearPreviewPopover.
(-[WKActionMenuController didCloseMenu:withEvent:]):
Ditto.
(-[WKActionMenuController _createPreviewPopoverForURL:]):
Set ourself as the delegate of the page preview controller.
(-[WKActionMenuController _clearPreviewPopover]):
Extracted from various other methods; if appropriate, nil out the preview view controller's delegate.
(-[WKActionMenuController popoverWillClose:]):
Extract code to -_clearPreviewPopover.
(-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
WKPagePreviewViewControllerDelegate method; open the URL of the clicked page.

3:31 PM Changeset in webkit [175645] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Page preview popover should show scaled-down web content
https://bugs.webkit.org/show_bug.cgi?id=138444

Reviewed by Anders Carlsson.

Instead of keeping the preferred size in the controller, keep the main view’s
size, and then scale the bounds of the popover’s view using that and the scale
factor as a constant. Set the size of the popover explicitly so that it doesn’t
get the view’s size. This will cause it to scale the WKWebView.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController initWithPageURL:]):
(-[WKPagePreviewViewController loadView]):
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]):

3:20 PM Changeset in webkit [175644] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Disable flakey float32-repeat-out-of-bounds.js and int8-repeat-out-of-bounds.js tests for ARM64
https://bugs.webkit.org/show_bug.cgi?id=138381

Reviewed by Mark Lam.

Disabled these test for ARM64. Will address the failures and then re-enable.

  • tests/stress/float32-repeat-out-of-bounds.js:
  • tests/stress/int8-repeat-out-of-bounds.js:
2:52 PM Changeset in webkit [175643] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Page preview popovers sometimes cover their originating element
https://bugs.webkit.org/show_bug.cgi?id=138437

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-05
Reviewed by Beth Dakin.

If a popover is sufficiently large, and the originating element is in a particular location, it's
possible that the popover can't be positioned in a manner that doesn't occlude the originating element.
Address this by scaling down the popover content if it can't fit entirely between the originating
element and the screen edge.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _previewURLFromActionMenu:]):
Update to use -_createPreviewPopoverForURL:originRect:.
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
Renamed from -_createPreviewPopoverForURL:; extract code to -_preferredSizeForPopoverPresentedFromOriginRect:.
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]):
Compute a size that is as large as possible while keeping the popover between the origin rect and screen edge
(with an arbitrary padding applied to keep from directly abutting the screen edge).
(-[WKActionMenuController _createPreviewPopoverForURL:]): Deleted.

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

Web Inspector: Specificity not shown for pseudo element styles
https://bugs.webkit.org/show_bug.cgi?id=138436

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-05
Reviewed by Benjamin Poulain.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Previously we were skipping the pre-selector <span>s when we were
not getting a listing of matched selector indices, and missing out
on the opportunity to give each selector a specificity. Now, always
loop over selectors if we have them.

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

Descendant ends up in wrong flow thread with nested columns and spans.
https://bugs.webkit.org/show_bug.cgi?id=137273

Reviewed by Simon Fraser.

Unskipped the two problematic span tests.

Source/WebCore:

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):
Remove the guard and comment and added the assertion back in.

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Changed to no longer use handleSpannerRemoval. Because the spanner was removed from the flow thread's map,
handleSpannerRemoval was a no-op. So instead I just removed the placeholder by hand.

The second fix was to stop destroying the placeholder. Since the placeholder can just have been inserted, you
can't delete it, since otherwise code further up the stack will access the deleted object. For now, we just
leak the placeholder.

The third fix is to make sure the subtreeRoot is properly updated to be the new placeholder.

LayoutTests:

1:22 PM Changeset in webkit [175640] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderBlock shouldn't need a pre-destructor hook.
<https://webkit.org/b/138430>

Reviewed by Antti Koivisto.

All that was interesting in RenderBlock::willBeDestroyed() has migrated
to RenderBlockFlow. removeFromUpdateScrollInfoAfterLayoutTransaction()
can be called from the plain destructor, so just move it there.

We don't have to worry about destroyLeftoverChildren(), since RenderElement
will take care of that for us.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::willBeDestroyed): Deleted.

  • rendering/RenderBlock.h:
1:21 PM Changeset in webkit [175639] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Remove 2 unnecessary virtual functions on InputType
https://bugs.webkit.org/show_bug.cgi?id=138433

Reviewed by Andreas Kling.

Remove 2 unused virtual functions on InputType:

  • valueAttributeChanged()
  • updateClearButtonVisibility()

No new tests, no behavior change.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::updateClearButtonVisibility): Deleted.

  • html/HTMLInputElement.h:
  • html/InputType.cpp:

(WebCore::InputType::valueAttributeChanged): Deleted.
(WebCore::InputType::updateClearButtonVisibility): Deleted.

  • html/InputType.h:
1:21 PM Changeset in webkit [175638] by ap@apple.com
  • 5 edits in trunk

fast/dom/remove-body-during-body-replacement2.html fails on WK2
https://bugs.webkit.org/show_bug.cgi?id=138334

Reviewed by Anders Carlsson.

Source/WebKit2:

Added an SPI to focus a frame.

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

(WKBundleFrameFocus):

  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setViewState):

Tools:

Reset focus to main frame between tests. DumpRenderTree does this via -makeFirstResponder
calls, which works because each frame is an NSView in WK1. WK2 makes equivalent
-makeFirstResponder calls, which may or may not be needed for other reasons, but
it also needs to reset internal focus explicitly.

It's not clear if this is the right long-term fix or a workaround for a WebKit bug.
WebKit behavior appears wrong, but it matches Firefox.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::resetAfterTest):

1:13 PM Changeset in webkit [175637] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

Select Data Detectors results instead of just highlighting them
https://bugs.webkit.org/show_bug.cgi?id=138435
<rdar://problem/18877675>

Reviewed by Beth Dakin.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::selectLastActionMenuRange):
(WebKit::WebPageProxy::selectLookupTextAtLocation): Deleted.
Rename selectLookupTextAtLocation to selectLastActionMenuRange.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController willOpenMenu:withEvent:]):
Do a real selection for single-item Data Detector menus; show the yellow highlight otherwise.
Adopt selectLastActionMenuRange for non-detected text.

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

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::selectLastActionMenuRange):
(WebKit::WebPage::selectLookupTextAtLocation): Deleted.
Store the last (detected data or Lookup-derived) action menu range.
Select it upon selectLastActionMenuRange.

12:55 PM Changeset in webkit [175636] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebPage::selectWithGesture()

<https://bugs.webkit.org/show_bug.cgi?id=138399>
<rdar://problem/18550631>

This crash occurs when the web process receives a "TapAndAHalf" gesture
with the "Changed" state without having received a "TapAndAHalf"
gesture with the "Began" state.

No test possible.

Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):
Null check m_currentWordRange before dereferencing it.

12:48 PM Changeset in webkit [175635] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Disable action menus on page previews
https://bugs.webkit.org/show_bug.cgi?id=138431

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-05
Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _shouldIgnoreMouseEvents]):
Renamed from -shouldIgnoreMouseEvents since this isn't actually public.
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Updated to reflect method rename.
(-[WKView shouldIgnoreMouseEvents]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:

Expose -_shouldIgnoreMouseEvents.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Cancel the menu if the presenting WKView should ignore mouse events.

12:36 PM Changeset in webkit [175634] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/JavaScriptCore

Merged r175629. <rdar://problems/18883540>

12:28 PM Changeset in webkit [175633] by Bem Jones-Bey
  • 2 edits in trunk/LayoutTests

[CSS Shapes] Positioned polygon reftests failing again
https://bugs.webkit.org/show_bug.cgi?id=138058

Reviewed by Anders Carlsson.

Remove these tests from TestExpectations since they do pass.

12:15 PM Changeset in webkit [175632] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Action menu URL preview should "peek," i.e. appear when the menu item is
highlighted
https://bugs.webkit.org/show_bug.cgi?id=138432
-and corresponding-
rdar://problem/18774264

Reviewed by Anders Carlsson.

New ivars. Keep a reference to the popover, and a BOOL that indicates whether we
should close the popover when the menu goes away.

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

Re-set the preview bool to NO whenever we are about to pop up a new menu.
(-[WKActionMenuController prepareForMenu:withEvent:]):

Close the popover when the menu closes unless _shouldKeepPreviewPopoverOpen has
been set.
(-[WKActionMenuController didCloseMenu:withEvent:]):

Set _shouldKeepPreviewPopoverOpen.
(-[WKActionMenuController _keepPreviewOpen:]):

Re-factored to use ivar.
(-[WKActionMenuController _previewURLFromActionMenu:]):
(-[WKActionMenuController _createPreviewPopoverForURL:]):

Now call _previewURLFromActionMenu on menu item highlight.
(-[WKActionMenuController menu:willHighlightItem:]):

NSPopover delegate method so that we can keep our BOOL and ivar accurate in the
case where the popover is closed by some other mechanism than the action menu
going away.
(-[WKActionMenuController popoverWillClose:]):

New selector for the preview. Now when this item is actually selected, we just
want to set the BOOL _shouldKeepPreviewPopoverOpen to YES so that we keep the
preview open.
(-[WKActionMenuController _createActionMenuItemForTag:]):

12:10 PM Changeset in webkit [175631] by Bem Jones-Bey
  • 6 edits in trunk/LayoutTests

[CSS Shapes] shape-image-threshold parsing tests have a few failures
https://bugs.webkit.org/show_bug.cgi?id=138060

Reviewed by Dirk Schulze.

Remove testing for inline style from the CSSWG test because it isn't
specified and isn't consistent across browsers. This has been updated
upstream as well.

Add inline style tests to the WebKit test suite to make sure that
WebKIt doesn't lose coverage with this change.

  • TestExpectations:
  • css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt:
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:
  • fast/shapes/parsing/parsing-shape-image-threshold-expected.txt:
  • fast/shapes/parsing/parsing-shape-image-threshold.html:
12:09 PM Changeset in webkit [175630] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

Disable interaction with action menu page previews
https://bugs.webkit.org/show_bug.cgi?id=138400

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-05
Reviewed by Tim Horton.

Expand on the existing -[WKView shouldIgnoreMouseEvents] by adding facilities to suppress handling
of all non-wheel events, effectively creating a scroll-only web view. Deploy this in
WKPagePreviewViewController.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare the OS X-only ignoresNonWheelMouseEvents SPI.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _ignoresNonWheelMouseEvents]):
(-[WKWebView _setIgnoresNonWheelMouseEvents:]):
Wrap the underlying WKView methods.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

Declare the OS X-only ignoresNonWheelMouseEvents property.

  • UIProcess/API/mac/WKView.mm:

Add _ignoresNonWheelMouseEvents to WKViewData.
(-[WKView shouldIgnoreMouseEvents]):
Include a check for _ignoresNonWheelMouseEvents.
(-[WKView _setIgnoresNonWheelMouseEvents:]):
Set the ivar in WKViewData.
(-[WKView _ignoresNonWheelMouseEvents]):
Fetch the ivar in WKViewData.
(-[WKView _shouldIgnoreWheelEvents]):
Implement the old -shouldIgnoreMouseEvents behavior.
(-[WKView scrollWheel:]):
-shouldIgnoreMouseEvents -> -_shouldIgnoreWheelEvents.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController loadView]):
Configure the WKWebView to ignore non-wheel mouse events; use RetainPtr for the WKWebView.

11:57 AM Changeset in webkit [175629] by ap@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Incorrect sandbox_check in RemoteInspector.mm
https://bugs.webkit.org/show_bug.cgi?id=138408

Reviewed by Joseph Pecoraro.

  • inspector/remote/RemoteInspector.mm:

(Inspector::canAccessWebInspectorMachPort):

10:43 AM Changeset in webkit [175628] by jonowells@apple.com
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Add infrastructure for eslint based static analyzer
https://bugs.webkit.org/show_bug.cgi?id=137890

Reviewed by Timothy Hatcher.

Adding a manager to analyze source code, return warnings (AnalyzerMessages), and cache warnings.

  • UserInterface/Base/Main.js: Create analyzerManager singleton.
  • UserInterface/Controllers/AnalyzerManager.js: Added.

(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):

  • UserInterface/Main.html: Add new files.
  • UserInterface/Models/AnalyzerMessage.js: Added.

(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):

  • UserInterface/Models/SourceCode.js: Added call to WebInspector.Object.addConstructorFunctions().
10:43 AM Changeset in webkit [175627] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Re-evaluate if a repetitive timer should be throttled upon firing
https://bugs.webkit.org/show_bug.cgi?id=138339

Reviewed by Gavin Barraclough.

Re-evaluate if a repetitive timer should be throttled upon firing in
case the plugin observability state has changed:

  • It used to be visible but now isn't and thus the timer can be throttled
  • It used to play audio but now doesn't and thus the timer can be throttled

We already stopped throttling if the plugin became observable. However,
we didn't start throttling if the plugin became non-observable.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateThrottlingStateIfNecessary):

10:27 AM Changeset in webkit [175626] by dino@apple.com
  • 16 edits in trunk

Add ENABLE_FILTERS_LEVEL_2 feature guard.
https://bugs.webkit.org/show_bug.cgi?id=138362

Reviewed by Tim Horton.

Add a new feature define for Level 2 of CSS Filters.
http://dev.w3.org/fxtf/filters-2/

.:

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

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:
10:24 AM Changeset in webkit [175625] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move text-align CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138398

Reviewed by Antti Koivisto.

Move text-align CSS property from DeprecatedStyleBuilder to the new
StyleBuilder so that it is now generated from CSSPropertyNames.in.
This patch adds a TextAlign Converter to support this.

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextAlign::applyValue): Deleted.
(WebCore::ApplyPropertyTextAlign::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextAlign):

9:45 AM Changeset in webkit [175624] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Enable ARMv7 disassembler for all platforms
https://bugs.webkit.org/show_bug.cgi?id=138415

Reviewed by Darin Adler.

  • wtf/Platform.h:
9:42 AM Changeset in webkit [175623] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix build warning in SVGMarkerElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=138407

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-11-05
Reviewed by Darin Adler.

Build warning in debug cause 'comparison of unsigned expression >= 0 is always true [-Wtype-limits]'

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::orientType): Removed useless condition in ASSERT.

9:41 AM Changeset in webkit [175622] by Chris Dumez
  • 6 edits
    2 adds in trunk

Stop special-casing the empty string in HTMLInputElement.type setter
https://bugs.webkit.org/show_bug.cgi?id=138403

Reviewed by Ryosuke Niwa.

Source/WebCore:

Stop special-casing the empty string in HTMLInputElement.type setter.
Previously, if input.type is set to "", we would remove the type
attribute. This is inconsistent with the specification and the behavior
of other browsers (tested Firefox 33 and Chrome 38). Instead, we should
set the attribute to the empty string.

Also stop treating null as a null string to align with the
specification and other browsers (tested Firefox 33 and Chrome 38).

Finally, update HTMLInputElement::setType() to take an AtomicString in
argument instead of a String as it ends up calling setAttribute(), and
thus needing an AtomicString.

Test: fast/dom/HTMLInputElement/input-type-attribute.html

  • html/FileInputType.cpp:

(WebCore::UploadButtonElement::UploadButtonElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setType):

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl:

LayoutTests:

Add layout test to check the functionality of the HTMLInputElement.type
getter and setter.

  • fast/dom/HTMLInputElement/input-type-attribute-expected.txt: Added.
  • fast/dom/HTMLInputElement/input-type-attribute.html: Added.
9:35 AM Changeset in webkit [175621] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error, missing guard.
https://bugs.webkit.org/show_bug.cgi?id=138421

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

There is missing a guard for CSS_SELECTORS_LEVEL4 in CSSParserValues.cpp.

  • css/CSSParserValues.cpp:
8:52 AM ASanWebKit edited by Bem Jones-Bey
Update with my learnings (diff)
7:07 AM Changeset in webkit [175620] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r175601): Assertion failures in SimpleLineLayout
https://bugs.webkit.org/show_bug.cgi?id=138422

Check for end.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):

5:29 AM Changeset in webkit [175619] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

NetscapePlugin: NPP_GetValue should receive a pointer to NPBool, not bool
https://bugs.webkit.org/show_bug.cgi?id=138418

Reviewed by Carlos Garcia Campos.

Replace bool with NPBool, which is actually an unsigned char.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

2:54 AM Changeset in webkit [175618] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Add WebKitWebResource::failed-with-tls-errors signal
https://bugs.webkit.org/show_bug.cgi?id=137862

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When a resource load fails due to TLS errors emit WebKitWebResource::failed-with-tls-errors
signal instead of WebKitWebResource::failed so that TLS errors information and certificate
are provided.

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle): Check if the error
is a TLS failure to emit failed-with-tls-errors instead of failed.

  • UIProcess/API/gtk/WebKitWebResource.cpp:

(webkit_web_resource_class_init): Add WebKitWebResource::failed-with-tls-errors signal.
(webkitWebResourceFailedWithTLSErrors): Emit failed-with-tls-errors and finish signals.

  • UIProcess/API/gtk/WebKitWebResourcePrivate.h:

Tools:

Add a test case to check that WebKitWebResource::failed-with-tls-errors
is emitted when a subresource load fails due to TLS errors.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(TLSSubresourceTest::resourceLoadStartedCallback):
(TLSSubresourceTest::TLSSubresourceTest):
(TLSSubresourceTest::subresourceFailedCallback):
(TLSSubresourceTest::subresourceFailedWithTLSErrorsCallback):
(TLSSubresourceTest::subresourceLoadStarted):
(TLSSubresourceTest::subresourceFailedWithTLSErrors):
(TLSSubresourceTest::waitUntilSubresourceLoadFail):
(testSubresourceLoadFailedWithTLSErrors):
(httpsServerCallback):
(httpServerCallback):
(beforeAll):

2:12 AM Changeset in webkit [175617] by akling@apple.com
  • 3 edits
    2 adds in trunk

Simple line layout: support text-transform: lowercase|uppercase|capitalize
<https://webkit.org/b/138406>

Reviewed by Antti Koivisto.

Source/WebCore:

Expand the simple line layout coverage to include all text-transform values.
Since the property works on the text string level, it's really only a matter
of removing the short-circuit.

Test: fast/text/simple-lines-text-transform.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

LayoutTests:

Add ref test for simple line layout with all text-transform values.

  • fast/text/simple-lines-text-transform-expected.html: Added.
  • fast/text/simple-lines-text-transform.html: Added.
2:01 AM Changeset in webkit [175616] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/WebProcess module.
https://bugs.webkit.org/show_bug.cgi?id=138410

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-05
Reviewed by Alexey Proskuryakov.

Fix build warning by removing parameter name

  • WebProcess/WebPage/WebPageOverlay.h:

(WebKit::WebPageOverlay::Client::prepareForActionMenu):

1:56 AM Changeset in webkit [175615] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Allow the client to specify FPS protocol versions in the keySystem type field.
https://bugs.webkit.org/show_bug.cgi?id=138380

Reviewed by Eric Carlson.

Parse out the requested FPS protocol version of the keySystem type string and pass it to
AVStreamDataParser as an options dictionary.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::validKeySystemRE): Added, match comma-separated version suffixes.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Call above.
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Parse out the version numbers

and pass into the session as a vector.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Take a vector of

protocol version numbers.

(WebCore::CDMSessionMediaSourceAVFObjC::update): Create an NSArray and pass into

the key request creation method in an options dictionary.

1:26 AM Changeset in webkit [175614] by Antti Koivisto
  • 6 edits in trunk/Source

Move HTTPHeaderMap encoding to the class
https://bugs.webkit.org/show_bug.cgi?id=138412

Reviewed by Andreas Kling.

Source/WebCore:

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::encode):
(WebCore::HTTPHeaderMap::decode):

Use generic encoding for the uncommon header map. Common headers still require custom code due to the enum class.

Source/WebKit2:

  • PluginProcess/PluginControllerProxy.cpp:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode): Deleted.
(IPC::ArgumentCoder<HTTPHeaderMap>::decode): Deleted.

Make these HTTPHeaderMap members instead so they can access internals and can be used elsewhere.

  • Shared/WebCoreArgumentCoders.h:
12:17 AM Changeset in webkit [175613] by ap@apple.com
  • 2 edits in trunk/Tools

Build fix for some compiler versions.

  • TestWebKitAPI/Tests/mac/TypingStyleCrash.mm: (TestWebKitAPI::TEST): Compiler was

unhappy because this is a getter, and these shouldn't have side effects.

Nov 4, 2014:

10:22 PM Changeset in webkit [175612] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:08 PM Changeset in webkit [175611] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.8

New tag.

9:52 PM Changeset in webkit [175610] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Speculative build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissActionMenuDataDetectorPopovers]):

  • UIProcess/API/mac/WKViewInternal.h:
9:42 PM Changeset in webkit [175609] by Beth Dakin
  • 11 edits in trunk/Source

Un-anchor data detector popovers on scroll
https://bugs.webkit.org/show_bug.cgi?id=138385
-and corresponding-
rdar://problem/18869345

Reviewed by Tim Horton.

Source/WebCore:

  • platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit2:

Whenever we dismiss the dictionary popover, and on scroll, we should try to
dismiss the data detector popovers. Right now we don’t have the ability to know if
a dismiss succeeded, so we will settle for un-anchoring the popover.

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):
(-[WKView _dismissActionMenuDataDetetcorPopovers]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

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

(WebKit::PageClientImpl::dismissActionMenuDataDetetcorPopovers):

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

(-[WKActionMenuController dismissActionMenuDataDetetcorPopovers]):

9:36 PM Changeset in webkit [175608] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] WKPDFView should scroll to a fragment when loading a PDF
https://bugs.webkit.org/show_bug.cgi?id=138404

Reviewed by Tim Horton.

WKPDFView already knew how to scroll to a page number fragment during a same-document navigation, but it didn't
know to do so when loading a PDF whose URL already contained a page number fragment. This could happen if the
user long-presses a page number link and taps 'Open in New Tab'.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_setContentProviderData:suggestedFilename:]): Called _scrollToFragment:.
(-[WKPDFView _scrollToFragment:]): Moved fragment scrolling code to here from web_didSameDocumentNavigation:.
(-[WKPDFView web_didSameDocumentNavigation:]): Called _scrollToFragment.

8:56 PM Changeset in webkit [175607] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Stop using +[NSURL _web_URLWithWTFString:relativeToURL:] in WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=138357

Rubber-stamped by Dan Bernstein.

During patch review for r175595 I changed from using +URLWithString:relativeToURL: to using
+_web_URLWithWTFString:relativeToURL: to append a page number fragment to the document URL.
If the base URL already contains a fragment, +_web_URLWithWTFString:relativeToURL: appends to the existing
fragment whereas +URLWithString:relativeToURL: replaces the existing fragment. I want the latter behavior.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView _URLForLinkAnnotation:]):

8:49 PM Changeset in webkit [175606] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add a method for performing cherrypick-merges.
https://bugs.webkit.org/show_bug.cgi?id=138375

Adds support for cherrypick-merges.

Reviewed by NOBODY (OOPS!).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.cherrypick_merge): Added.

8:49 PM Changeset in webkit [175605] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add a way to ascertain the SVN URL associated with a Git branch.
https://bugs.webkit.org/show_bug.cgi?id=138374

The svn_url method returns the SVN URL associated with the current Git branch.

Reviewed by NOBODY (OOPS!).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.svn_url): Added.

8:49 PM Changeset in webkit [175604] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add the ability to search for modifications that are staged for commit.
https://bugs.webkit.org/show_bug.cgi?id=138373

This makes is easy to do identify files that require merge post-processing,
in addition to stand-alone utility.

Reviewed by NOBODY (OOPS!).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.modifications_staged_for_commit): Added.

8:49 PM Changeset in webkit [175603] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add a branch keyword argument to _run_git_svn_find_rev.
https://bugs.webkit.org/show_bug.cgi?id=138372

Reviewed by NOBODY (OOPS!).

The addition of this keyword argument allows clients to determine the Git hash
of commits made on an SVN branch, provided that branch has been fetched locally.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git._run_git_svn_find_rev):
Add a branch keyword argument that is added to the end of the command, if present.

7:58 PM Changeset in webkit [175602] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Avoid double hash table lookup in SpaceSplitStringData::create()
https://bugs.webkit.org/show_bug.cgi?id=138396

Reviewed by Ryosuke Niwa.

Avoid double hash table lookup in SpaceSplitStringData::create() by
calling HashMap::add() and using the AddResult, instead of calling
HashMap::get() then HashMap::add().

No new tests, no behavior change.

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitStringData::create):

7:47 PM Changeset in webkit [175601] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Abstract out content iteration and text handling in general.
https://bugs.webkit.org/show_bug.cgi?id=138346

Reviewed by Antti Koivisto.

Add a class that can act as the primary iterator/fragment handling interface to the line parser.
This helps adding support multiple renderer elements without changing the parser logic.
Currently it operates strictly on the first child of the RenderBlockFlow.

Covered by existing tests.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::FlowContentIterator::FlowContentIterator):
(WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContentIterator::textWidth):
(WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContentIterator::isEndOfContent):
(WebCore::SimpleLineLayout::FlowContentIterator::style):
(WebCore::SimpleLineLayout::computeLineLeft):
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::skipWhitespace): Deleted.
(WebCore::SimpleLineLayout::textWidth): Deleted.

  • rendering/SimpleLineLayout.h:
7:32 PM Changeset in webkit [175600] by jeremyj-wk@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build after r138351
https://bugs.webkit.org/show_bug.cgi?id=138401

Ureviewed. Make return type match.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
7:18 PM Changeset in webkit [175599] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Too much whitespace in resource details sidebar in groups
https://bugs.webkit.org/show_bug.cgi?id=138386

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DetailsSection.css:

(.details-section > .content > .group:first-child > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group:first-child > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group > .row.text):
(.details-section > .content > .group > .row.properties:not(.empty)):
(body.mac-platform.legacy .details-section > .content > .group > .row.properties:not(.empty)):
Adjust top and bottom padding.

6:31 PM Changeset in webkit [175598] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Lots of TimelineDataGridNode asserts on reloads
https://bugs.webkit.org/show_bug.cgi?id=138387

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Brian Burg.

The TimelineRuler.secondsPerPixel in the TimelineOverview is initialized
with a non-0 value and saved in a setting. However the TimelineRuler in
the OverviewTimelineView is not initialized with this value, and instead
initialized to 0. This patch initializes them to the same non-0 value.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.set secondsPerPixel):

  • UserInterface/Views/TimelineContentView.js:
5:39 PM Changeset in webkit [175597] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Add bundle SPI allowing PageOverlay to customize the action menu
https://bugs.webkit.org/show_bug.cgi?id=138388
<rdar://problem/18875579>

Reviewed by Anders Carlsson.

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

Bump the BundlePageOverlay client version.

(WKBundlePageOverlayCreate):
(WKBundlePageOverlaySetAccessibilityClient):
Don't return if we have a version; the version check happens later anyway,
and now it is valid to have a version >0.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:

Bump the BundlePageOverlay client version.
Add prepareForActionMenu callback.

  • WebProcess/WebPage/WebPageOverlay.h:

(WebKit::WebPageOverlay::Client::prepareForActionMenu):

  • WebProcess/WebPage/WebPageOverlay.cpp:

(WebKit::overlayMap):
(WebKit::WebPageOverlay::WebPageOverlay):
(WebKit::WebPageOverlay::~WebPageOverlay):
(WebKit::WebPageOverlay::fromCoreOverlay):
(WebKit::WebPageOverlay::pageOverlayDestroyed):
Keep track of a map of PageOverlay to WebPageOverlay.

(WebKit::WebPageOverlay::prepareForActionMenu):
Forward prepareForActionMenu to the client.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Iterate through the overlays and let them prepareForActionMenu;
the first overlay that returns true wins. If no overlays want to
do anything, hand preparation along to the context menu client.

  • page/PageOverlayController.h:

Expose the list of all overlays.

5:36 PM Changeset in webkit [175596] by jeremyj-wk@apple.com
  • 18 edits in trunk/Source

Add button and enable optimized fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=138351

Reviewed by Eric Carlson.

Added optimizedFullscreenButton to js media element controls. Remove #if conditional
and use optimizedFullscreenSupported to enable feature at runtime

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::enterFullscreenOptimized): enable
(WebCore::MediaControlsHost::optimizedFullscreenSupported): added

  • Modules/mediacontrols/MediaControlsHost.h: add optimizedFullscreenSupported
  • Modules/mediacontrols/MediaControlsHost.idl: ditto
  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-optimized-fullscreen-button): added

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): add button
(Controller.prototype.handleReadyStateChange): update button
(Controller.prototype.updateOptimizedFullscreenButton): added

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-optimized-fullscreen-button): added
(video::-webkit-media-controls-optimized-fullscreen-button): added
(video::-webkit-media-controls-optimized-fullscreen-button:active): added

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): listen for events from optimizedFullscreenButton
(ControllerIOS.prototype.configureInlineControls): add button for non-audio when supported.
(ControllerIOS.prototype.handleBaseGestureChange): 2-finger double-tap gesture for optimized fullscreen
(ControllerIOS.prototype.handleWrapperTouchStart): ditto
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): added
(ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): fix typo
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): fix typo
(ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): fix typo

  • WebCore.exp.in:
  • platform/ios/WebCoreSystemInterfaceIOS.h: added wkIsOptimizedFullscreenSupported
  • platform/ios/WebCoreSystemInterfaceIOS.mm: added wkIsOptimizedFullscreenSupported
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::enterFullscreen): enable feature
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): enable feature
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): only request exit when entered and not requested exit
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): added

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): add IsOptimizedFullscreenSupported

5:24 PM Changeset in webkit [175595] by aestes@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] Add long press support for links in WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=138357

Reviewed by Dan Bernstein.

Use WKActionSheetAssistant to show a link action sheet in response to long-pressing on a link. Have WKPDFView
conform to WKActionSheetAssistantDelegate in order to respond to the open and copy actions as well as to
provide the link's URL and position information to WKActionSheetAssistant. The long-pressed link is highlighted
for .75 seconds before the sheet is displayed in order to match UIWebPDFView.

  • UIProcess/ios/WKActionSheetAssistant.h: Made protocol methods that WKPDFView doesn't implement optional.
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant updatePositionInformation]): Checked if delegate responds to
updatePositionInformationForActionSheetAssistant: before calling.
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Checked if delegate responds to
actionSheetAssistant:willStartInteractionWithElement: before calling.
(-[WKActionSheetAssistant cleanupSheet]): Checked if delegate responds to actionSheetAssistantDidStopInteraction:
before calling.

  • UIProcess/ios/WKPDFView.h: Conformed to WKActionSheetAssistantDelegate.
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_initWithFrame:webView:]): Instantiated a WKActionSheetAssistant and set self as its delegate.
(-[WKPDFView _highlightLinkAnnotation:forDuration:completionHandler:]): Moved highlight drawing to here from
annotation:wasTouchedAtPoint:controller: in order to be reused for long-press.
(-[WKPDFView _URLForLinkAnnotation:]): Moved URL creation to here from annotation:wasTouchedAtPoint:controller:
in order to be reused for long-press. Generated an absolute URL since this URL might go into the pasteboard.
(-[WKPDFView annotation:wasTouchedAtPoint:controller:]): Changed to call
_highlightLinkAnnotation:forDuration:completionHandler: and _URLForLinkAnnotation:.
(-[WKPDFView annotation:isBeingPressedAtPoint:controller:]): Set values on _positionInformation and called
-[WKActionSheetAssistant showLinkSheet] after showing a highlight for .75 seconds.
(-[WKPDFView positionInformation]): Returned _positionInformation.
(-[WKPDFView performAction:]): Added a UTF-8 text and URL representation of the pressed URL to the pasteboard.
(-[WKPDFView openElementAtLocation:]): Called WebPage::navigateToURLWithSimulatedClick().
(-[WKPDFView actionsForElement:defaultActions:]): Returned actions from UIClient::actionsForElement().
(-[WKPDFView _createHighlightViewWithFrame:]): Deleted.

5:21 PM Changeset in webkit [175594] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

5:19 PM Changeset in webkit [175593] by mark.lam@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Rename checkMarkByte() to jumpIfIsRememberedOrInEden().
<https://webkit.org/b/138369>

Reviewed by Geoffrey Garen.

Write barriers are needed for GC Eden collections so that we can scan pointers
pointing from old generation objects to eden generation objects. The barrier
currently checks the mark byte in a cell to see if we should skip adding the
cell to the GC remembered set. The addition should be skipped if:

  1. The cell is in the young generation. It has no old to eden pointers by definition.
  2. The cell is already in the remembered set. While it is ok to add the cell to the GC remembered set more than once, it would be redundant. Hence, we skip this as an optimization to avoid doing unnecessary work.

The barrier currently names this check as checkMarkByte(). We should rename it
to jumpIfIsRememberedOrInEden() to be clearer about its intent.

Similarly, Jump results of this check are currently named
ownerNotMarkedOrAlreadyRemembered. This can be misinterpreted as the owner is
not marked or not already remembered. We should rename it to
ownerIsRememberedOrInEden which is clearer about the intent of the
check. What we are really checking for is that the cell is in the eden gen,
which is implied by it being "not marked".

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::osrWriteBarrier):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::jumpIfIsRememberedOrInEden):
(JSC::AssemblyHelpers::checkMarkByte): Deleted.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSCell.h:
5:08 PM Changeset in webkit [175592] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.3.3

New Tag.

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

Try to fix the 32-bit build.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _createActionMenuItemForTag:]):

4:53 PM Changeset in webkit [175590] by msaboff@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

Disable failing v8-deltablue.js for ARM
https://bugs.webkit.org/show_bug.cgi?id=138382

Reviewed by Geoffrey Garen.

This test is failing on ARM 32 bit.

  • tests/v8-v6/v8-deltablue.js:
4:35 PM Changeset in webkit [175589] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Use a web view for Quick Look in action menus
https://bugs.webkit.org/show_bug.cgi?id=138370

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-04
Reviewed by Anders Carlsson.

Instead of using the QLPreviewBubble SPI, show a popover containing a web view. This currently
does not inherit any configuration from the presenting WKView and does not expose any
customization options.

  • UIProcess/mac/WKActionMenuController.mm:

Declare new internal NSViewController subclass, WKPagePreviewViewController.
(-[WKPagePreviewViewController initWithPageURL:]):
Store the passed-in URL and set a somewhat arbitrary (iPhone 5 screen size) default preferred size.
(-[WKPagePreviewViewController loadView]):
Create a WKWebView and load the URL passed into the initializer.
(-[WKActionMenuController _previewURLFromActionMenu:]):
Renamed from -_quickLookURLFromActionMenu:; present the popover returned by -_createPreviewPopoverForURL:.
(-[WKActionMenuController _createPreviewPopoverForURL:]):
New helper method; return a popover that owns a _WKPagePreviewViewController configured to show a scaled-down web page.
(-[WKActionMenuController _createActionMenuItemForTag:]):
Update to reflect method rename.
(-[WKActionMenuController _quickLookURLFromActionMenu:]): Deleted.

4:31 PM Changeset in webkit [175588] by Joseph Pecoraro
  • 27 edits
    1 add in trunk/Source

Web Inspector: Pause on exceptions should show the actual exception
https://bugs.webkit.org/show_bug.cgi?id=63096

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • debugger/Debugger.h:

Expose accessor for the pause reason to subclasses.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::type):
New "error" subtype for error objects.

  • inspector/InjectedScriptSource.js:

When an object is an error object, use toString to provide a richer description.

  • inspector/protocol/Runtime.json:

Expose a new "error" subtype for Error types (TypeError, ReferenceError, EvalError, etc).

  • inspector/protocol/Debugger.json:

Provide type checked objects for different Debugger.pause pause reasons.
An exception provides the thrown object, but assert / CSP pauses provide
a richer typed object as the auxiliary data.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchDidPause):
When paused because of an exception, pass the exception on.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
Provide richer data in pause events.

  • inspector/scripts/codegen/generate_backend_commands.py:

(BackendCommandsGenerator.generate_domain.is_anonymous_enum_param):
(BackendCommandsGenerator.generate_domain):

  • inspector/scripts/tests/expected/enum-values.json-result:

Generate frontend enums for anonymous enum event parameters.

Source/WebCore:

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
Pass assertion message on.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings / files.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.get pauseReason):
(WebInspector.DebuggerManager.prototype.get pauseData):
(WebInspector.DebuggerManager.prototype.reset):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
(WebInspector.DebuggerManager.prototype._pauseReasonFromPayload):
Maintain the current pause reason and auxiliary data in the manager.

  • UserInterface/Protocol/DebuggerObserver.js:

(WebInspector.DebuggerObserver.prototype.paused):
Pass previously unused event parameters on to the manager.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl):
Style error objects in the console like Objects. The new description
string provides a richer message if you console.log(exception).

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
Update the UI when we pause / resume to show / hide a pause reason section.

  • UserInterface/Views/DetailsSectionRow.js:

(WebInspector.DetailsSectionRow.prototype.set emptyMessage):
Fix a latent bug that would have thrown an exception if the setter was ever used.

  • UserInterface/Views/DetailsSectionTextRow.js: Added.

(WebInspector.DetailsSectionTextRow):
(WebInspector.DetailsSectionTextRow.prototype.get text):
(WebInspector.DetailsSectionTextRow.prototype.set text):

  • UserInterface/Views/DetailsSection.css:

(.details-section > .content > .group > .row.simple.data > .value):
(.details-section > .content > .group > .row.text):
Simple class for a section of centered text. This is modelled after
the empty message text style in other sections.

  • UserInterface/Views/LogContentView.css:

(.console-formatted-object, .console-formatted-node, .console-formatted-error):
(.console-formatted-object .section, .console-formatted-node .section, .console-formatted-error .section):
(.console-formatted-object .properties, .console-formatted-node .properties, .console-formatted-error .properties):
Style "error" objects like regular objects. We may wish to treat differently later.

  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:

Regenerate legacy backend commands to get the new enum.

4:29 PM Changeset in webkit [175587] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Disable flakey float32-repeat-out-of-bounds.js and int8-repeat-out-of-bounds.js tests for ARM64
https://bugs.webkit.org/show_bug.cgi?id=138381

Reviewed by Mark Lam.

Disabled these test for ARM64. Will address the failures and then re-enable.

  • tests/stress/float32-repeat-out-of-bounds.js:
  • tests/stress/int8-repeat-out-of-bounds.js:
4:26 PM Changeset in webkit [175586] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

Disable flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
https://bugs.webkit.org/show_bug.cgi?id=138379

Reviewed by Mark Lam.

Disabled these test for ARM64. Will address the failures and then re-enable.

  • js/script-tests/dfg-int16array.js:
  • js/script-tests/dfg-int8array.js:
4:22 PM Changeset in webkit [175585] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] Fix incorrect interface orientation that can be caused by fullscreen video dismissal.
https://bugs.webkit.org/show_bug.cgi?id=137930.

Patch by Reza Abbasian <rabbasian@apple.com> on 2014-11-04
Reviewed by Jer Noble.

When a fullscreen video gets dismissed programmatically, for instance for removing
a webview from the view hierarchy, it can put the device in an incorrect orientation.
Make sure we retain the window of parentView when we attempt to go to fullscreen and use
the retained window for putting the device in correct orientation after dismissal.

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

(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
(WebVideoFullscreenInterfaceAVKit::invalidate):

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

Remove two unused ScrollingCoordinator methods.
<https://webkit.org/b/138377>

Reviewed by Chris Dumez.

These appear to be leftovers from the now-defunct chromium port.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea): Deleted.
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Deleted.

  • page/scrolling/ScrollingCoordinator.h:
3:00 PM Changeset in webkit [175583] by Chris Dumez
  • 66 edits in trunk

Add ptr() method to Ref class
https://bugs.webkit.org/show_bug.cgi?id=138361

Reviewed by Darin Adler.

Source/WebCore:

Use the new Ref::ptr() method.

No new tests, no behavior change.

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::didUpdateActiveOption):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::getNamedItems):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:

(WebCore::getNamedItems):

  • css/CSSStyleRule.h:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::insertRule):

  • css/CSSValueList.h:

(WebCore::CSSValueList::item):
(WebCore::CSSValueList::itemWithoutBoundsCheck):

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collect):

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator):
(WebCore::ChildListMutationAccumulator::childAdded):

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::namedItem):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChild):

  • dom/CurrentScriptIncrementer.h:

(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
(WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer):

  • dom/MutationRecord.cpp:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::ensureChildNodeList):
(WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):

  • dom/Range.cpp:

(WebCore::Range::setDocument):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::executeScript):

  • dom/StaticNodeList.cpp:

(WebCore::StaticNodeList::item):
(WebCore::StaticElementList::item):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):

  • editing/DictationCommand.cpp:

(WebCore::DictationCommand::insertText):

  • editing/DictationCommand.h:
  • editing/Editor.cpp:

(WebCore::Editor::insertTextWithoutSendingTextEvent):

  • editing/ReplaceNodeWithSpanCommand.cpp:

(WebCore::swapInNodePreservingAttributesAndChildren):

  • editing/SimplifyMarkupCommand.cpp:

(WebCore::SimplifyMarkupCommand::doApply):

  • editing/markup.cpp:

(WebCore::hasOneChild):
(WebCore::hasOneTextChild):
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::checkValidity):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::getNamedElements):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::shouldLoadLink):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::revalidateStyle):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForRule):

  • page/PageSerializer.h:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationController::updateAnimations):

  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::platformCALayerPaintContents):

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

(WebCore::styleForFirstLetter):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):

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

(WebCore::RenderBox::styleDidChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::styleDidChange):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::adjustInnerTextStyle):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::createInnerTextStyle):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::createInnerTextStyle):

  • rendering/style/DataRef.h:

(WebCore::DataRef::get):
(WebCore::DataRef::access):
(WebCore::DataRef::operator==):
(WebCore::DataRef::operator!=):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::changeRequiresRepaint):
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
(WebCore::RenderStyle::changeRequiresRecompositeLayer):
(WebCore::RenderStyle::diff):
(WebCore::RenderStyle::diffRequiresLayerRepaint):

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

(WebCore::StyleGeneratedImage::cssValue):

  • rendering/style/StyleGeneratedImage.h:
  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

  • style/StyleResolveTree.cpp:

(WebCore::Style::determineChange):
(WebCore::Style::resolveLocal):
(WebCore::Style::resolveTree):

  • style/StyleResolveTree.h:

Source/WebKit/mac:

Use the new Ref::ptr() method.

  • WebView/WebFrame.mm:

(-[WebFrame _setTypingStyle:withUndoAction:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):

  • WebView/WebView.mm:

(-[WebView applyStyle:]):

Source/WebKit2:

Use the new Ref::ptr() method.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createWebPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setPreferences):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didNavigateWithNavigationData):
(WebKit::WebProcessProxy::didPerformClientRedirect):
(WebKit::WebProcessProxy::didPerformServerRedirect):
(WebKit::WebProcessProxy::didUpdateHistoryTitle):

Source/WTF:

It is a very common pattern in our code base to get a pointer from a
Ref object. Previously, we have to call Ref.get() and take its address
which is not very nice. This patch adds a ptr() method to Ref class
to simplify the code a bit.

  • wtf/PassRef.h:

(WTF::PassRef<T>::ptr):

  • wtf/Ref.h:

(WTF::Ref::ptr):
(WTF::GetPtrHelper<Ref<T>>::getPtr):

Tools:

Use the new Ref::ptr() method.

  • TestWebKitAPI/Tests/WTF/Ref.cpp:

(TestWebKitAPI::TEST):

2:38 PM Changeset in webkit [175582] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175338. rdar://problem/18798257.

2:32 PM Changeset in webkit [175581] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move -webkit-text-emphasis-position to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138359

Reviewed by Andreas Kling.

Move -webkit-text-emphasis-position from DeprecatedStyleBilder to the
new StyleBuilder so that it is now generated from CSSPropertyNames.in.
A new TextEmphasisPosition Converter was added to support this.

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::valueToEmphasisPosition): Deleted.
(WebCore::ApplyPropertyTextEmphasisPosition::applyValue): Deleted.
(WebCore::ApplyPropertyTextEmphasisPosition::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::valueToEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextEmphasisPosition):

2:16 PM Changeset in webkit [175580] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderBox shouldn't need a pre-destructor hook.
<https://webkit.org/b/138367>

Reviewed by Antti Koivisto.

Move teardown logic from willBeDestroyed() to the regular ~RenderBox()
destructor since none of it depends on being in-tree or having a fully
constructed vtable.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::~RenderBox):
(WebCore::RenderBox::willBeDestroyed): Deleted.

  • rendering/RenderBox.h:
2:04 PM Changeset in webkit [175579] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

[OSX] CJK characters styled with font-family: cursive are italicized
https://bugs.webkit.org/show_bug.cgi?id=138328
rdar://problem/18801907

Reviewed by Simon Fraser.

Source/WebCore:

FontCache::createFontPlatformData doesn’t set the oblique flag if
the requested font isn’t oblique, but
FontCache::systemFallbackForCharacters() does. This patch simply
adopts this behavior in both places.

Test: fast/text/font-cursive-italic-cjk.html

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::systemFallbackForCharacters):

LayoutTests:

Make sure that the text matches the output of a different codepath.

  • platform/mac/fast/text/font-cursive-italic-cjk-expected.html: Added.
  • platform/mac/fast/text/font-cursive-italic-cjk.html: Added.
  • platform/mac/TestExpectations: Skipped test on non-Yosemite platforms.
2:03 PM Changeset in webkit [175578] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Potential build fix for Mountain Lion / Mavericks

1:44 PM Changeset in webkit [175577] by aestes@apple.com
  • 6 edits in trunk/Source/WebKit2

[iOS] Include a WKActionSheetAssistant parameter in WKActionSheetAssistantDelegate methods
https://bugs.webkit.org/show_bug.cgi?id=137792

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction elementActionWithTitle:actionHandler:]):
(+[_WKElementAction elementActionWithType:customTitle:]):
(-[_WKElementAction _runActionWithElementInfo:forActionSheetAssistant:]):

  • UIProcess/API/Cocoa/_WKElementActionInternal.h:
  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant updatePositionInformation]):
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant cleanupSheet]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView positionInformationForActionSheetAssistant:]):
(-[WKContentView updatePositionInformationForActionSheetAssistant:]):
(-[WKContentView actionSheetAssistant:performAction:]):
(-[WKContentView actionSheetAssistant:openElementAtLocation:]):
(-[WKContentView actionSheetAssistant:decideActionsForElement:defaultActions:]):
(-[WKContentView actionSheetAssistant:willStartInteractionWithElement:]):
(-[WKContentView actionSheetAssistantDidStopInteraction:]):

1:02 PM Changeset in webkit [175576] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

When computing the specificity of selectors, use saturated arithmetic per component
https://bugs.webkit.org/show_bug.cgi?id=138336

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-04
Reviewed by Andreas Kling.

Source/WebCore:

The code handling overflow in CSSSelector::specificity() was assuming that the value
returned by specificityForOneSelector() can only overflow one field at a time.

That assumption is no longer correct with the extended :not(). It is now possible to have
a complex selector saturating multiple fields inside a single :not().

This patch solves the problem by considering each field independently.

Test: fast/selectors/specificity-overflow-2.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificity):

LayoutTests:

  • fast/selectors/specificity-overflow-2-expected.txt: Added.
  • fast/selectors/specificity-overflow-2.html: Added.
12:56 PM Changeset in webkit [175575] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175486. rdar://problem/18855134

12:51 PM Changeset in webkit [175574] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Windows build fix after r175565.

MSVC requires default c'tor even if it's never called. -0 length array.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run):

12:47 PM Changeset in webkit [175573] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merge r175484. rdar://problem/18855863.

12:40 PM Changeset in webkit [175572] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175474. rdar://problem/18742323.

12:40 PM Changeset in webkit [175571] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175482. <rdar://problem/18855190>

12:35 PM Changeset in webkit [175570] by dburkart@apple.com
  • 15 edits
    4 copies
    4 deletes in branches/safari-600.3-branch/Source/WebKit2

Merge r175476. <rdar://problem/18855190>

12:30 PM Changeset in webkit [175569] by abucur@adobe.com
  • 2 edits in trunk/Source/WebInspectorUI

Building WebInspectorUI should not run the clang static analyzer by default
https://bugs.webkit.org/show_bug.cgi?id=137652

Reviewed by Timothy Hatcher.

There's no need to have the static analyzer enabled at compile time by default for the WebInspectorUI project.
It also breaks the ASAN build because the static analyzing step runs using the default compiler not the
ASAN clang.

  • Configurations/DebugRelease.xcconfig: Remove the RUN_CLANG_STATIC_ANALYZER variable.
12:29 PM Changeset in webkit [175568] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r175564 for !PLATFORM(COCOA).

  • Shared/TextIndicator.cpp:
12:20 PM Changeset in webkit [175567] by dburkart@apple.com
  • 18 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175444. <rdar://problem/18830771>

12:09 PM Changeset in webkit [175566] by matthew_hanson@apple.com
  • 5 edits
    4 deletes in branches/safari-600.3-branch/Source

Merged r175425. <rdar://problems/18841659>

12:08 PM Changeset in webkit [175565] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Cleanup line initialization and line closing.
https://bugs.webkit.org/show_bug.cgi?id=138273

Reviewed by Antti Koivisto.

This is in preparation to support multiple render elements.

Move line start and line end activities to dedicated functions.

Covered by existing tests.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::LineState): Add lineStartRunIndex to be more explicit
about whether a line advanced with new runs. Rename a few members. Introduce LineState::oveflowedFragment
so that line closing can handled separately.
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::LineState::jumpTo):
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): Deleted. : Remove redundant function.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace): Add resetTrailingWhitespace()
so that all trailing whitespace handling is in one function.
(WebCore::SimpleLineLayout::initializeNewLine): Separate line start and line end initialization/reset.
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): This function manages all line ending activities.
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::initializeLine): Deleted.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run): Deleted.

11:42 AM Changeset in webkit [175564] by timothy_horton@apple.com
  • 16 edits
    2 adds
    2 deletes in trunk/Source

Implement yellow highlight over data detected items
https://bugs.webkit.org/show_bug.cgi?id=138340
<rdar://problem/18840102>

Reviewed by Anders Carlsson.

  • Shared/TextIndicator.cpp: Renamed from Source/WebKit2/UIProcess/TextIndicator.cpp.
  • Shared/TextIndicator.h: Renamed from Source/WebKit2/UIProcess/TextIndicator.h.

Move TextIndicator to Shared.
Move all of the members to a Data struct.
Implement encode/decode for TextIndicator::Data, so it can be passed as
the argument to SetTextIndicator, and also as a field on ActionMenuHitTestResult.
Add 'createWithSelectionInFrame', which builds a TextIndicator
from the selection in the given frame.

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

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Rename actionBoundingBox to detectedDataBoundingBox.
Store/encode/decode detectedDataTextIndicator.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setTextIndicator):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Create a TextIndicator from the TextIndicator::Data.
Add an explicit ClearTextIndicator message instead of sending empty Data.

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

(-[WKActionMenuController prepareForMenu:withEvent:]):
If the text indicator is up when preparing for a new menu invocation, hide it.

(-[WKActionMenuController willOpenMenu:withEvent:]):
Show the text indicator when the menu opens, for data detected items.

(-[WKActionMenuController didCloseMenu:withEvent:]):
Hide the text indicator when the menu closes, unless we only had one item.
Then, we'll hide it in the DDActionContext completionHandler block.

(-[WKActionMenuController _showTextIndicator]):
(-[WKActionMenuController _hideTextIndicator]):
Added. Show and hide the text indicator based on the TextIndicator
data included in the action menu hit test result.

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Hide the text indicator when the data detector popover completes.

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

(WebKit::FindController::getImageForFindMatch):
Make use of the newly-moved createSelectionSnapshot.

(WebKit::FindController::updateFindIndicator):
Make use of TextIndicator::createWithSelectionInFrame, which allows
us to share this code for building a TextIndicator with other callers.

(WebKit::FindController::hideFindIndicator):

(WebKit::getFindIndicatorBitmap): Deleted.
Move getFindIndicatorBitmap to WebFrame::createSelectionSnapshot.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::createSelectionSnapshot):
Moved from FindController's getFindIndicatorBitmap.
Now returns a ShareableBitmap instead of going ahead and making a Handle.

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

(WebKit::scanForDataDetectedItems):
(WebKit::textIndicatorForRange):
Temporarily change the selection to the given range, then use
TextIndicator::indicatorWithSelectionInFrame to acquire a TextIndicator,
then reset the selection.

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Create a TextIndicator from the data detected range.

  • platform/spi/mac/DataDetectorsSPI.h:

Add completionHandler SPI.

11:39 AM Changeset in webkit [175563] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exceptions when paused and hovering JavaScript without CallFrames
https://bugs.webkit.org/show_bug.cgi?id=138338

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Geoffrey Garen.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
Fallback to using the main page's context if there is no active call frame we can use.

11:35 AM Changeset in webkit [175562] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175428. <rdar://problem/18841709>

11:23 AM Changeset in webkit [175561] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175422. <rdar://problem/18837197>

11:22 AM Changeset in webkit [175560] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175420. <rdar://problem/18837197>

11:21 AM Changeset in webkit [175559] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175418. <rdar://problem/18837197>

11:19 AM Changeset in webkit [175558] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r175417. <rdar://problem/18837197>

11:15 AM Changeset in webkit [175557] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r175388. <rdar://problem/18819547>

11:10 AM Changeset in webkit [175556] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175349. <rdar://problem/18855953>

11:05 AM Changeset in webkit [175555] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

[jhbuild] Make it possible to build GTK/EFL in same repository
https://bugs.webkit.org/show_bug.cgi?id=137448

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-11-04
Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(getJhbuildPath):

  • WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp:

(getPlatformFontsPath):

  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:

(WTR::getFontsPath):

  • jhbuild/jhbuild-wrapper:

(determine_platform):
(install_jhbuild):

  • jhbuild/jhbuildrc_common.py:

(init):

11:05 AM Changeset in webkit [175554] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175347. <rdar://problem/18855973>

10:42 AM Changeset in webkit [175553] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r175345. <rdar://problem/18856263>

10:38 AM Changeset in webkit [175552] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build after r175549.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

10:35 AM Changeset in webkit [175551] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175339. <rdar://problem/18814999>

8:58 AM Changeset in webkit [175550] by Darin Adler
  • 2 edits in trunk/LayoutTests
  • TestExpectations: Turn off http/tests/multipart/stop-crash.html. Will turn it back on soon.
8:47 AM Changeset in webkit [175549] by Darin Adler
  • 76 edits
    5 deletes in trunk/Source

Eliminate ResourceBuffer and use SharedBuffer directly instead
https://bugs.webkit.org/show_bug.cgi?id=138174

Reviewed by Antti Koivisto.

Source/WebCore:

Refactoring, with test coverage across many existing tests.

  • CMakeLists.txt: Deleted ResourceBuffer.cpp.
  • WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol

for one function that used to take a PassRefPtr but now takes a reference instead.

  • WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h.
  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and
also pass a reference only if non-null rather than passing a pointer.
(WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly.
(WebCore::InspectorPageAgent::mainResourceContent): Ditto.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didFinishLoading): Ditto.
(WebCore::InspectorResourceAgent::didFailLoading): Ditto.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly,
and use the copy function rather than a hand-written alternative.
(WebCore::DocumentLoader::maybeCreateArchive): Ditto.
(WebCore::DocumentLoader::mainResource): Ditto.
(WebCore::DocumentLoader::subresource): Ditto.
(WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto.

  • loader/DocumentLoader.h: Changed mainResourceData to return a

PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&,
but it currently returns a newly created buffer when there is substitute
data and can also return null, even though many callers assume it will not!

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::dataReceived): Removed call to unused client
function bufferReceived.
(WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer
argument to client function loadFinished.

  • loader/ResourceBuffer.cpp: Removed.
  • loader/ResourceBuffer.h: Removed.
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::resourceData): Use SharedBuffer.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer.
(WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto.

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create): Ditto.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer.

  • loader/cache/CachedCSSStyleSheet.h: Ditto.
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::finishLoading): Ditto.
(WebCore::CachedFont::ensureCustomFontData): Ditto.

  • loader/cache/CachedFont.h: Ditto.
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didAddClient): Use SharedBuffer.
(WebCore::CachedImage::didRemoveClient): Ditto.
(WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedImage::addDataBuffer): Ditto. Also added call through
to base class and changed to take a reference rather than a pointer.
(WebCore::CachedImage::addData): Ditto. Also added call through to base class.
(WebCore::CachedImage::finishLoading): Ditto.

  • loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields

to be unsigned instead of unsigend char.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer.
(WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedRawResource::addData): Ditto.
(WebCore::CachedRawResource::finishLoading): Ditto.
(WebCore::CachedRawResource::canReuse): Ditto.

  • loader/cache/CachedRawResource.h: Ditto.
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource): Reordered data members due to change
in header.
(WebCore::CachedResource::addDataBuffer): Changed argument type.
(WebCore::CachedResource::finishLoading): Ditto.
(WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash
table lookup by using the return value from the remove function.
(WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead
of using a function named "schedule" to allocate the callback object.
(WebCore::CachedResource::Callback::Callback): Changed function and data member
name.
(WebCore::CachedResource::Callback::cancel): Ditto.
(WebCore::CachedResource::Callback::timerFired): Ditto.
(WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&.

  • loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most

data members and one function member private instead of protected. Also renamed the
CachedResource::CachedResourceCallback function CachedResource::Callback and moved
its definition out of the CachedResource class definition.

  • loader/cache/CachedResourceClient.h: Removed unneeded include.
  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer.

  • loader/cache/CachedSVGDocument.h: Ditto. Made data members private.
  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::finishLoading): Use SharedBuffer.

  • loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded

forward declaration.

  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not
call addDataBuffer.
(WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData.
(WebCore::CachedTextTrack::finishLoading): Ditto.

  • loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the

destructor. Updated for above changes.

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer.

  • loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything

private rather than protected. Added an explicit virtual constructor so we can
compile without knowing how to ref/deref TextResourceDecoder.

  • loader/cf/SubresourceLoaderCF.cpp:

(WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer
and to call addDataBuffer only if there is a new data buffer.

  • loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr.
  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto.
(WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of
RefPtr<ResourceBuffer>.

  • loader/mac/ResourceBuffer.mm: Removed.
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::clear): Use a modern for loop.
(WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since
this never returns null. Use modern for loops.
(WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop.

  • platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr.

Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than
a pointer.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference
instead of a pointer.

  • platform/graphics/PlatformMediaResourceLoader.h: Removed unused function

bufferReceived and unneeded buffer argument from loadFinished. Also marked the
constructor explicit.

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

Removed include of ResourceBuffer.h.

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

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use
SharedBuffer directly.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::loadFinished): Updated for change to
PlatformMediaResourceLoaderClient.

  • platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h.
  • platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded

tryReplaceContentsWithPlatformBuffer function.

Source/WebKit/mac:

  • WebView/WebDataSource.mm:

(-[WebDataSource data]): Use SharedBuffer directly.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.

Source/WebKit/win:

  • WebDataSource.cpp:

(WebDataSource::data): Use SharedBuffer directly.
(WebDataSource::subresourceForURL): Ditto.

Source/WebKit2:

  • CMakeLists.txt: Removed WebResourceBuffer.cpp.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendBuffer): Use a reference instead of pointer.

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:

(WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): Ditto.

  • Shared/WebResourceBuffer.cpp: Removed.
  • Shared/WebResourceBuffer.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj: Removed WebResourceBuffer.cpp/h.
  • WebProcess/Network/NetworkProcessConnection.cpp: Removed unneeded includes.

(WebKit::NetworkProcessConnection::didCacheResource): Use a reference instead
of a pointer.

  • WebProcess/Network/WebResourceLoadScheduler.cpp: Removed unneeded include.
  • WebProcess/Network/WebResourceLoader.cpp: Ditto.
  • WebProcess/Network/WebResourceLoader.h: Ditto.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.

(WebKit::WebFrameLoaderClient::finishedLoading): Use SharedBuffer directly.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::source): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame): Refactored to make the relationship
between the buffer and the DataReference clearer and to avoid having a long-lived
DataReference pointing to an underlying buffer with unclear lifetime.
(WebKit::WebPage::getContentsAsString): Ditto.
(WebKit::WebPage::getSelectionAsWebArchiveData): Ditto.
(WebKit::WebPage::getMainResourceDataOfFrame): Ditto. Also use SharedBuffer directly.
(WebKit::WebPage::getResourceDataFromFrame): Ditto.
(WebKit::WebPage::getWebArchiveOfFrame): Ditto.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::containingLinkElement): Use elementLineage.
(WebKit::WebPage::performActionOnElement): Use references and SharedBuffer.
ALso did a bit of other cleanup in here.
(WebKit::isAssistableElement): Take Element& instead of Node*, since that's what
the caller has.
(WebKit::nextAssistableElement): Changed name to match what the function does.
Added an obviously-missing check on the startNode argument. Updated for change
to isAssistableElement above. Take a Page& instead of a Page*.
(WebKit::hasAssistableElement): Changed name to match what the function does.
Updated for change to nextAssistableElement above. Took out incorrect comparison
of a C++ pointer to the Objective-C object pointer nil. Take a Page& instead of a Page*.
(WebKit::WebPage::focusNextAssistedNode): Updated for above changes.
(WebKit::WebPage::getAssistedNodeInformation): Updated for above changes.

8:17 AM Changeset in webkit [175548] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses
https://bugs.webkit.org/show_bug.cgi?id=138345

Reviewed by Andreas Kling.

Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses
instead of old-fashion toXXX() functions.

No new tests, no behavior change.

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::mediaQueries):

  • css/CSSSupportsRule.cpp:

(WebCore::CSSSupportsRule::conditionText):

  • css/StyleRule.h:

(isType):
(WebCore::toStyleRuleMedia): Deleted.
(WebCore::toStyleRuleSupports): Deleted.
(WebCore::toStyleRuleRegion): Deleted.

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::cssText):

8:11 AM Changeset in webkit [175547] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Skip websocket tests
https://bugs.webkit.org/show_bug.cgi?id=138355

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

  • platform/efl/TestExpectations:
7:36 AM Changeset in webkit [175546] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

Web Inspector: Enum value collisions between different generators
https://bugs.webkit.org/show_bug.cgi?id=138343

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Brian Burg.

Each generator was using its own filtered list of domains_to_generate
to build the shared unique list of enum value encodings. This list
was slightly different across different generators. Instead always
use the list of all non-supplemental domains to generate the shared
list of enum values.

  • inspector/scripts/codegen/generator.py:

(Generator.non_supplemental_domains):
(Generator.domains_to_generate):
(Generator._traverse_and_assign_enum_values):

  • inspector/scripts/tests/enum-values.json: Added.
  • inspector/scripts/tests/expected/enum-values.json-result: Added.
6:37 AM Changeset in webkit [175545] by Dániel Bátyai
  • 2 edits
    2 adds in trunk/Tools

[EFL] Bump LLVM to version 3.5.0
https://bugs.webkit.org/show_bug.cgi?id=138312

Reviewed by Csaba Osztrogonác.

  • efl/jhbuild.modules:
  • efl/patches/llvm-elf-add-stackmaps.patch: Added.
  • efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Added.
6:32 AM Changeset in webkit [175544] by Dániel Bátyai
  • 2 edits in trunk/Source/WTF

ATTR_USED incorrectly applying to Clang
https://bugs.webkit.org/show_bug.cgi?id=138313

Reviewed by Csaba Osztrogonác.

ATTR_USED was only intended for GCC. Also limit it to ENABLE(FTL_NATIVE_CALL_INLINING)
since that's the only thing it's needed for.

  • wtf/Platform.h:
4:28 AM Changeset in webkit [175543] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch

Merge r175197. <rdar://problem/18856002>

4:01 AM Changeset in webkit [175542] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.2-branch/Source/WebKit2

Merged r175349. <rdar://problems/18839542>

3:57 AM Changeset in webkit [175541] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.2-branch/Source/WebCore

Merge r175347. <rdar://problem/18786900>

3:42 AM Changeset in webkit [175540] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch

Merge r175197. <rdar://problem/18856002>

3:15 AM Changeset in webkit [175539] by matthew_hanson@apple.com
  • 3 edits
    9 adds in branches/safari-600.2-branch

Merged r175074. <rdar://problems/18856016>

3:12 AM Changeset in webkit [175538] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.2-branch

Merged r174946. <rdar://problems/18856024>

3:09 AM Changeset in webkit [175537] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r174922. <rdar://problems/18856052>

3:06 AM Changeset in webkit [175536] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.2-branch

Merged r173845. <rdar://problems/18856008>

3:06 AM Changeset in webkit [175535] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173845. <rdar://problems/18856008>

3:02 AM Changeset in webkit [175534] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173843. <rdar://problems/18856048>

2:59 AM Changeset in webkit [175533] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173738. <rdar://problems/18856044>

2:54 AM Changeset in webkit [175532] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-600.2-branch

Merged r173424. <rdar://problems/18856061>

2:48 AM Changeset in webkit [175531] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173061. <rdar://problems/18856030>

2:19 AM Changeset in webkit [175530] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173046. <rdar://problems/18856004>

2:08 AM Changeset in webkit [175529] by matthew_hanson@apple.com
  • 3 edits
    6 adds in branches/safari-600.2-branch

Merged r171849. <rdar://problems/18856036>

2:05 AM Changeset in webkit [175528] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderQuote shouldn't need a pre-destructor hook.
<https://webkit.org/b/138352>

Reviewed by Antti Koivisto.

The willBeDestroyed() hook in RenderQuote came from the time when it was
potential unsafe to access the RenderView from a renderer destructor.

Move the code to the plain ol' destructor instead.

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeDestroyed): Deleted.

  • rendering/RenderQuote.h:
1:49 AM Changeset in webkit [175527] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r175380
https://bugs.webkit.org/show_bug.cgi?id=138322

Reviewed by Benjamin Poulain.

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::dispatchLoadEvent):

1:29 AM Changeset in webkit [175526] by Philippe Normand
  • 9 edits in trunk/Source/WebCore

[LEAK] [GStreamer] Removing video element will not free assigned memory
https://bugs.webkit.org/show_bug.cgi?id=46560

Reviewed by Eric Carlson.

Moved the ::extraMemoryCost() implementation to the
MediaPlayerPivateInterface base class. This default implementation
is now shared between the various MediaPlayerPrivate backends,
excepted the AVF MediaSource player which still reports no extra
memory cost.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::totalBytes): Make
totalBytes() part of the MediaPlayerPrivate interface.
(WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default
implementation.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1:20 AM Changeset in webkit [175525] by commit-queue@webkit.org
  • 5 edits
    6 adds in trunk

Fix animation of orient attribute on marker element
https://bugs.webkit.org/show_bug.cgi?id=137942

Source/WebCore:

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2014-11-04
Reviewed by Dirk Schulze.

Fixed implementation of SVG animated angles and the SVG
marker element orient attribute.
SVG animated angle was missing the logic to support animation
from auto to a numeric angle value - this is now added.
The SVG marker element getter for orientType was not returning
the animated value for orientType so in some cases (i.e. when
the initial value and the animated values were of different types)
the animation was not being rendered - although it was running.

Tests: svg/animations/animate-marker-orienttype-1.html

svg/animations/animate-marker-orienttype-2.html
svg/animations/animate-marker-orienttype-3.html

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
Added logic to support auto to angle animation.

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::orientType):
This method now returns the animated value if an animation is
running.

  • svg/SVGMarkerElement.h:

LayoutTests:

Patch by Nikos Andrkos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2014-11-04
Reviewed by Dirk Schulze.

Test the rendered result of the animation of the orient attribute.
Existing tests were only testing the animated value in the DOM.

  • svg/animations/animate-marker-orienttype-1-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-1.html: Added.
  • svg/animations/animate-marker-orienttype-2-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-2.html: Added.
  • svg/animations/animate-marker-orienttype-3-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-3.html: Added.
12:20 AM Changeset in webkit [175524] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Dictionary lookup panel pops up at random when clicking on selected text
https://bugs.webkit.org/show_bug.cgi?id=138353
<rdar://problem/18861406>

  • WebProcess/WebPage/WebPage.h:

Fix the build; this needs to be public.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeForDictionaryLookupAtHitTestResult):
Use the right selection (the one we just tested) in the change from r175517.

12:18 AM Changeset in webkit [175523] by dburkart@apple.com
  • 3 edits
    9 copies in branches/safari-600.3-branch

Merge r175074. <rdar://problem/18856099>

12:16 AM Changeset in webkit [175522] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r174946. <rdar://problem/18856105>

12:14 AM Changeset in webkit [175521] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r174922. <rdar://problem/18856144>

12:11 AM Changeset in webkit [175520] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173845. <rdar://problem/18856096>

12:09 AM Changeset in webkit [175519] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173843. <rdar://problem/18856138>

12:07 AM Changeset in webkit [175518] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173738. <rdar://problem/18856133>

12:05 AM Changeset in webkit [175517] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Dictionary lookup panel pops up at random when clicking on selected text
https://bugs.webkit.org/show_bug.cgi?id=138353
<rdar://problem/18861406>

Reviewed by Andreas Kling.

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

(WebKit::rangeForDictionaryLookupForSelection):
(WebKit::rangeForDictionaryLookupAtHitTestResult):
Factor rangeForDictionaryLookupForSelection out of performDictionaryLookupForSelection.

Make use of rangeForDictionaryLookupForSelection in rangeForDictionaryLookupAtHitTestResult,
returning the selection-based range if the hit test intersects the selected text.
Previously, we were just going forward with performDictionaryLookupForSelection,
which would actually *do* the lookup, even if we just wanted to retrieve the range.

Make rangeForDictionaryLookup* static.

(WebKit::WebPage::performDictionaryLookupForSelection):
Make use of rangeForDictionaryLookupForSelection.

12:04 AM Changeset in webkit [175516] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch

Merge r173424. <rdar://problem/18856153>

Nov 3, 2014:

11:51 PM Changeset in webkit [175515] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173061. <rdar://problem/18856115>

11:39 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
11:36 PM Changeset in webkit [175514] by commit-queue@webkit.org
  • 7 edits in trunk

Workaround for Cortex-A53 erratum 835769
https://bugs.webkit.org/show_bug.cgi?id=138315

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-11-03
Reviewed by Filip Pizlo.

This patch introduces CMake variable and preprocessor macro
WTF_CPU_ARM64_CORTEXA53 with the aim of enabling Cortex-A53-specific
.:

code paths, if set true.

  • Source/cmake/OptionsCommon.cmake:

Add -mfix-cortex-a53-835769 to the compiler flags if compiler supports
it.

  • Source/cmakeconfig.h.cmake:

#cmakedefine01 for WTF_CPU_ARM64_CORTEXA53

Source/JavaScriptCore:

code paths, if set true. The patch also implements one case where such
code paths are needed: the workaround for Cortex-A53 erratum 835769. If
WTF_CPU_ARM64_CORTEXA53 is set then:

  • CMake checks whether the compiler already has support for a workaround and adds -mfix-cortex-a53-835769 to the compiler flags if so,
  • the ARM64 backend of offlineasm inserts a nop between memory and multiply-accumulate instructions, and
  • the ARM64 assembler also inserts a nop between memory and (64-bit) multiply-accumulate instructions.
  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::madd):
Call nopCortexA53Fix835769() to insert a nop if CPU(ARM64_CORTEXA53) and
if necessary.
(JSC::ARM64Assembler::msub): Likewise.
(JSC::ARM64Assembler::smaddl): Likewise.
(JSC::ARM64Assembler::smsubl): Likewise.
(JSC::ARM64Assembler::umaddl): Likewise.
(JSC::ARM64Assembler::umsubl): Likewise.
(JSC::ARM64Assembler::nopCortexA53Fix835769):
Added. Insert a nop if the previously emitted instruction was a load, a
store, or a prefetch, and if the current instruction is 64-bit.

  • offlineasm/arm64.rb:

Add the arm64CortexA53Fix835769 phase and call it from
getModifiedListARM64 to insert nopCortexA53Fix835769 between appropriate
macro instructions. Also, lower nopCortexA53Fix835769 to nop if
CPU(ARM64_CORTEXA53), to nothing otherwise.

  • offlineasm/instructions.rb:

Define macro instruction nopFixCortexA53Err835769.

11:22 PM Changeset in webkit [175513] by Chris Dumez
  • 43 edits in trunk/Source

Allow implicit conversion from Ref<T> to T&
https://bugs.webkit.org/show_bug.cgi?id=138331

Reviewed by Andreas Kling.

Source/WebCore:

Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be
converted implicitly to a T&.

No new tests, no behavior change.

Source/WebKit2:

Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be
converted implicitly to a T&.

Source/WTF:

Allow implicit conversion from Ref<T> to T& to reduce the amount of
Ref<>::get() calls in the code and increase readability. Unlike for
RefPtr, doing this for Ref should not be error prone.

  • wtf/Ref.h:

(WTF::Ref::operator T&):
(WTF::Ref::operator const T&):

  • wtf/RunLoop.cpp:

(WTF::RunLoop::Holder::runLoop):

8:59 PM Changeset in webkit [175512] by commit-queue@webkit.org
  • 10 edits in trunk/Source/JavaScriptCore

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

broke some builds (Requested by msaboff on #webkit).

Reverted changeset:

"Update scope related slow path code to use scope register
added to opcodes"
https://bugs.webkit.org/show_bug.cgi?id=138254
http://trac.webkit.org/changeset/175509

8:57 PM Changeset in webkit [175511] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Adding test for array buffer and data view POST in XMLHttpRequest async send.
https://bugs.webkit.org/show_bug.cgi?id=138304

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-03
Reviewed by Alexey Proskuryakov.

Adding test for array buffer and data view

  • http/tests/xmlhttprequest/send-data-view-async-expected.txt: Added.
  • http/tests/xmlhttprequest/send-data-view-async.html: Added.
8:13 PM Changeset in webkit [175510] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

7:53 PM Changeset in webkit [175509] by msaboff@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Update scope related slow path code to use scope register added to opcodes
https://bugs.webkit.org/show_bug.cgi?id=138254

Reviewed by Mark Lam.

Updated slow paths for op_pop_scope, op_push_name_scope and op_push_with_scope.
Added scope register index parameter to the front of the relevant argument lists of the
slow functions. In the case of op_push_name_scope for x86 (32 bit), there aren't enough
registers to accomodate all the parameters. Therefore, added two new JSVALUE32_64 slow
paths called operationPushCatchScope() and operationPushFunctionNameScope() to eliminate
the last "type" argument.

  • assembler/MacroAssemblerCodeRef.h:

(JSC::FunctionPtr::FunctionPtr): Added a new template to take 6 arguments.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):
New variants of setupArgumentsWithExecState() and callOperation() to handle the new
combinations of argument types and counts.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):
Use the new slow paths.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

Updates to set the scope result using the scope register index. Added operationPushCatchScope()
and operationPushFunctionNameScope().

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Updated the scope slow paths to use the scope register index in the instruction to read and
write the register instead of using CallFrame::scope() and CallFrame::setScope().

7:36 PM Changeset in webkit [175508] by msaboff@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Add "get scope" byte code
https://bugs.webkit.org/show_bug.cgi?id=138326

Reviewed by Mark Lam.

Added op_get_scope. Added implementations for the LLInt and baseline JIT.
Provided nop implementation for DFG and FTL. The new byte code is emitted
after op_enter for any function, program or eval. It is expected that the
DFG will be implemented such that unneeded op_get_scope would be eliminated
during DFG compilation.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
Added new op_get_scope bytecode.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitGetScope):

  • bytecompiler/BytecodeGenerator.h:

Emit new op_get_scope bytecode.

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):
Added framework for new op_get_scope bytecode.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

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

(JSC::JIT::emit_op_get_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_scope):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Implementation of op_get_scope bytecode.

7:04 PM Changeset in webkit [175507] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

6:43 PM Changeset in webkit [175506] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Non-fast scrollable region overlay offsets the overlay by topContentInset
https://bugs.webkit.org/show_bug.cgi?id=138344

Reviewed Tim Horton.

Offset the region by topContentInset, and make it not green.

  • page/DebugPageOverlays.cpp:

(WebCore::NonFastScrollableRegionOverlay::updateRegion):

6:35 PM Changeset in webkit [175505] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Clarify RenderListMarker ownership model.
<https://webkit.org/b/138329>

Reviewed by Antti Koivisto.

A RenderListMarker is either in-tree and owned by the tree, or out-of-tree
and owned by a RenderListItem.

This patch changes RenderListItem::m_marker to be a raw pointer, and removes
the special handling of list markers in RenderElement child teardown.

We also remove the willBeDestroyed() hook. It was used to clear out the
m_marker pointer, but this is now done in the regular ~RenderListItem()
destructor with an assertion for marker sanity. m_marker is automatically
nulled out by a didDestroyListMarker() callback on RenderListItem.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::destroyLeftoverChildren):

Removed special handling of list marker renderers when deleting a
RenderElement's children.

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::~RenderListItem):
(WebCore::RenderListItem::styleDidChange):
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
(WebCore::RenderListItem::positionListMarker):

Made m_marker a raw pointer instead of a RenderPtr since the ownership
really switches between weak and strong reference.

(WebCore::RenderListItem::willBeDestroyed):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::~RenderListMarker):

Added a regular destructor to replace the willBeDestroyed() hook.

  • rendering/RenderListItem.h:

(WebCore::RenderListItem::didDestroyListMarker):

Added. Called by ~RenderListMarker to null out RenderListItem::m_marker.

6:23 PM Changeset in webkit [175504] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Fix jquery/manipulation.html flakiness on debug builds
https://bugs.webkit.org/show_bug.cgi?id=138335

Reviewed by Alexey Proskuryakov.

Update jquery's qunit config to not refresh the test results
regularly as this is not useful as part of layout testing.

This was causing qunit to set a timer every 13ms to check if
results should be updated and this timer would sometimes get
throttled after r175441.

(.):

6:08 PM Changeset in webkit [175503] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Expose visibleDebugOverlayRegions pref via the WK2 C SPI
https://bugs.webkit.org/show_bug.cgi?id=138342

Reviewed by Dan Bernstein.

Expose WKDebugOverlayRegions via the C SPI.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetVisibleDebugOverlayRegions):
(WKPreferencesGetVisibleDebugOverlayRegions):

  • UIProcess/API/C/WKPreferencesRef.h:
5:44 PM Changeset in webkit [175502] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.4

New tag.

5:26 PM Changeset in webkit [175501] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-600.1.4.12-branch

Merged r173851. rdar://problem/17801001

5:18 PM Changeset in webkit [175500] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173046. <rdar://problem/18856092>

5:15 PM Changeset in webkit [175499] by dburkart@apple.com
  • 3 edits
    6 copies in branches/safari-600.3-branch

Merge r171849. <rdar://problem/18856127>

5:05 PM Changeset in webkit [175498] by Beth Dakin
  • 9 edits in trunk/Source/WebKit2

Implement action menus for editable text with spelling suggestions
https://bugs.webkit.org/show_bug.cgi?id=138333
-and corresponding-
rdar://problem/18742371

Reviewed by Tim Horton.

New types.

  • Shared/API/c/WKActionMenuItemTypes.h:
  • Shared/API/c/WKActionMenuTypes.h:

ActionMenuHitTestResult now stores the String result of the lookup.

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

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):

Make getGuessesForWord() public so we can call it from WKActionMenuController.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKActionMenuController.mm:

Select the text for all types of text menus.
(-[WKActionMenuController isMenuForTextContent]):
(-[WKActionMenuController willOpenMenu:withEvent:]):

Spelling suggestions are presented in a sub-menu and will replace the selection
when chosen.
(-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]):
(-[WKActionMenuController _changeSelectionToSuggestion:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(-[WKActionMenuController _defaultMenuItems:]):

New function to store the lookupText as a String on the ActionMenuHitTestResult.

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

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::lookupTextAtLocation):

5:03 PM Changeset in webkit [175497] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: TextEditor search doesn't work after editing contents
https://bugs.webkit.org/show_bug.cgi?id=138198

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

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.customPerformSearch):
Fallback to pure TextEditor content searching (CodeMirror) if the editor has edits.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.hasEdits):
Check the CodeMirror clean state to known if we have edits or not.

4:56 PM Changeset in webkit [175496] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Move WebCore/bridge to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=138280

Reviewed by Anders Carlsson.

Clean up OwnPtr in WebCore/bridge.

No new tests, no behavior changes.

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::methodNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_class.h: Use std::unique_ptr instead of OwnPtr.
  • bridge/objc/objc_class.h: ditto.
  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::methodNamed):
(JSC::Bindings::ObjcClass::fieldNamed):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::callObjCFallbackObject):

  • bridge/runtime_method.h:
4:17 PM Changeset in webkit [175495] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

Client certificate credentials with session persistence don’t work
https://bugs.webkit.org/show_bug.cgi?id=138330

Reviewed by Alexey Proskuryakov.

I think this is not testable with our test HTTP server.

  • platform/network/CredentialStorage.cpp:

(WebCore::CredentialStorage::set): Don’t require a valid URL for client certificate
credentials, since they don’t apply to a specific path. Don’t save such credentials to
CFNetwork’s persistent storage (we only do that as a workaround for sharing credentials
with the media framework, and we don’t want to expand the scope of the workaround).

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::receivedCredential): Changed to use the Credential consturctor
that takes a Credential and a new persistence, so that this code works not only with
user+password credentials.

4:12 PM Changeset in webkit [175494] by Simon Fraser
  • 21 edits
    2 adds in trunk

Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2
https://bugs.webkit.org/show_bug.cgi?id=138257

Reviewed by Tim Horton.
Source/WebCore:

Add code for debugging page overlays that show the non-fast scrollable region,
and the region with wheel event handlers. The list of region types is intended
to be easily extensible.

A singleton DebugPageOverlays maintains a map of Frame -> vector of overlays.
A purely inline code path is provided so that DebugPageOverlays::didLayout() is
fast.

For each region type, a PageOverlay::Client subclass knows how to generate
the region, which is painted into a document-level page overlay.

Add a set of bitflags to Settings to control region visibility.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DebugPageOverlays.cpp: Added.

(WebCore::RegionOverlay::overlay):
(WebCore::MouseWheelRegionOverlay::updateRegion):
(WebCore::NonFastScrollableRegionOverlay::updateRegion):
(WebCore::RegionOverlay::create):
(WebCore::RegionOverlay::RegionOverlay):
(WebCore::RegionOverlay::~RegionOverlay):
(WebCore::RegionOverlay::pageOverlayDestroyed):
(WebCore::RegionOverlay::willMoveToPage):
(WebCore::RegionOverlay::didMoveToPage):
(WebCore::RegionOverlay::drawRect):
(WebCore::RegionOverlay::mouseEvent):
(WebCore::RegionOverlay::didScrollFrame):
(WebCore::RegionOverlay::recomputeRegion):
(WebCore::DebugPageOverlays::shared):
(WebCore::indexOf):
(WebCore::DebugPageOverlays::ensureRegionOverlayForFrame):
(WebCore::DebugPageOverlays::showRegionOverlay):
(WebCore::DebugPageOverlays::hideRegionOverlay):
(WebCore::DebugPageOverlays::regionChanged):
(WebCore::DebugPageOverlays::regionOverlayForFrame):
(WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
(WebCore::DebugPageOverlays::settingsChanged):

  • page/DebugPageOverlays.h: Added.

(WebCore::DebugPageOverlays::hasOverlaysForFrame):
(WebCore::DebugPageOverlays::hasOverlays):
(WebCore::DebugPageOverlays::didLayout):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • page/Settings.h:
  • page/Settings.in:

Source/WebKit2:

Add private prefs to control visibility of debug-related page region overlays.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _visibleDebugOverlayRegions]):
(-[WKPreferences _setVisibleDebugOverlayRegions:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/mac/WebPreferencesMac.mm:

(WebKit::setDebugUInt32ValueIfInUserDefaults):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updatePreferences): Update the overlays.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Update the overlays.

Tools:

Add a "Debug Overlays" submenu item under "WebKit2-only Settings" which allows
the user to toggle region page overlays on and off. Two overlays are available,
for the non-fast scrollable region, and the region of element with wheel
event handlers.

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController nonFastScrollableRegionOverlayVisible]):
(-[SettingsController wheelEventHandlerRegionOverlayVisible]):
(-[SettingsController preferenceKeyForRegionOverlayTag:]):
(-[SettingsController toggleDebugOverlay:]):
(-[SettingsController debugOverlayVisible:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):

3:02 PM Changeset in webkit [175493] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix RWIProtocol 64-to-32 bit conversion warnings
https://bugs.webkit.org/show_bug.cgi?id=138325

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

  • inspector/InspectorValues.h:

Vector's length really is an unsigned, so a static_cast here is fine.

  • inspector/scripts/codegen/generate_objective_c.py:

(ObjCGenerator.objc_type_for_raw_name):
Use int instead of NSInteger for APIs that eventually map to
InspectorObject's setInteger, which takes an int.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Rebaselined results with the type change.

2:54 PM Changeset in webkit [175492] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Video controls have lots of compositing layers
https://bugs.webkit.org/show_bug.cgi?id=138294

Reviewed by Eric Carlson.

After r175268 we get lots of separate small layers in the video
controls (but they pop into a single layer when opacity animates).

Fix this by putting an explicit z-index on -webkit-media-controls-panel
which is the element that animates opacity.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):

2:27 PM Changeset in webkit [175491] by commit-queue@webkit.org
  • 76 edits
    2 copies
    3 adds in trunk/Source

Unreviewed, rolling out r175406, r175413, and r175423.
https://bugs.webkit.org/show_bug.cgi?id=138327

Multipart tests are still broken (Requested by ap on #webkit).

Reverted changesets:

"Eliminate ResourceBuffer and use SharedBuffer directly
instead"
https://bugs.webkit.org/show_bug.cgi?id=138174
http://trac.webkit.org/changeset/175406

"Unreviewed, iOS build fix since 175406."
http://trac.webkit.org/changeset/175413

"Fix assertion in CachedResource::addDataBuffer"
http://trac.webkit.org/changeset/175423

2:22 PM Changeset in webkit [175490] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix bad assertion in r175487.

I mistakenly used it != values.end() instead of it == values.end()
so the debug bots are crashing.

  • css/StyleResolver.cpp:

(WebCore::createGridPosition):

2:14 PM Changeset in webkit [175489] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r175279
https://bugs.webkit.org/show_bug.cgi?id=138320

Reviewed by Jer Noble.

  • page/ChromeClient.h:
1:19 PM Changeset in webkit [175488] by ap@apple.com
  • 3 edits in trunk/Tools

REGRESSION (Subpixel layout): Bubbles don't fit in Bugzilla review page
https://bugs.webkit.org/show_bug.cgi?id=138323

Reviewed by Zalan Bujtas.

  • QueueStatusServer/templates/statusbubble.html: Round the sizes up, not down.
12:48 PM Changeset in webkit [175487] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Support modern range loops over CSSValueList
https://bugs.webkit.org/show_bug.cgi?id=138285

Reviewed by Andreas Kling.

Add support for modern range loops over CSSValueList objects.
Port the code base to using range loops for CSSValueList objects and
drop the CSSValueListInspector / CSSValueListIterator classes as they
are no longer needed.

No new tests, no behavior change.

12:41 PM Changeset in webkit [175486] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

_actionMenuItemsForHitTestResult is given kWKActionMenuLink but an empty array of defaultMenuItems
https://bugs.webkit.org/show_bug.cgi?id=138321
<rdar://problem/18855134>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _defaultMenuItems:]):
Move the HTTP-family-URLs-only condition to the place where we decide what kind of menu to
show. We depend on _defaultMenuItemsForLink returning the link menu, and should never
set the link menu type if we aren't going to build a link menu.

12:17 PM Changeset in webkit [175485] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderCounter shouldn't need a pre-destructor hook.
<https://webkit.org/b/138316>

Reviewed by Antti Koivisto.

RenderCounter will automatically register/unregister itself with
the RenderView when constructed/destroyed.

It was using a willBeDestroyed() hook because it used to be that you
couldn't get to the RenderView in the destructor. That's no longer
an issue as Document promises that RenderView is the last render tree
node to go away.

  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::~RenderCounter):
(WebCore::RenderCounter::willBeDestroyed): Deleted.

  • rendering/RenderCounter.h:
12:08 PM Changeset in webkit [175484] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Use FrameSnapshotting functions in FindController::getFindIndicatorBitmap
https://bugs.webkit.org/show_bug.cgi?id=138300
<rdar://problem/18855863>

Reviewed by Simon Fraser.

Share more code by using WebCore's FrameSnapshotting::snapshotSelection
in FindController instead of copying it into FindController wholesale.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::getFindIndicatorBitmap):
Make getFindIndicatorBitmap static, rename it from getFindIndicatorBitmapAndRect,
and drop the rect argument because only one caller wanted it, and we no longer need
to compute it (this happens in WebCore now).

Use snapshotSelection; all of the removed paint behaviors get added by
code in or underneath snapshotSelection now.

Draw the snapshot into our ShareableBitmap; we could avoid this in a future patch
by refactoring the FrameSnapshotting functions to take GraphicsContexts.

(WebKit::FindController::getImageForFindMatch):
(WebKit::FindController::updateFindIndicator):
Adopt the new getFindIndicatorBitmap.

  • WebProcess/WebPage/FindController.h:

Remove getFindIndicatorBitmap(AndRect), which is now static.

  • WebCore.exp.in:
  • page/FrameSnapshotting.cpp:

(WebCore::snapshotSelection):
Move knowledge that selectionBounds can be empty down to WebCore.

12:03 PM Changeset in webkit [175483] by commit-queue@webkit.org
  • 17 edits
    2 copies
    1 add in trunk

Web Inspector: Show Selector's Specificity
https://bugs.webkit.org/show_bug.cgi?id=138189

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

Source/JavaScriptCore:

  • inspector/protocol/CSS.json:

Create a new named type CSSSelector to include a selector's text and specificity.
The specificity tuple is optional as it may soon be made dynamic in some cases.

Source/WebCore:

Test: inspector/css/selector-specificity.html

  • css/CSSSelector.h:

Remove very stale comment. '*' is a starAtom now instead of a special -1 tag.
Made the specificity masks public class constants.

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
Drive by use release() in some cases to reduce ref count churn.

(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
Build CSSSelector objects for SelectorLists.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:
  • UserInterface/Test.html:

Add new files and strings.

  • UserInterface/Models/CSSMedia.js:

Constructor functions are not needed, remove unnecessary code.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.set selectors): Deleted.
This was unused and is no longer correct.

(WebInspector.CSSRule.prototype.get matchedSelectorText):
Update now that selectors are a list of objects, not just strings.

  • UserInterface/Models/CSSSelector.js:

(WebInspector.CSSSelector):
(WebInspector.CSSSelector.prototype.get specificity):
New model object for protocol type CSS.CSSSelector.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload.return):
(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload):
(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
Handle parsing old and new SelectorLists.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelectorText):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Update the code now that the list of selectors are model objects instead
of just selector text strings.

LayoutTests:

  • inspector/css/matched-style-properties.html:
  • inspector/css/selector-specificity-expected.txt: Added.
  • inspector/css/selector-specificity.html: Copied from LayoutTests/inspector/css/matched-style-properties.html.
11:59 AM Changeset in webkit [175482] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebKit2

URTBF after r175476 to make GTK and EFL build happy.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::setFindIndicator): Deleted.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::setTextIndicator):
(WebKit::WebView::setFindIndicator): Deleted.

  • UIProcess/CoordinatedGraphics/WebView.h:
11:40 AM Changeset in webkit [175481] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move -webkit-shape-outside to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138296

Reviewed by Zoltan Horvath.

Move -webkit-shape-outside to the new StyleBuilder, using custom
code as it does not always call setShapeOutside().

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyShape::setValue): Deleted.
(WebCore::ApplyPropertyShape::applyValue): Deleted.
(WebCore::ApplyPropertyShape::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueWebkitShapeOutside):

11:38 AM Changeset in webkit [175480] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Rebaseline after r175259.
https://bugs.webkit.org/show_bug.cgi?id=138317

Rebaseline pending test expectations affected by r175259.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-11-03

  • platform/gtk/css1/box_properties/border_bottom-expected.txt:
  • platform/gtk/css1/box_properties/border_top-expected.txt:
  • platform/gtk/css1/formatting_model/inline_elements-expected.txt:
  • platform/gtk/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/gtk/svg/custom/bug45331-expected.txt:
  • platform/gtk/svg/custom/path-bad-data-expected.txt:
11:36 AM Changeset in webkit [175479] by Joseph Pecoraro
  • 11 edits in trunk/Source/JavaScriptCore

Web Inspector: ObjC Protocol Interfaces should throw exceptions for nil arguments
https://bugs.webkit.org/show_bug.cgi?id=138221

Reviewed by Timothy Hatcher.

The RWIProtocol APIs will now raise exceptions when:

  • any properties are set on a type with a nil value or key (handled by RWIProtocolJSONObject)
  • required parameters in type constructors have nil value
  • required or optional command return parameters have nil values
  • required or optional event parameters have nil values

The exceptions include the name of the field when possible.

  • inspector/scripts/codegen/generate_objective_c.py:

(ObjCGenerator.is_type_objc_pointer_type):
Provide a quick check to see if type would be a pointer or not
in the ObjC API. Enums for example are not pointers in the API
because we manage converting them to/from strings.

  • inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py:

(ObjectiveCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py:

(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/codegen/generate_objective_c_types_implementation.py:

(ObjectiveCTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjectiveCTypesImplementationGenerator._generate_setter_for_member):
Throw exceptions when nil values are disallowed.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Rebaseline tests which include the exception raise calls.

11:36 AM Changeset in webkit [175478] by Joseph Pecoraro
  • 27 edits in trunk/Source

Web Inspector: ALTERNATE_DISPATCHERS Let the frontend know about extra agents
https://bugs.webkit.org/show_bug.cgi?id=138236

Reviewed by Brian Burg.

Source/JavaScriptCore:

Inform the frontend about any extra domains the backend may have
above and beyond the default list of domains for the debuggable type.
This approach means there is almost no cost to normal debugging.
When a JSContext is debugged with extra agents, a message is sent
to the frontend letting it know which domains to then activate,
and perform any initialization work that may be required.

  • inspector/InspectorAgentBase.h:

(Inspector::InspectorAgentBase::domainName):

  • inspector/InspectorAgentRegistry.cpp:

(Inspector::InspectorAgentRegistry::appendExtraAgent):

  • inspector/InspectorAgentRegistry.h:
  • inspector/scripts/codegen/generator_templates.py:

Provide a way to get a list of just the extra domains.
To aggregate this list provide a different "append"
specifically for extra agents.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
When a frontend connects, inform it of the extra domains.

  • inspector/protocol/Inspector.json:
  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::activateExtraDomains):
Send an event with the extra domains to activate.

Source/WebInspectorUI:

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.activateDomain):

  • UserInterface/Protocol/InspectorObserver.js:

(WebInspector.InspectorObserver.prototype.activateExtraDomains):

  • UserInterface/Base/Object.js:
  • UserInterface/Base/Test.js:
  • UserInterface/Base/Main.js:

(WebInspector.activateExtraDomains):
Default state is that there are no extra domains. When extra domains
are activated, some agents need to be re-initialized. Dispatch a
model event so views also know to re-initialize.

  • UserInterface/Controllers/ApplicationCacheManager.js:

(WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange):

  • UserInterface/Controllers/DOMTreeManager.js:

Be more careful about direct agent use during main resource changes.
That can happen with a JSContext extended with a Page agent.

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager):
(WebInspector.FrameResourceManager.prototype._mainFrameDidChange):
(WebInspector.FrameResourceManager.prototype._extraDomainsActivated):

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager):
(WebInspector.StorageManager.prototype._databaseForIdentifier):
(WebInspector.StorageManager.prototype._extraDomainsActivated):
It is possible new window.FooAgent's are available. Perform expected
initialization re-checking if the agents are now available.

  • UserInterface/Models/CSSCompletions.js:

Avoid re-initialization if we already did it. This should never
happen but this is just to be safe.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
Don't disallow expandable tree elements if this is a JSContext with
extra domains. If that JSContext has resources, we would have been
unable to see child resources.

11:19 AM Changeset in webkit [175477] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: Using a media element changes window.name
https://bugs.webkit.org/show_bug.cgi?id=138278
rdar://problem/18704134

Apply the same fix to mediaControlsBase.js. I do not know who uses this file, but
there is no reason to have the bug there.

  • Modules/mediacontrols/mediaControlsBase.js:

(Controller.prototype.addVideoListeners):
(Controller.prototype.removeVideoListeners):
(Controller.prototype.disconnectControls):

11:17 AM Changeset in webkit [175476] by timothy_horton@apple.com
  • 15 edits
    4 adds
    4 deletes in trunk/Source/WebKit2

Rename FindIndicator{Window} to TextIndicator{Window}
https://bugs.webkit.org/show_bug.cgi?id=138302
<rdar://problem/18855190>

Reviewed by Anders Carlsson.

Rename FindIndicator{Window} to TextIndicator{Window} (and related),
because it will soon be used to indicate ranges of text that are not
necessarily find-in-page results.

FindController still has things named 'findIndicator' internally,
and I left the API alone (because all the API bits are actually find-specific),
but the actual FindIndicator/Window and the message to set it up, etc. are all
now called Text*.

  • CMakeLists.txt:
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/TextIndicator.cpp: Renamed from Source/WebKit2/UIProcess/FindIndicator.cpp.
  • UIProcess/TextIndicator.h: Renamed from Source/WebKit2/UIProcess/FindIndicator.h.
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WKContentView.h:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:
  • UIProcess/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/FindIndicatorWindow.h.
  • UIProcess/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/FindIndicatorWindow.mm.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/FindController.cpp:
10:39 AM Changeset in webkit [175475] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderLayerModelObject shouldn't need a pre-destructor hook.
<https://webkit.org/b/138314>

Reviewed by Antti Koivisto.

Move code from the willBeDestroyed() pre-destructor hook to the regular
~RenderLayerModelObject() destructor.

We just need to unregister the renderer from the FrameView's set of
viewport-constrained objects. That doesn't require being able to walk
the render tree or call virtuals, which is the main reason you'd use
willBeDestroyed().

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::~RenderLayerModelObject):
(WebCore::RenderLayerModelObject::willBeDestroyed): Deleted.

  • rendering/RenderLayerModelObject.h:
10:38 AM Changeset in webkit [175474] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

Implement action menus for editable text
https://bugs.webkit.org/show_bug.cgi?id=138284
-and corresponding-
rdar://problem/18742323

Reviewed by Tim Horton.

New item type for paste.

  • Shared/API/c/WKActionMenuItemTypes.h:

New menu type for editable text.

  • Shared/API/c/WKActionMenuTypes.h:
  • UIProcess/mac/WKActionMenuController.mm:

willOpenMenu should select text for both regular text menus and editable text
menus.
(-[WKActionMenuController willOpenMenu:withEvent:]):

Default items for editable text.
(-[WKActionMenuController _defaultMenuItemsForEditableText]):
(-[WKActionMenuController _paste:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):

New method _hitTestResultForStage:(MenuUpdateStage)stage will figure out whether
we can use the WebHitTestResult from the ActionMenuHitTestResult or if we have to
use the potentially out-of-date WebHitTestResult that is cached on WebPageProxy.
An important difference between these results is that the ActionMenuHitTest
result, in addition to being more recent and accurate, also now includes shadow
content, which affects some editable regions on important sites such as
bugs.webkit.org and nytimes.com.
(-[WKActionMenuController _defaultMenuItems:]):
(-[WKActionMenuController _updateActionMenuItemsForStage:]):
(imageForResource:name::if): Deleted.

Allow shadow content in action menu hit testing.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::selectLookupTextAtLocation):

10:36 AM Changeset in webkit [175473] by adachan@apple.com
  • 6 edits in trunk/Source/WebKit2

Persist the page's muted state across web process crashes.
https://bugs.webkit.org/show_bug.cgi?id=138195

Reviewed by Anders Carlsson.

Store the Page's muted state in WebPageCreationParameters so that state can be properly
restored after recovering from a crash in the web process.

  • Shared/WebPageCreationParameters.cpp:

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

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

(WebKit::WebPageProxy::WebPageProxy):
Initialize m_muted.
(WebKit::WebPageProxy::setMuted):
Update m_muted.
(WebKit::WebPageProxy::creationParameters):
Set the muted data member in WebPageCreationParameters.

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

(WebKit::WebPage::WebPage):
Initialize the page's muted state with the muted value from WebPageCreationParameters.

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

[EFL] Fix the build if LOG_DISABLED=0 in release mode
https://bugs.webkit.org/show_bug.cgi?id=138309

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-11-03
Reviewed by Chris Dumez.

  • platform/efl/LoggingEfl.cpp:
9:56 AM Changeset in webkit [175471] by msaboff@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add scope operand to op_resolve_scope
https://bugs.webkit.org/show_bug.cgi?id=138253

Reviewed by Mark Lam.

Added scope operand to op_resolve_scope. Although the scope register is filled in with
the ScopeChain register, this operand is not used in the processing of the bytecode.
That will be addressed in a future patch.

  • bytecode/BytecodeList.json: Lengthened the three bytecodes.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Added code to dump the scope operand.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
Updated the operand indecies for the processing of op_resolve_scope.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetOwnScope):
(JSC::BytecodeGenerator::emitReturn):
Added scope register to these emit functions and the bytecodes they emit.

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Updated the operand indecies for the processing of op_resolve_scope.

7:47 AM Changeset in webkit [175470] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/LayoutTests

[EFL] Unskip passing ENCRYPTED_MEDIA_V2 tests
https://bugs.webkit.org/show_bug.cgi?id=138133

Reviewed by Csaba Osztrogonác.

  • platform/efl/TestExpectations:
3:46 AM Changeset in webkit [175469] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[ninja] Don't remove response files for verbose builds
https://bugs.webkit.org/show_bug.cgi?id=137816

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(determineNinjaVersion):
(buildCMakeGeneratedProject):

3:26 AM Changeset in webkit [175468] by ryuan.choi@gmail.com
  • 8 edits in trunk/Source/WebKit2

[EFL] Remove dependency of PageViewportController from PageViewportControllerClient
https://bugs.webkit.org/show_bug.cgi?id=138301

Reviewed by Gyuyoung Kim.

PaeViewportControllerClient does not need to keep the instance of PageViewPortController.
This patch removes it to simplify relation between them.
In addition, uses a reference for the client of PageViewportController.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::setViewportPosition):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/PageViewportControllerClient.h:
  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setController): Deleted.

  • UIProcess/efl/PageViewportControllerClientEfl.h:
3:08 AM Changeset in webkit [175467] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move 'zoom' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138297

Reviewed by Antti Koivisto.

Move 'zoom' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder by using custom code as it requires special handling.

No new tests, no behavior change.

  • css/makeprop.pl:

Add support for Custom=All StyleBuilder option to indicate
that the property requires custom code to set the initial,
inherit and current values.

12:22 AM Changeset in webkit [175466] by commit-queue@webkit.org
  • 12 edits in trunk

AX: Fix some minor typos related to the word "accessibility".
https://bugs.webkit.org/show_bug.cgi?id=138299

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-11-03
Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessibilityObjectInnerText):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::shouldUseAccessiblityObjectInnerText): Deleted.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getRunAttributesFromAccessibilityObject):
(webkitAccessibleTextGetRunAttributes):
(getRunAttributesFromAccesibilityObject): Deleted.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):

Source/WebCore/platform/gtk/po:

No new tests, no behavior change.

  • en_CA.po:

Source/WebKit/win:

No new tests, no behavior change.

  • AccessibleBase.h:

Source/WebKit2:

No new tests, no behavior change.

  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

LayoutTests:

  • accessibility/aria-link-supports-press.html:

Nov 2, 2014:

11:53 PM Changeset in webkit [175465] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[GTK] Fix the build of FTL JIT
https://bugs.webkit.org/show_bug.cgi?id=138298

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-11-02
Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake:

Remove the need for the LIBCXXABI package.

Tools:

  • gtk/jhbuild-optional.modules:

Bump up LLVM version to 3.5.0 release and apply patches.

  • gtk/patches/llvm-elf-add-stackmaps.patch:

Added. Adds .llvm_stackmaps section to ELF files. Backported from LLVM
trunk.

  • gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch:

Added. Ensures that PC-relative relocations in EH frames are not
truncated to 32 bits on x86_64.

2:47 PM Changeset in webkit [175464] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move string-typed properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138295

Reviewed by Antti Koivisto.

Move string-typed properties to the new StyleBuilder:
-webkit-hyphenate-character
-webkit-line-grid
-webkit-flow-into
-webkit-flow-from

No new tests, no behavior change.

10:19 AM Changeset in webkit [175463] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Unreviewed, rebaseline bindings tests after r175462.

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

(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

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

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

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

(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):

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

(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):

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

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

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

(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):

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

(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionClassMethod2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):

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

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):

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

(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):

8:37 AM Changeset in webkit [175462] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Reduce the cost of argumentCount checks in the JS bindings
https://bugs.webkit.org/show_bug.cgi?id=138289

Reviewed by Sam Weinig.

Slightly reduce the cost of argumentCount checks in the JS bindings by
hinting to the compiler that it is UNLIKELY that those methods are
called with too few arguments.

I see a 3% progression on PerformanceTests/DOM/DOMDivWalk.html
performance test.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateArgumentsCountCheck):

12:06 AM Changeset in webkit [175461] by ktf.kim@samsung.com
  • 1 edit
    4 adds in trunk/LayoutTests

[CSS] Add tests for :read-only and :read-write
https://bugs.webkit.org/show_bug.cgi?id=92473

Add test case for :readonly and :readwrite pseudoclass for common elements

Reviewed by Benjamin Poulain.

  • fast/css/readonly-pseudoclass-common-element-expected.txt: Added.
  • fast/css/readonly-pseudoclass-common-element.html: Added.
  • fast/css/readwrite-pseudoclass-editable-expected.txt: Added.
  • fast/css/readwrite-pseudoclass-editable.html: Added.
Note: See TracTimeline for information about the timeline view.