Timeline



Feb 24, 2014:

11:51 PM Changeset in webkit [164634] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK] Mark view source mode methods as deprecated
https://bugs.webkit.org/show_bug.cgi?id=128920

Reviewed by Martin Robinson.

Source/WebKit/gtk:

  • webkit/webkitwebview.cpp: Mark set/get_view_source_mode as

deprecated in the documentation.

  • webkit/webkitwebview.h: Add deprecation guards.

Source/WebKit2:

Mark WEBKIT_VIEW_MODE_SOURCE as deprecated in documentation and
only show warnings when set_view_mode is used with WEBKIT_VIEW_MODE_SOURCE.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_set_view_mode):
(webkit_web_view_get_view_mode):

  • UIProcess/API/gtk/WebKitWebView.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(beforeAll): Remove view mode test.

11:49 PM Changeset in webkit [164633] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Stop looking for plug-in profiles in /S/L/Sandbox/Profiles
https://bugs.webkit.org/show_bug.cgi?id=129262
<rdar://problem/16149420>

Reviewed by Sam Weinig.

Remove unused code.

  • Shared/Plugins/mac/PluginSandboxProfile.mm:

(WebKit::pluginSandboxProfileDirectory):
(WebKit::pluginSandboxCommonProfile):
(WebKit::pluginSandboxProfile):
(WebKit::pluginHasSandboxProfile):

11:30 PM Changeset in webkit [164632] by Martin Robinson
  • 16 edits in trunk

[GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files
https://bugs.webkit.org/show_bug.cgi?id=128417

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake: Define the paths to the pkgconfig files here, so that they

may one day be used in the webkitdom config file generation.

Source/WebCore:

  • bindings/gobject/GNUmakefile.am: Generate a config file for webkitdom documentation generation.

Source/WebKit:

  • PlatformGTK.cmake: Correct the definition of WebKitGTK_ENUM_GENERATION_HEADERS and generate

a gtkdoc-webkitgtk.cfg file to be used by generate-gtkdoc.

Source/WebKit/gtk:

  • GNUmakefile.am: Generate a config file for generate-gtkdoc.

Source/WebKit2:

  • GNUmakefile.am: Generate a config file for generate-gtkdoc.
  • PlatformGTK.cmake: Ditto.

Tools:

  • gtk/GNUmakefile.am: Make the documentation process depend on the configuration files.
  • gtk/generate-gtkdoc: Switch from using hard-coded configurations to reading them from

a makefile. This allows accepting a header list from the build system, which can be used
to dynamically build a list of ignored files. We can ignore any source file that doesn't
have a corresponding header file on the header list.

  • gtk/gtkdoc.py: Now accept a headers parameter, which can be used instead of passing just

source directories to gtkdoc-scan.

11:13 PM Changeset in webkit [164631] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix build.

10:59 PM Changeset in webkit [164630] by oliver@apple.com
  • 20 edits
    3 adds in trunk

Spread operator has a bad time when applied to call function
https://bugs.webkit.org/show_bug.cgi?id=128853

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Follow on from the previous patch the added an extra slot to
op_call_varargs (and _call, _call_eval, _construct). We now
use the slot as an offset to in effect act as a 'slice' on
the spread subject. This allows us to automatically retain
all our existing argument and array optimisatons. Most of
this patch is simply threading the offset around.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):

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

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

  • interpreter/Interpreter.cpp:

(JSC::sizeFrameForVarargs):
(JSC::loadVarargs):

  • interpreter/Interpreter.h:
  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

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

(JSC::JIT::compileLoadVarargs):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

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

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::copyToArguments):

  • runtime/Arguments.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::copyToArguments):

  • runtime/JSArray.h:

LayoutTests:

Test case all the things!

  • js/regress/call-spread-call-expected.txt: Added.
  • js/regress/call-spread-call.html: Added.
  • js/regress/script-tests/call-spread-call.js: Added.

(testFunction):
(test2):
(test3):

10:46 PM Changeset in webkit [164629] by timothy@apple.com
  • 19 edits in trunk/Source/WebInspectorUI

Switch from prefixed CSS gradient to unprefixed.

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

Reviewed by Andreas Kling.

  • UserInterface/Views/BreakpointActionView.css:

(.breakpoint-action-append-button):
(.breakpoint-action-remove-button):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):

  • UserInterface/Views/CompletionSuggestionsView.css:

(.completion-suggestions-container > .item:active):

  • UserInterface/Views/DashboardView.css:

(.toolbar .dashboard):

  • UserInterface/Views/DataGrid.css:

(.data-grid th):
(.data-grid table.data):
(.data-grid th.sortable:not(.mouse-over-collapser):active):
(.data-grid th.sort-ascending, .data-grid th.sort-descending):
(.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active):
(body.window-inactive .data-grid th.sort-descending):

  • UserInterface/Views/DetailsSection.css:

(.details-section > .header):
(.details-section .details-section > .header):

  • UserInterface/Views/DividerNavigationItem.css:

(.navigation-bar .item.divider):

  • UserInterface/Views/FindBanner.css:

(.find-banner > button:active:not(:disabled)):

  • UserInterface/Views/Main.css:

(#split-content-browser > .navigation-bar):

  • UserInterface/Views/NavigationSidebarPanel.css:

(.sidebar > .panel.navigation > .overflow-shadow):
(.navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
(body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):

  • UserInterface/Views/ProbeSetDataGrid.css:

(.details-section.probe-set .data-grid > .data-container td.unknown-value):
(.details-section.probe-set .data-grid th):

  • UserInterface/Views/RadioButtonNavigationItem.css:

(.navigation-bar .item.radio.button.text-only.selected):

  • UserInterface/Views/TextEditor.css:

(.text-editor .bouncy-highlight):

  • UserInterface/Views/TimelineContentView.css:

(.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):

  • UserInterface/Views/TimelineDataGrid.css:

(.timeline-data-grid-tree-outline .item:hover):

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler > .header > .divider):

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.timeline > .title-bar):
(.sidebar > .panel.timeline > .content > .stripe-background):

  • UserInterface/Views/Toolbar.css:

(body:not(.mac-platform) .toolbar):
(body.docked.mac-platform.mavericks .toolbar):

9:45 PM Changeset in webkit [164628] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

32-bit build fix.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction elementActionWithType:customTitle:]):

8:44 PM Changeset in webkit [164627] by mark.lam@apple.com
  • 10 edits in trunk/Source

Need to initialize VM stack data even when the VM is on an exclusive thread.
<https://webkit.org/b/129265>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

We check VM::exclusiveThread as an optimization to forego the need to do
JSLock locking. However, we recently started piggy backing on JSLock's
lock() and unlock() to initialize VM stack data (stackPointerAtVMEntry
and lastStackTop) to appropriate values for the current thread. This is
needed because we may be acquiring the lock to enter the VM on a different
thread.

As a result, we ended up not initializing the VM stack data when
VM::exclusiveThread causes us to bypass the locking activity. Even though
the VM::exclusiveThread will not have to deal with the VM being entered
on a different thread, it still needs to initialize the VM stack data.
The VM relies on that data being initialized properly once it has been
entered.

With this fix, we push the check for exclusiveThread down into the JSLock,
and handle the bypassing of unneeded locking activity there while still
executing the necessary the VM stack data initialization.

  • API/APIShims.h:

(JSC::APIEntryShim::APIEntryShim):
(JSC::APICallbackShim::shouldDropAllLocks):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::addCurrentThread):

  • runtime/JSLock.cpp:

(JSC::JSLockHolder::JSLockHolder):
(JSC::JSLockHolder::init):
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::setExclusiveThread):
(JSC::JSLock::lock):
(JSLock::unlock):
(JSLock::currentThreadIsHoldingLock):
(JSLock::dropAllLocks):
(JSLock::grabAllLocks):

  • runtime/JSLock.h:

(JSC::JSLock::exclusiveThread):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::exclusiveThread):
(JSC::VM::setExclusiveThread):
(JSC::VM::currentThreadIsHoldingAPILock):

Source/WebCore:

No new tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • Added an assertion to ensure that we are holding the JSLock.
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

  • Updated to use the new VM::setExclusiveThread().
8:00 PM Changeset in webkit [164626] by mitz@apple.com
  • 5 edits
    6 adds in trunk/Source/WebKit2

[Cocoa] Start adding API for customizing actions on activated elements
https://bugs.webkit.org/show_bug.cgi?id=129284

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/_WKActivatedElementInfo.h: Added. Includes the public interface of what

was WKElementActionInfo.

  • UIProcess/API/Cocoa/_WKActivatedElementInfo.m: Added.

(-[_WKActivatedElementInfo _initWithURL:location:title:rect:]): Moved and renamed internal
initializer from WKElementActionInfo.
(-[_WKActivatedElementInfo dealloc]): Moved from WKElementActionInfo.
(-[_WKActivatedElementInfo _boundingRect]): Added private accessor.
(-[_WKActivatedElementInfo _interactionLocation]): Ditto.

  • UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: Added.
  • UIProcess/API/Cocoa/_WKElementAction.h: Added.

(_WKElementActionType): Moved from WKActionSheet.h and turned into a proper NS_ENUM.

  • UIProcess/API/Cocoa/_WKElementAction.mm: Added.

(-[_WKElementAction _initWithTitle:actionHandler:type:]): Moved and renamed internal
initializer from WKActionSheet.mm.
(-[_WKElementAction dealloc]): Moved from WKActionSheet.mm.
(+[_WKElementAction elementActionWithTitle:actionHandler:]): Moved and renamed.
(copyElement): Moved from WKActionSheet.mm.
(saveImage): Ditto.
(addToReadingList): Ditto.
(+[_WKElementAction elementActionWithType:customTitle:]): Moved and renamed.
(+[_WKElementAction elementActionWithType:]): Ditto.
(-[_WKElementAction _runActionWithElementInfo:view:]): Moved from WKActionSheet.mm.

  • UIProcess/API/Cocoa/WKElementActionInternal.h: Added.
  • UIProcess/ios/WKActionSheet.h: Removed declarations that were moved elsewhere.
  • UIProcess/ios/WKActionSheet.mm: Removed code that was moved elsewhere.
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):

  • WebKit2.xcodeproj/project.pbxproj: Added references to new files. Changed the Objective-C

class name check to allow _WK as a class name prefix.

7:34 PM Changeset in webkit [164625] by dino@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed. This file should not be marked as executable (copied in from ANGLE).

  • include/KHR/khrplatform.h:
7:33 PM Changeset in webkit [164624] by andersca@apple.com
  • 16 edits
    2 copies in trunk

Add a DefaultVisitedLinkProvider and route visited link actions through it
https://bugs.webkit.org/show_bug.cgi?id=129285

Reviewed by Dan Bernstein.

Source/WebCore:

DefaultVisitedLinkProvider currently just forwards everything to the visited link strategy,
but will soon take over the responsibilities of visited link handling from PageGroup.

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

(WebCore::VisitedLinkState::determineLinkStateSlowCase):

  • loader/HistoryController.cpp:

(WebCore::addVisitedLink):
(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):
(WebCore::HistoryController::updateForSameDocumentNavigation):
(WebCore::HistoryController::pushState):
(WebCore::HistoryController::replaceState):

  • page/DefaultVisitedLinkProvider.cpp: Copied from Source/WebCore/page/VisitedLinkProvider.h.

(WebCore::DefaultVisitedLinkProvider::create):
(WebCore::DefaultVisitedLinkProvider::DefaultVisitedLinkProvider):
(WebCore::DefaultVisitedLinkProvider::~DefaultVisitedLinkProvider):
(WebCore::DefaultVisitedLinkProvider::isLinkVisited):
(WebCore::DefaultVisitedLinkProvider::addVisitedLink):

  • page/DefaultVisitedLinkProvider.h: Copied from Source/WebCore/page/VisitedLinkProvider.h.
  • page/Page.cpp:

(WebCore::Page::visitedLinkProvider):

  • page/Page.h:
  • page/PageGroup.cpp:

(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::visitedLinkProvider):

  • page/PageGroup.h:
  • page/VisitedLinkProvider.h:

Tools:

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate applicationDidFinishLaunching:]):
Set a shared history so we'll get visited link tracking.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
Set a group name.

7:00 PM Changeset in webkit [164623] by timothy@apple.com
  • 7 edits in trunk/Source/WebInspectorUI

Fix the missing navigation bar in the Debugger sidebar panel.

Sorting the CSS resources caused specificity issue.

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

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DebuggerSidebarPanel.css:

(.sidebar > .panel.navigation.debugger > .content):
(.sidebar > .panel.navigation.debugger > .navigation-bar):

  • UserInterface/Views/LayoutTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):

  • UserInterface/Views/NetworkTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):

  • UserInterface/Views/ResourceSidebarPanel.css:

(.sidebar > .panel.navigation.resource > .empty-content-placeholder):
(.sidebar > .panel.navigation.resource > .search-bar):
(.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):

  • UserInterface/Views/ScriptTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.navigation.timeline > .status-bar):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
(.sidebar > .panel.navigation.timeline > .title-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timelines):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .timelines-content):
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button:active):
(.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content):
(.sidebar > .panel.navigation.timeline > .content > .stripe-background):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background):

6:59 PM Changeset in webkit [164622] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Use RetainPtrs for two WKContentView data members
https://bugs.webkit.org/show_bug.cgi?id=129276

Reviewed by Benjamin Poulain.

The UITextInputTraits were leaked. Fix with RetainPtr goodness.

Rename the obscure _accessory to _formAccessoryView and
make it a RetainPtr.

Rearrange the data members of the WKContentView class extension
for better packing and readability.

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

(-[WKContentView cleanupInteraction]):
(-[WKContentView inputAccessoryView]):
(-[WKContentView _updateAccessory]):
(-[WKContentView textInputTraits]):

6:40 PM Changeset in webkit [164621] by Simon Fraser
  • 13 edits
    2 moves
    1 delete in trunk/Source/WebKit2

Remove WKInteractionView, move code into WKContentView
https://bugs.webkit.org/show_bug.cgi?id=129275

Reviewed by Benjamin Poulain.

WKInteractionView as an interim solution as WebKit2 on iOS was being
brought up, and should be removed.

Move its code into a category on WKContentView, mostly unchanged. The
WKContentView (WKInteraction) categroy now implements the various protocols
that WKInteractionView implemented.

WKContentView is not an API class, so no longer has WK_API_CLASS, and can
have implementation-related data members. WKContentViewInternal.h is removed.

WKContentView now exposes a WebPageProxy* rather than a WKPageRef.

Other changes: WKActionSheetAssistant no longer stores a WebPageProxy,
getting it from the WKContentView instead.

WKAutoCorrectionData and InteractionInformationAtPosition are stored via unique_ptr
to reduce class size, and avoid having to expose their details in the header.

  • Configurations/WebKit2.xcconfig:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView setAllowsBackForwardNavigationGestures:]):
(-[WKView pageRef]):
(-[WKView _pageExtendedBackgroundColor]):
(-[WKView _setBackgroundExtendsBeyondPage:]):
(-[WKView _backgroundExtendsBeyondPage]):

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

(-[WKActionSheet initWithView:]):
(+[WKElementAction customElementActionWithTitle:actionHandler:]):
(copyElement):
(saveImage):
(+[WKElementAction standardElementActionWithType:customTitle:]):
(-[WKElementAction runActionWithElementInfo:view:]):

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

(-[WKActionSheetAssistant initWithView:]):
(-[WKActionSheetAssistant dealloc]):
(-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant cleanupSheet]):

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

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
(-[WKContentView dealloc]):
(-[WKContentView page]):
(-[WKContentView isAssistingNode]):
(-[WKContentView didFinishScrolling]):
(-[WKContentView willStartZoomOrScroll]):
(-[WKContentView willStartUserTriggeredScroll]):
(-[WKContentView willStartUserTriggeredZoom]):
(-[WKContentView didZoomToScale:]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView _didCommitLayerTree:WebKit::]):

  • UIProcess/ios/WKContentViewInteraction.h: Renamed from Source/WebKit2/UIProcess/ios/WKInteractionView.h.
  • UIProcess/ios/WKContentViewInteraction.mm: Renamed from Source/WebKit2/UIProcess/ios/WKInteractionView.mm.

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView positionInformation]):
(-[WKContentView setInputDelegate:]):
(-[WKContentView inputDelegate]):
(-[WKContentView isEditable]):
(-[WKContentView canBecomeFirstResponder]):
(-[WKContentView resignFirstResponder]):
(-[WKContentView _webTouchEventsRecognized:]):
(inflateQuad):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):
(-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
(-[WKContentView _cancelLongPressGestureRecognizer]):
(-[WKContentView _didScroll]):
(-[WKContentView _requiresKeyboardResetOnReload]):
(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):
(-[WKContentView gestureRecognizer:canBePreventedByGestureRecognizer:]):
(isSamePair):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _showImageSheet]):
(-[WKContentView _showLinkSheet]):
(-[WKContentView _showDataDetectorsSheet]):
(-[WKContentView _actionForLongPress]):
(-[WKContentView ensurePositionInformationIsUpToDate:]):
(-[WKContentView _updatePositionInformation]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _cancelInteraction]):
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView pointIsInAssistedNode:]):
(-[WKContentView webSelectionRects]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _twoFingerDoubleTapRecognized:]):
(-[WKContentView _twoFingerPanRecognized:]):
(-[WKContentView _attemptClickAtLocation:]):
(-[WKContentView useSelectionAssistantWithMode:]):
(-[WKContentView clearSelection]):
(-[WKContentView _positionInformationDidChange:]):
(-[WKContentView _willStartScrollingOrZooming]):
(-[WKContentView _willStartUserTriggeredScrollingOrZooming]):
(-[WKContentView _didEndScrollingOrZooming]):
(-[WKContentView inputAccessoryView]):
(-[WKContentView supportedPasteboardTypesForCurrentSelection]):
(-[WKContentView _addShortcut:]):
(-[WKContentView _promptForReplace:]):
(-[WKContentView replace:]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView _resetShowingTextStyle:]):
(-[WKContentView _performAction:]):
(-[WKContentView copy:]):
(-[WKContentView cut:]):
(-[WKContentView paste:]):
(-[WKContentView select:]):
(-[WKContentView selectAll:]):
(-[WKContentView toggleBoldface:]):
(-[WKContentView toggleItalics:]):
(-[WKContentView toggleUnderline:]):
(-[WKContentView _showTextStyleOptions:]):
(-[WKContentView _showDictionary:]):
(-[WKContentView _define:]):
(toWKGestureType):
(toUIWKGestureType):
(toWKSelectionTouch):
(toUIWKSelectionTouch):
(toWKGestureRecognizerState):
(toUIGestureRecognizerState):
(toUIWKSelectionFlags):
(toWKHandlePosition):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKContentView _didUpdateBlockSelectionWithTouch:WebKit::withFlags:WebKit::growThreshold:shrinkThreshold:]):
(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):
(-[WKContentView autocorrectionData]):
(-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
(-[WKContentView textFirstRect]):
(-[WKContentView textLastRect]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView accessoryDone]):
(-[WKContentView accessoryTab:]):
(-[WKContentView accessoryAutoFill]):
(-[WKContentView accessoryClear]):
(-[WKContentView _updateAccessory]):
(-[WKContentView textInRange:]):
(-[WKContentView replaceRange:withText:]):
(-[WKContentView selectedTextRange]):
(-[WKContentView caretRectForPosition:]):
(-[WKContentView selectionRectsForRange:]):
(-[WKContentView setSelectedTextRange:]):
(-[WKContentView hasMarkedText]):
(-[WKContentView markedText]):
(-[WKContentView markedTextRange]):
(-[WKContentView markedTextStyle]):
(-[WKContentView setMarkedTextStyle:]):
(-[WKContentView setMarkedText:selectedRange:]):
(-[WKContentView unmarkText]):
(-[WKContentView beginningOfDocument]):
(-[WKContentView endOfDocument]):
(-[WKContentView textRangeFromPosition:toPosition:]):
(-[WKContentView positionFromPosition:offset:]):
(-[WKContentView positionFromPosition:inDirection:offset:]):
(-[WKContentView comparePosition:toPosition:]):
(-[WKContentView offsetFromPosition:toPosition:]):
(-[WKContentView tokenizer]):
(-[WKContentView positionWithinRange:farthestInDirection:]):
(-[WKContentView characterRangeByExtendingPosition:inDirection:]):
(-[WKContentView baseWritingDirectionForPosition:inDirection:]):
(-[WKContentView setBaseWritingDirection:forRange:]):
(-[WKContentView firstRectForRange:]):
(-[WKContentView closestPositionToPoint:]):
(-[WKContentView closestPositionToPoint:withinRange:]):
(-[WKContentView characterRangeAtPoint:]):
(-[WKContentView deleteBackward]):
(-[WKContentView insertText:]):
(-[WKContentView hasText]):
(-[WKContentView textInputTraits]):
(-[WKContentView interactionAssistant]):
(-[WKContentView webSelectionAssistant]):
(-[WKContentView selectionRange]):
(-[WKContentView rectForNSRange:]):
(-[WKContentView _markedTextNSRange]):
(-[WKContentView selectedDOMRange]):
(-[WKContentView setSelectedDOMRange:affinityDownstream:]):
(-[WKContentView replaceRangeWithTextWithoutClosingTyping:replacementText:]):
(-[WKContentView rectContainingCaretSelection]):
(-[WKContentView requiresKeyEvents]):
(-[WKContentView handleKeyWebEvent:]):
(-[WKContentView _interpretKeyEvent:isCharEvent:]):
(-[WKContentView setBottomBufferHeight:]):
(-[WKContentView automaticallySelectedOverlay]):
(-[WKContentView selectionGranularity]):
(-[WKContentView insertDictationResult:withCorrectionIdentifier:]):
(-[WKContentView metadataDictionariesForDictationResults]):
(-[WKContentView previousUnperturbedDictationResultBoundaryFromPosition:]):
(-[WKContentView nextUnperturbedDictationResultBoundaryFromPosition:]):
(-[WKContentView moveBackward:]):
(-[WKContentView moveForward:]):
(-[WKContentView characterBeforeCaretSelection]):
(-[WKContentView wordContainingCaretSelection]):
(-[WKContentView wordRangeContainingCaretSelection]):
(-[WKContentView setMarkedText:]):
(-[WKContentView hasContent]):
(-[WKContentView selectAll]):
(-[WKContentView textColorForCaretSelection]):
(-[WKContentView fontForCaretSelection]):
(-[WKContentView hasSelection]):
(-[WKContentView isPosition:atBoundary:inDirection:]):
(-[WKContentView positionFromPosition:toBoundary:inDirection:]):
(-[WKContentView isPosition:withinTextUnit:inDirection:]):
(-[WKContentView rangeEnclosingPosition:withGranularity:inDirection:]):
(-[WKContentView takeTraitsFrom:]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _stopAssistingKeyboard]):
(-[WKContentView _startAssistingNode]):
(-[WKContentView _stopAssistingNode]):
(-[WKContentView _selectionChanged]):
(-[WKContentView shouldIgnoreWebTouch]):
(-[WKContentView isAnyTouchOverActiveArea:]):
(-[WKTextRange _isCaret]):
(-[WKTextRange _isRanged]):
(+[WKTextRange textRangeWithState:isRange:isEditable:startRect:endRect:selectionRects:selectedTextLength:]):
(-[WKTextRange dealloc]):
(-[WKTextRange description]):
(-[WKTextRange start]):
(-[WKTextRange end]):
(-[WKTextRange isEmpty]):
(-[WKTextRange isEqual:]):
(+[WKTextPosition textPositionWithRect:]):
(-[WKTextPosition isEqual:]):
(-[WKTextPosition description]):
(-[WKTextSelectionRect initWithWebRect:]):
(-[WKTextSelectionRect dealloc]):
(+[WKTextSelectionRect textSelectionRectsWithWebRects:]):
(-[WKTextSelectionRect rect]):
(-[WKTextSelectionRect writingDirection]):
(-[WKTextSelectionRect range]):
(-[WKTextSelectionRect containsStart]):
(-[WKTextSelectionRect containsEnd]):
(-[WKTextSelectionRect isVertical]):
(+[WKAutocorrectionRects autocorrectionRectsWithRects:lastRect:]):
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
(-[WKAutocorrectionContext dealloc]):

  • UIProcess/ios/WKContentViewInternal.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
6:02 PM Changeset in webkit [164620] by fpizlo@apple.com
  • 26 edits
    8 adds in trunk

FTL should do polymorphic PutById inlining
https://bugs.webkit.org/show_bug.cgi?id=129210

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and Oliver Hunt.

This makes PutByIdStatus inform us about polymorphic cases by returning an array of
PutByIdVariants. The DFG now has a node called MultiPutByOffset that indicates a
selection of multiple inlined PutByIdVariants.

MultiPutByOffset is almost identical to MultiGetByOffset, which we added in
http://trac.webkit.org/changeset/164207.

This also does some FTL refactoring to make MultiPutByOffset share code with some nodes
that generate similar code.

1% speed-up on V8v7 due to splay improving by 6.8%. Splay does the thing where it
sometimes swaps field insertion order, creating fake polymorphism.

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

(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::dump):

  • bytecode/PutByIdStatus.h:

(JSC::PutByIdStatus::PutByIdStatus):
(JSC::PutByIdStatus::isSimple):
(JSC::PutByIdStatus::numVariants):
(JSC::PutByIdStatus::variants):
(JSC::PutByIdStatus::at):
(JSC::PutByIdStatus::operator[]):

  • bytecode/PutByIdVariant.cpp: Added.

(JSC::PutByIdVariant::dump):
(JSC::PutByIdVariant::dumpInContext):

  • bytecode/PutByIdVariant.h: Added.

(JSC::PutByIdVariant::PutByIdVariant):
(JSC::PutByIdVariant::replace):
(JSC::PutByIdVariant::transition):
(JSC::PutByIdVariant::kind):
(JSC::PutByIdVariant::isSet):
(JSC::PutByIdVariant::operator!):
(JSC::PutByIdVariant::structure):
(JSC::PutByIdVariant::oldStructure):
(JSC::PutByIdVariant::newStructure):
(JSC::PutByIdVariant::structureChain):
(JSC::PutByIdVariant::offset):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::checkStructureElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

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

(JSC::DFG::MultiPutByOffsetData::writesStructures):
(JSC::DFG::MultiPutByOffsetData::reallocatesStorage):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::hasMultiPutByOffsetData):
(JSC::DFG::Node::multiPutByOffsetData):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compilePutStructure):
(JSC::FTL::LowerDFGToLLVM::compileAllocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compileReallocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compileGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compilePutByOffset):
(JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset):
(JSC::FTL::LowerDFGToLLVM::loadProperty):
(JSC::FTL::LowerDFGToLLVM::storeProperty):
(JSC::FTL::LowerDFGToLLVM::addressOfProperty):
(JSC::FTL::LowerDFGToLLVM::storageForTransition):
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::reallocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):

  • tests/stress/fold-multi-put-by-offset-to-put-by-offset.js: Added.
  • tests/stress/multi-put-by-offset-reallocation-butterfly-cse.js: Added.
  • tests/stress/multi-put-by-offset-reallocation-cases.js: Added.

LayoutTests:

Reviewed by Mark Hahnenberg and Oliver Hunt.

Add a microbenchmark for polymorphic PutById.

  • js/regress/polymorphic-put-by-id-expected.txt: Added.
  • js/regress/polymorphic-put-by-id.html: Added.
  • js/regress/script-tests/polymorphic-put-by-id.js: Added.

(foo):

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

WKProcessPool should use secondary processes + network process
https://bugs.webkit.org/show_bug.cgi?id=129282

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool initWithConfiguration:]):

5:41 PM Changeset in webkit [164618] by andersca@apple.com
  • 6 edits
    2 adds in trunk/Source/WebKit

Add WebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=129280

Reviewed by Dan Bernstein.

Source/WebKit:

Add new files.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

This is a first step towards getting rid of page groups in WebCore. The idea is that
everything that is per page group in WebCore will be per page. In order to retain WebKit1 compatibility
WebViewGroup is going to take over more and more responsibility from WebCore::PageGroup.

  • WebCoreSupport/WebViewGroup.h: Added.
  • WebCoreSupport/WebViewGroup.mm: Added.

(webViewGroups):
(WebViewGroup::getOrCreate):
(WebViewGroup::WebViewGroup):
(WebViewGroup::~WebViewGroup):
(WebViewGroup::addWebView):
(WebViewGroup::removeWebView):

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _close]):
(-[WebView setGroupName:]):

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:
4:40 PM Changeset in webkit [164617] by commit-queue@webkit.org
  • 19 edits in trunk/Source

WK2 AVKit fullscreen doesn't display video.
https://bugs.webkit.org/show_bug.cgi?id=128564

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

Source/WebCore:

  • WebCore.exp.in:

Export WebCore::PlatformCALayer::platformCALayer()

  • platform/ios/WebVideoFullscreenInterface.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:

Remove SetVideoLayerID().

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
Wrap make video layer look like an AVAVPlayerLayer with WebAVPlayerLayer

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::setMediaElement):
Pass along the videoLayer before borrowing it so the interface will be ready to
catch the transaction that removes it.

Source/WebKit2:

  • Shared/mac/RemoteLayerTreeTransaction.h:

Add a property to track video layer pending fullscreen.

(WebKit::RemoteLayerTreeTransaction::isVideoLayerIDPendingFullscreen):
(WebKit::RemoteLayerTreeTransaction::addVideoLayerIDPendingFullscreen):
Add a property to track video layer pending fullscreen.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
Encode and decode m_videoLayerIDsPendingFullscreen.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didCommitLayerTree):
Let WebVideoFullscreenManagerProxy see the RemoteLayerTreeTransaction.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.cpp:

(WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
Look for video layer pending fullscreen on the transaction to initiate
fullscreen.

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
Start looking for the video layer pending fullscreen in the transaction.

(WebKit::WebVideoFullscreenManagerProxy::enterFullscreen):
Override to prevent fullscreen from happening before the layer
is pending fullscreen.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:

Pass a more specific videoLayerID in SetVideoLayerID,
i.e. WebCore::GraphicsLayer::PlatformLayerID.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):
Move webPage specific transaction building here, including,
giving WebVideoFullscreenManager a chance to modify the transaction.

  • WebProcess/WebPage/WebPage.h:

Add willCommitLayerTree();

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
Make and break the connection from CALayer to PlatformCALayerRemoteCustom,
the same way it is done for PlatformCALayerMac.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Move WebPage specific transaction building into WebPage::willCommitLayerTree.

  • WebProcess/ios/WebVideoFullscreenManager.cpp:

(WebKit::WebVideoFullscreenManager::willCommitLayerTree):
addVideoLayerIDPendingFullscreen on RemoteLayerTreeTransaction when needed.

(WebKit::WebVideoFullscreenManager::setVideoLayer):
Pass along the video layerID.

  • WebProcess/ios/WebVideoFullscreenManager.h:

Add willCommitLayerTree() and remove setVideoLayerID().
Add a member to retain the unparented PlatformCALayer.

4:29 PM Changeset in webkit [164616] by Samuel White
  • 3 edits
    2 adds in trunk

AX: AccessibilityObject::findMatchingObjects should never include 'this' in results.
https://bugs.webkit.org/show_bug.cgi?id=129243

Reviewed by Chris Fleizach.

Source/WebCore:

Fix removes the container object from the search results when searching backwards. This
makes backwards & forwards search results consistent with each other.

Test: platform/mac/accessibility/search-predicate-container-not-included.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

LayoutTests:

Added test to ensure that the container you are searching in can never be a search result.

  • platform/mac/accessibility/search-predicate-container-not-included-expected.txt: Added.
  • platform/mac/accessibility/search-predicate-container-not-included.html: Added.
4:08 PM Changeset in webkit [164615] by Samuel White
  • 3 edits
    2 adds in trunk

AX: findMatchingObjects backwards start position inconsistent with forwards start position when startObject == nullptr.
https://bugs.webkit.org/show_bug.cgi?id=129266

Reviewed by Chris Fleizach.

Source/WebCore:

When searching forward with no start object, the first thing considered is the first child of
the container. However, when searching backwards with no start object nothing in the container
is considered; this basically negates the search. This patch makes backwards searching without
a start object start from the last child of the container to match forward search expectations.

Test: platform/mac/accessibility/search-predicate-start-not-specified.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

LayoutTests:

Added test to ensure that searching backward & forward without a start object produces similar
results. Backward will begin from the end of the container and forward will begin from the start.

  • platform/mac/accessibility/search-predicate-start-not-specified-expected.txt: Added.
  • platform/mac/accessibility/search-predicate-start-not-specified.html: Added.
3:25 PM Changeset in webkit [164614] by akling@apple.com
  • 15 edits
    5 deletes in trunk/Source/WebCore

Prune dead code for Web Inspector canvas instrumentation.
<https://webkit.org/b/129269>

This was leftover code from Chromium's inspector. It's not used by
today's WebKit inspector.

Reviewed by Timothy Hatcher.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • inspector/InjectedScriptCanvasModule.cpp: Removed.
  • inspector/InjectedScriptCanvasModule.h: Removed.
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorCanvasAgent.cpp: Removed.
  • inspector/InspectorCanvasAgent.h: Removed.
  • inspector/InspectorCanvasInstrumentation.h: Removed.
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::didBeginFrame):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:
3:10 PM Changeset in webkit [164613] by zoltan@webkit.org
  • 5 edits
    2 adds in trunk

[CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides
https://bugs.webkit.org/show_bug.cgi?id=128693

Reviewed by David Hyatt.

Source/WebCore:

When we don't have space next to the floating container, but we have space inside the floating-container next
to the defined shape-outside, we should wrap around the shape-outside. This patch fixes the behavior both for
cases when there is no space to fit at the first line, and for the additional lines cases.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

  • rendering/line/LineWidth.cpp:

(WebCore::availableWidthAtOffset):
(WebCore::LineWidth::updateLineDimension): Added new helper.
(WebCore::isWholeLineFit): Added new helper.
(WebCore::LineWidth::wrapNextToShapeOutside): Added new helper.
(WebCore::LineWidth::fitBelowFloats): Add optional parameter for the function.

  • rendering/line/LineWidth.h:

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html: Added.
2:57 PM Changeset in webkit [164612] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

JSC regressions after r164494
https://bugs.webkit.org/show_bug.cgi?id=129272

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-24
Reviewed by Mark Lam.

  • offlineasm/x86.rb: Only avoid reverse opcode (fdivr) for Windows.
2:48 PM Changeset in webkit [164611] by commit-queue@webkit.org
  • 42 edits
    2 copies in trunk/Source

Create SessionID value-style class for session IDs.
https://bugs.webkit.org/show_bug.cgi?id=129141

Source/WebCore:

Patch by Martin Hock <mhock@apple.com> on 2014-02-24
Reviewed by Brady Eidson.

  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • page/Page.cpp: Add SessionID member.

(WebCore::Page::Page):
(WebCore::Page::sessionID): Retrieve sessionID or use settings if not set.

  • page/Page.h:

(WebCore::Page::setSessionID):

  • page/SessionID.h: Session ID class consisting solely of its uint64_t session ID.

(WebCore::SessionID::SessionID):
(WebCore::SessionID::isValid): Not empty.
(WebCore::SessionID::isEphemeral):
(WebCore::SessionID::sessionID):
(WebCore::SessionID::operator==): Value-based equality.
(WebCore::SessionID::operator!=):
(WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue.
(WebCore::SessionID::defaultSessionID):
(WebCore::SessionID::legacyPrivateSessionID):

  • page/SessionIDHash.h:

(WTF::SessionIDHash::hash): Just the casted session ID (low order bytes)
(WTF::SessionIDHash::equal):
(WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID.
(WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value.
(WTF::HashTraits<WebCore::SessionID>::isDeletedValue):

Source/WebKit2:

The below changes deal solely with mechanical changes to use the SessionID value class instead of uint64_t except where noted.

Patch by Martin Hock <mhock@apple.com> on 2014-02-24
Reviewed by Brady Eidson.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):

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

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensurePrivateBrowsingSession):
(WebKit::NetworkProcess::destroyPrivateBrowsingSession):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:

(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • Shared/SessionTracker.cpp:

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

  • Shared/SessionTracker.h: Move code to SessionID class.
  • Shared/WebCoreArgumentCoders.cpp: Add encode and decode for SessionID.

(IPC::ArgumentCoder<SessionID>::encode):
(IPC::ArgumentCoder<SessionID>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/CookieStorageShim.mm:

(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):

  • UIProcess/APISession.cpp:

(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):
(API::Session::Session):
(API::Session::isEphemeral):
(API::Session::getID):

  • UIProcess/APISession.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebContext::createNewWebProcess):

  • UIProcess/WebContext.h:
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::sessionID):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::loadResourceSynchronously):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
  • WebProcess/WebPage/WebPage.cpp: Move sessionID to Page to allow WebCore to access it.

(WebKit::WebPage::WebPage):
(WebKit::WebPage::sessionID):
(WebKit::WebPage::isUsingEphemeralSession):
(WebKit::WebPage::setSessionID):
(WebKit::WebPage::updatePreferences):

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

(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
2:48 PM Changeset in webkit [164610] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit

[WinCairo] Disable ANGLE build on WinCairo port.

  • WebKit.vcxproj/WebKit.sln:
2:29 PM Changeset in webkit [164609] by commit-queue@webkit.org
  • 28 edits in trunk

[CSS Grid Layout] handle undefined RemainingSpace in computeUsedBreadthOfGridTracks algorithm
https://bugs.webkit.org/show_bug.cgi?id=128372

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-02-24
Reviewed by David Hyatt.

From Blink r165692 by <svillar@igalia.com>

Source/WebCore:

The spec defines a different code path for the computeUsedBreadthOfGridTracks algorithm
http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfGridTracks.

Basically the track breadth is different when the available size is undefined and thus,
cannot be taken into account during the computations.
The available size is undefined whenever the height is auto or the grid element has a
shrink-to-fit behavior.

It was also renamed the function to match the specs so the function name starts with
'compute' instead of 'computed'.

No new tests, but added new cases to some of them.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::gridElementIsShrinkToFit):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::layoutGridItems):

  • rendering/RenderGrid.h:

LayoutTests:

Adapt tests to consider also cases for undefined RemainingSpace.

  • fast/css-grid-layout/flex-and-minmax-content-resolution-rows-expected.txt:
  • fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
  • fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
  • fast/css-grid-layout/flex-content-resolution-rows.html:
  • fast/css-grid-layout/grid-auto-columns-rows-update-expected.txt:
  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-dynamic-updates-relayout-expected.txt:
  • fast/css-grid-layout/grid-dynamic-updates-relayout.html:
  • fast/css-grid-layout/grid-item-addition-track-breadth-update-expected.txt:
  • fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
  • fast/css-grid-layout/grid-item-multiple-minmax-content-resolution-expected.txt:
  • fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
  • fast/css-grid-layout/grid-item-removal-track-breadth-update-expected.txt:
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution-expected.txt:
  • fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
  • fast/css-grid-layout/implicit-position-dynamic-change-expected.txt:
  • fast/css-grid-layout/implicit-position-dynamic-change.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows-expected.txt:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows-expected.txt:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/minmax-spanning-resolution-rows-expected.txt:
  • fast/css-grid-layout/minmax-spanning-resolution-rows.html:
2:21 PM Changeset in webkit [164608] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed pre-emptive build fix.

  • WebCore.vcxproj/WebCoreCommon.props: Add replay directory to include path.
2:14 PM Changeset in webkit [164607] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WTF

Disabled WebGL on WinCairo.

Unreviewed.

  • wtf/FeatureDefines.h:

Removed ENABLE_WEBGL definition for WinCairo port.
WebGL has not worked on WinCairo since r163079
and it was not compiling with a recent ANGLE update.

1:59 PM Changeset in webkit [164606] by beidson@apple.com
  • 9 edits
    1 copy in trunk/Source/WebCore

Break out ImageControls style into an external stylesheet
https://bugs.webkit.org/show_bug.cgi?id=129273

Reviewed by Jer Noble.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • css/CSSDefaultStyleSheets.h:
  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::ImageControlsRootElementMac::maybeCreate):

  • html/shadow/mac/imageControlsMac.css:

(.x-webkit-imagemenu):
(.x-webkit-imagemenu:hover):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::mediaControlsScript):
(WebCore::RenderTheme::imageControlsStyleSheet):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::imageControlsStyleSheet):

1:35 PM Changeset in webkit [164605] by Simon Fraser
  • 1 edit
    2 deletes in trunk/Source/WebKit2

Remove PDFViewController.*, which is unused
https://bugs.webkit.org/show_bug.cgi?id=129270

Reviewed by Tim Horton.

  • UIProcess/mac/PDFViewController.h: Removed.
  • UIProcess/mac/PDFViewController.mm: Removed.
1:15 PM Changeset in webkit [164604] by timothy@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Give non-Mac platforms a default toolbar background so it isn't just white.

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

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded): Style the boby with platform classes.

  • UserInterface/Base/Utilities.js:

(String.prototype.contains): Added.

  • UserInterface/Views/Toolbar.css:

(body.docked .toolbar, body:not(.mac-platform) .toolbar): Added. Default toolbar background.
(body.docked.mac-platform.mavericks .toolbar, body.docked.mac-platform.mountain-lion): Added.
(body.mac-platform:not(.docked) .toolbar .item.button > .label): Only apply to Mac.

1:10 PM Changeset in webkit [164603] by andersca@apple.com
  • 14 edits
    7 copies
    1 move in trunk/Source/WebKit2

Rename WKProcessClass to WKProcessPool
https://bugs.webkit.org/show_bug.cgi?id=129268

Reviewed by Dan Bernstein.

Stage this rename by adding back WKProcessClass and WKProcessClassConfiguration as subclasses of the renamed classes.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • UIProcess/API/Cocoa/WKProcessClass.h:
  • UIProcess/API/Cocoa/WKProcessClass.mm:
  • UIProcess/API/Cocoa/WKProcessClassConfiguration.h:
  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
  • UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKProcessClassPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPool.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.h.
  • UIProcess/API/Cocoa/WKProcessPool.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm.

(-[WKProcessPool init]):
(-[WKProcessPool initWithConfiguration:]):
(-[WKProcessPool dealloc]):
(-[WKProcessPool description]):
(-[WKProcessPool configuration]):
(-[WKProcessPool API::]):
(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]):

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

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

  • UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h.
  • UIProcess/API/Cocoa/WKProcessPoolInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.

(WebKit::wrapper):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

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

(-[WKWebViewConfiguration description]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration processPool]):
(-[WKWebViewConfiguration setProcessPool:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassPrivate.h.

(-[WKWebViewConfiguration setProcessClass:]):
(-[WKWebViewConfiguration processClass]):

  • UIProcess/API/mac/WKView.mm:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):

  • WebKit2.xcodeproj/project.pbxproj:
1:00 PM Changeset in webkit [164602] by thiago.lacerda@openbossa.org
  • 28 edits in trunk

[WebRTC] Validating RTCConfiguration according to the spec
https://bugs.webkit.org/show_bug.cgi?id=129182

Reviewed by Eric Carlson.

Spec states that:

  • iceServers should not be an empty list
  • the entry in the configuration dictionary is "urls", instead of "url"
  • urls can be either a list or a string

Fixing all that in RTCConfiguration validation when creating a RTCPeerConnection

Source/WebCore:

Existing tests were updated.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::appendIceServer): Added.
(WebCore::processIceServer): Added.
(WebCore::RTCPeerConnection::parseConfiguration):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
  • fast/mediastream/RTCPeerConnection-createAnswer.html:
  • fast/mediastream/RTCPeerConnection-createOffer.html:
  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-dtmf.html:
  • fast/mediastream/RTCPeerConnection-events.html:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/RTCPeerConnection-have-local-answer.html:
  • fast/mediastream/RTCPeerConnection-have-local-offer.html:
  • fast/mediastream/RTCPeerConnection-have-local-pranswer.html:
  • fast/mediastream/RTCPeerConnection-have-remote-offer.html:
  • fast/mediastream/RTCPeerConnection-have-remote-pranswer.html:
  • fast/mediastream/RTCPeerConnection-ice-expected.txt:
  • fast/mediastream/RTCPeerConnection-ice.html:
  • fast/mediastream/RTCPeerConnection-localDescription.html:
  • fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:
  • fast/mediastream/RTCPeerConnection-remoteDescription.html:
  • fast/mediastream/RTCPeerConnection-stable.html:
  • fast/mediastream/RTCPeerConnection-state-expected.txt:
  • fast/mediastream/RTCPeerConnection-state.html:
  • fast/mediastream/RTCPeerConnection-stats-expected.txt:
  • fast/mediastream/RTCPeerConnection-stats.html:
  • fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
  • fast/mediastream/RTCPeerConnection-statsSelector.html:
  • fast/mediastream/RTCPeerConnection.html:
12:53 PM Changeset in webkit [164601] by Simon Fraser
  • 2 edits
    10 moves in trunk/Source/WebKit2

Move non-API files out of WebKit2/UIProcess/API/mac
https://bugs.webkit.org/show_bug.cgi?id=129267

Reviewed by Anders Carlsson.

  • UIProcess/mac/FindIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.h.
  • UIProcess/mac/FindIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm.
  • UIProcess/mac/PDFViewController.h: Renamed from Source/WebKit2/UIProcess/API/mac/PDFViewController.h.
  • UIProcess/mac/PDFViewController.mm: Renamed from Source/WebKit2/UIProcess/API/mac/PDFViewController.mm.
  • UIProcess/mac/WKPrintingView.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKPrintingView.h.
  • UIProcess/mac/WKPrintingView.mm: Renamed from Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm.
  • UIProcess/mac/WKTextInputWindowController.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKTextInputWindowController.h.
  • UIProcess/mac/WKTextInputWindowController.mm: Renamed from Source/WebKit2/UIProcess/API/mac/WKTextInputWindowController.mm.
  • WebKit2.xcodeproj/project.pbxproj:
12:51 PM Changeset in webkit [164600] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
https://bugs.webkit.org/show_bug.cgi?id=129254

Reviewed by Antti Koivisto.

Source/WebCore:

The painting of the region's layer should not be aborted so early if the region's fragment shouldn't be painted
because that would prevent all the layer's children from being painted.

Another problem this patch addresses is that clipping should also be performed when the clip rect is empty,
which is what happens when painting in a tile in which the flowed element would normally be painted
if it wasn't clipped by the region.

Test: fast/regions/content-relative-next-tile.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):

LayoutTests:

Added test for the painting across tiles of relative positioned elements flowed into regions.

  • fast/regions/content-relative-next-tile-expected.html: Added.
  • fast/regions/content-relative-next-tile.html: Added.
12:31 PM Changeset in webkit [164599] by Simon Fraser
  • 2 edits
    16 moves in trunk/Source/WebKit2

Move non-API files in the API/ios directory out to UIProcess/ios
https://bugs.webkit.org/show_bug.cgi?id=129264

Reviewed by Anders Carlsson.

  • UIProcess/ios/PageClientImplIOS.h: Renamed from Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h.
  • UIProcess/ios/PageClientImplIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm.
  • UIProcess/ios/WKActionSheet.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKActionSheet.h.
  • UIProcess/ios/WKActionSheet.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKActionSheet.mm.
  • UIProcess/ios/WKContentViewInternal.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKContentViewInternal.h.
  • UIProcess/ios/WKGeolocationProviderIOS.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKGeolocationProviderIOS.h.
  • UIProcess/ios/WKGeolocationProviderIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKGeolocationProviderIOS.mm.
  • UIProcess/ios/WKInteractionView.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKInteractionView.h.
  • UIProcess/ios/WKInteractionView.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKInteractionView.mm.
  • UIProcess/ios/WKScrollView.h: Renamed from Source/WebKit2/UIProcess/API/ios/WKScrollView.h.
  • UIProcess/ios/WKScrollView.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKScrollView.mm.
  • WebKit2.xcodeproj/project.pbxproj:
12:18 PM Changeset in webkit [164598] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Rename PageClientImplIOS::m_view to m_contentView
https://bugs.webkit.org/show_bug.cgi?id=129124

Reviewed by Benjamin Poulain.

Simple rename of m_view to m_contentView in preparation for
also holding onto the WKView.

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

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::createDrawingAreaProxy):
(WebKit::PageClientImpl::viewSize):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::processDidExit):
(WebKit::PageClientImpl::didRelaunchProcess):
(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::interpretKeyEvent):
(WebKit::PageClientImpl::positionInformationDidChange):
(WebKit::PageClientImpl::selectionDidChange):
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
(WebKit::PageClientImpl::takeViewSnapshot):
(WebKit::PageClientImpl::didGetTapHighlightGeometries):
(WebKit::PageClientImpl::didCommitLayerTree):
(WebKit::PageClientImpl::startAssistingNode):
(WebKit::PageClientImpl::stopAssistingNode):

11:43 AM Changeset in webkit [164597] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r164438): [GTK] Tests /webkit2/WebKitWebView/tls-errors-policy and /webkit2/WebKitWebContext/uri-scheme fail
https://bugs.webkit.org/show_bug.cgi?id=129252

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-02-24
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitPrivate.cpp: Manage error values generated by the user application and not present in WebCore

(toWebKitError):
(toWebCoreError):

11:23 AM Changeset in webkit [164596] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

REGRESSION(r164438): [GTK] Tests /WebKitGtk/testcontextmenu, /WebKitGtk/testmimehandling, /WebKitGtk/testloading assert in Debug build
https://bugs.webkit.org/show_bug.cgi?id=129256

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-02-24
Reviewed by Carlos Garcia Campos.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: Manage error values not present in WebCore

(WebKit::toWebKitNetworkError):

11:13 AM Changeset in webkit [164595] by mitz@apple.com
  • 2 edits in trunk/Tools

iOS build fix after r164577.

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::selectedChildrenCount):
(AccessibilityUIElement::selectedChildAtIndex):

11:05 AM Changeset in webkit [164594] by commit-queue@webkit.org
  • 45 edits in trunk/Source

Get rid of the unused 'immediate' parameters from repaint related functions
https://bugs.webkit.org/show_bug.cgi?id=129111

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-24
Reviewed by Simon Fraser.

Removing the 'immediate' parameters from repaint related functions - accoring
to the FIXME in RenderView::repaintViewRectangle() - since they have no effect.

Source/WebCore:

No new tests are necessary because there is no behavior change

  • dom/Element.cpp:

(WebCore::Element::setActive):

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::invalidateRootView):
(WebCore::Chrome::invalidateContentsAndRootView):
(WebCore::Chrome::invalidateContentsForSlowScroll):

  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/Frame.cpp:

(WebCore::Frame::tiledBackingStorePaintEnd):

  • page/FrameView.cpp:

(WebCore::FrameView::invalidateRect):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::shouldUpdate):

  • page/FrameView.h:
  • platform/HostWindow.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::scrollContentsSlowPath):
(WebCore::ScrollView::repaintContentRectangle):
(WebCore::ScrollView::updateOverhangAreas):
(WebCore::ScrollView::addPanScrollIcon):
(WebCore::ScrollView::removePanScrollIcon):
(WebCore::ScrollView::platformRepaintContentRectangle):

  • platform/ScrollView.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::repaintLayerRectsForImage):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::repaintRectangleInRegions):

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):

  • rendering/RenderLayer.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintSlowRepaintObject):

  • rendering/RenderObject.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):

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

(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::flushAccumulatedRepaintRegion):
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):

  • rendering/RenderView.h:
  • svg/graphics/SVGImageChromeClient.h:

Source/WebKit/efl:

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::invalidateContents):
(WebCore::ChromeClientEfl::invalidateRootView):
(WebCore::ChromeClientEfl::invalidateContentsAndRootView):
(WebCore::ChromeClientEfl::invalidateContentsForSlowScroll):

  • WebCoreSupport/ChromeClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::invalidateRootView):
(WebKit::ChromeClient::invalidateContentsAndRootView):
(WebKit::ChromeClient::invalidateContentsForSlowScroll):

  • WebCoreSupport/ChromeClientGtk.h:

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::invalidateRootView):
(WebChromeClient::invalidateContentsAndRootView):
(WebChromeClient::invalidateContentsForSlowScroll):

  • WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince:

  • WebCoreSupport/ChromeClientWinCE.cpp:

(WebKit::ChromeClientWinCE::invalidateRootView):
(WebKit::ChromeClientWinCE::invalidateContentsAndRootView):
(WebKit::ChromeClientWinCE::invalidateContentsForSlowScroll):
(WebKit::ChromeClientWinCE::scroll):

  • WebCoreSupport/ChromeClientWinCE.h:
10:49 AM Changeset in webkit [164593] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/16059894> Update AppleConnect sandbox profile for XPC process names.

Patch by Ivan Krstić, reviewed and landed by me.

  • Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
10:34 AM Changeset in webkit [164592] by krit@webkit.org
  • 2 edits
    6 moves
    30 adds
    20 deletes in trunk/LayoutTests

Transform more clip-path pixel tests to reference tests
https://bugs.webkit.org/show_bug.cgi?id=129230

Reviewed by Andreas Kling.

  • svg/clip-path/clip-path-content-use-007-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-007.svg: Added.
  • svg/clip-path/clip-path-css-transform-003-expected.svg: Added.
  • svg/clip-path/clip-path-css-transform-003.svg: Added.
  • svg/clip-path/clip-path-css-transform-004-expected.svg: Added.
  • svg/clip-path/clip-path-css-transform-004.svg: Added.
  • svg/clip-path/clip-path-document-change-assert-expected.txt: Renamed from LayoutTests/svg/custom/clip-path-document-change-assert-expected.txt.
  • svg/clip-path/clip-path-document-change-assert.html: Renamed from LayoutTests/svg/custom/clip-path-document-change-assert.html.
  • svg/clip-path/clip-path-dom-child-changes-expected.svg: Added.
  • svg/clip-path/clip-path-dom-child-changes.svg: Added.
  • svg/clip-path/clip-path-dom-clippathunits-expected.svg: Added.
  • svg/clip-path/clip-path-dom-clippathunits.svg: Added.
  • svg/clip-path/clip-path-dom-href-expected.svg: Added.
  • svg/clip-path/clip-path-dom-href.svg: Added.
  • svg/clip-path/clip-path-dom-id-expected.svg: Added.
  • svg/clip-path/clip-path-dom-id.svg: Added.
  • svg/clip-path/clip-path-negative-scale-expected.svg: Added.
  • svg/clip-path/clip-path-negative-scale.svg: Added.
  • svg/clip-path/clip-path-no-content-004-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-004.svg: Added.
  • svg/clip-path/clip-path-on-marker-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-marker-001.svg: Added.
  • svg/clip-path/clip-path-on-marker-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-marker-002.svg: Added.
  • svg/clip-path/clip-path-on-marker-003-expected.svg: Added.
  • svg/clip-path/clip-path-on-marker-003.svg: Added.
  • svg/clip-path/clip-path-recursion-001-expected.svg: Renamed from LayoutTests/svg/custom/circular-clip-path-references-crash-expected.svg.
  • svg/clip-path/clip-path-recursion-001.svg: Renamed from LayoutTests/svg/custom/circular-clip-path-references-crash.svg.
  • svg/clip-path/clip-path-recursion-002-expected.svg: Added.
  • svg/clip-path/clip-path-recursion-002.svg: Added.
  • svg/clip-path/clip-path-shape-stroke-expected.svg:
  • svg/clip-path/clip-path-with-transform-expected.svg: Added.
  • svg/clip-path/clip-path-with-transform.svg: Added.
  • svg/clip-path/mask-nested-clip-path-010-expected.svg: Renamed from LayoutTests/svg/custom/clamped-masking-clipping-expected.svg.
  • svg/clip-path/mask-nested-clip-path-010.svg: Renamed from LayoutTests/svg/custom/clamped-masking-clipping.svg.
  • svg/custom/clip-mask-negative-scale-expected.txt: Removed.
  • svg/custom/clip-mask-negative-scale.svg: Removed.
  • svg/custom/clip-path-child-changes-expected.txt: Removed.
  • svg/custom/clip-path-child-changes.svg: Removed.
  • svg/custom/clip-path-href-changes-expected.txt: Removed.
  • svg/custom/clip-path-href-changes.svg: Removed.
  • svg/custom/clip-path-id-changes-expected.txt: Removed.
  • svg/custom/clip-path-id-changes.svg: Removed.
  • svg/custom/clip-path-referencing-use.svg: Removed.
  • svg/custom/clip-path-referencing-use2.svg: Removed.
  • svg/custom/clip-path-units-changes-expected.txt: Removed.
  • svg/custom/clip-path-units-changes.svg: Removed.
  • svg/custom/clip-path-with-css-transform-1-expected.txt: Removed.
  • svg/custom/clip-path-with-css-transform-1.svg: Removed.
  • svg/custom/clip-path-with-css-transform-2-expected.txt: Removed.
  • svg/custom/clip-path-with-css-transform-2.svg: Removed.
  • svg/custom/clip-path-with-transform-expected.txt: Removed.
  • svg/custom/clip-path-with-transform.svg: Removed.
  • svg/custom/empty-clip-path.svg: Removed.
  • svg/custom/recursive-clippath.svg: Removed.
  • svg/masking/mask-negative-scale.svg: Added.
  • svg/masking/mast-negative-scale-expected.svg: Added.
10:32 AM Changeset in webkit [164591] by krit@webkit.org
  • 1 edit
    36 deletes in trunk/LayoutTests

Transform more clip-path pixel tests to reference tests
https://bugs.webkit.org/show_bug.cgi?id=129230

Reviewed by Andreas Kling.

Remove unnecessary pixel test results.

  • platform/efl/svg/custom/clip-mask-negative-scale-expected.png: Removed.
  • platform/gtk/svg/custom/clip-mask-negative-scale-expected.png: Removed.
  • platform/gtk/svg/custom/clip-mask-negative-scale-expected.txt: Removed.
  • platform/gtk/svg/custom/clip-path-child-changes-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-href-changes-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-id-changes-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-referencing-use-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-referencing-use-expected.txt: Removed.
  • platform/gtk/svg/custom/clip-path-referencing-use2-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-referencing-use2-expected.txt: Removed.
  • platform/gtk/svg/custom/clip-path-units-changes-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-with-css-transform-1-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-with-css-transform-2-expected.png: Removed.
  • platform/gtk/svg/custom/clip-path-with-transform-expected.png: Removed.
  • platform/gtk/svg/custom/empty-clip-path-expected.png: Removed.
  • platform/gtk/svg/custom/empty-clip-path-expected.txt: Removed.
  • platform/gtk/svg/custom/recursive-clippath-expected.png: Removed.
  • platform/gtk/svg/custom/recursive-clippath-expected.txt: Removed.
  • platform/mac/svg/custom/clip-mask-negative-scale-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-child-changes-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-display-none-child-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-display-none-child-expected.txt: Removed.
  • platform/mac/svg/custom/clip-path-href-changes-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-id-changes-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-referencing-use-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-referencing-use-expected.txt: Removed.
  • platform/mac/svg/custom/clip-path-referencing-use2-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-referencing-use2-expected.txt: Removed.
  • platform/mac/svg/custom/clip-path-units-changes-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-with-css-transform-1-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-with-css-transform-2-expected.png: Removed.
  • platform/mac/svg/custom/clip-path-with-transform-expected.png: Removed.
  • platform/mac/svg/custom/empty-clip-path-expected.png: Removed.
  • platform/mac/svg/custom/empty-clip-path-expected.txt: Removed.
  • platform/mac/svg/custom/recursive-clippath-expected.png: Removed.
  • platform/mac/svg/custom/recursive-clippath-expected.txt: Removed.
10:15 AM Changeset in webkit [164590] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Turn GenGC on for 32-bit systems
https://bugs.webkit.org/show_bug.cgi?id=128824

Reviewed by Geoffrey Garen.

  • wtf/Platform.h:
9:07 AM Changeset in webkit [164589] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[ASan] Remove methods from ignore list that no longer cause crashes
<http://webkit.org/b/129257>

Reviewed by Anders Carlsson.

  • asan/webkit-asan-ignore.txt: Remove old methods.
9:05 AM Changeset in webkit [164588] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove single quote characters from Web Inspector JavaScript files
https://bugs.webkit.org/show_bug.cgi?id=129253

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-24
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.openURL):

  • UserInterface/Views/CookieStorageContentView.js:

(WebInspector.cookieDomainMatchesResourceDomain):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
(WebInspector.DOMTreeElement.prototype._startEditingTagName.editingComitted):
(WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
(WebInspector.DOMTreeElement.prototype._startEditingTagName):

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype._ondragover):

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.addPlaceholderNode):

7:52 AM Changeset in webkit [164587] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Code cleanup: remove leftover ENABLE(WORKERS) macros and support.
https://bugs.webkit.org/show_bug.cgi?id=129255

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-24
Reviewed by Csaba Osztrogonác.

Source/JavaScriptCore:

ENABLE_WORKERS macro was removed in r159679.
Support is now also removed from xcconfig files.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

ENABLE_WORKERS macro was removed in r159679, but r161589 added back some occurrences.
Support is now also removed from xcconfig files.

No new tests needed.

  • Configurations/FeatureDefines.xcconfig:
  • platform/ThreadGlobalData.cpp:
  • platform/ThreadGlobalData.h:
  • platform/Timer.h:

(WebCore::TimerBase::isActive):

  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):
(StartWebThread):

Source/WebKit/mac:

ENABLE_WORKERS macro was removed in r159679.
Support is now also removed from xcconfig files.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

ENABLE_WORKERS macro was removed in r159679.
Support is now also removed from xcconfig files.

  • Configurations/FeatureDefines.xcconfig:
7:47 AM Changeset in webkit [164586] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[CMake] Get rid of "FIXME: The Blackberry port ..." from WebCore/CmakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=129152

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

  • CMakeLists.txt:
7:45 AM Changeset in webkit [164585] by commit-queue@webkit.org
  • 9 edits
    1 add
    1 delete in trunk/Tools

Extract common parts from jhbuildrc files.
https://bugs.webkit.org/show_bug.cgi?id=125986

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

Co-authored with Peter Szanka <h868064@stud.u-szeged.hu>.

  • Scripts/run-gtk-tests:

(TestRunner._setup_testing_environment):

  • efl/common.py: Removed.
  • efl/jhbuildrc:
  • gtk/check-gdom-symbols:
  • gtk/common.py:

(binary_build_path):
(get_build_path):

  • gtk/find-make-dist-errors:

(get_missing_headers):

  • gtk/generate-gtkdoc:

(get_webkit2_options):
(get_webkit1_options.src_path):
(get_webkit1_options):
(get_webkitdom_options.src_path):
(get_webkitdom_options):

  • gtk/generate-inspector-gresource-manifest.py:
  • gtk/jhbuildrc:
  • jhbuild/jhbuildrc_common.py: Added.

(script_path):
(top_level_path):
(init):

7:42 AM WebKitGTK/2.4.x edited by desrt@desrt.ca
add a patch for backport (diff)
7:24 AM Changeset in webkit [164584] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Wrong active context when destroying GL objects.
https://bugs.webkit.org/show_bug.cgi?id=129244

Patch by Iago Toral Quiroga <itoral@igalia.com> on 2014-02-24
Reviewed by Martin Robinson.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::invalidate): make context current before destroying GL objects.

7:06 AM Changeset in webkit [164583] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

Remove unused error.h header.
https://bugs.webkit.org/show_bug.cgi?id=126774

Patch by Koop Mast <kwm@FreeBSD.org> on 2014-02-24
Reviewed by Anders Carlsson.

This header doesn't exists on FreeBSD. According to
https://www.gnu.org/software/gnulib/manual/html_node/error_002eh.html
the function that this header implements are not present in the file.
So there isn't any need for this header.

  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:
7:03 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:19 AM Changeset in webkit [164582] by Manuel Rego Casasnovas
  • 2 edits in trunk/Tools

Unreviewed. Fix code indentation and spacing.

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-24

  • Scripts/webkitpy/style/checkers/js.py:

(SingleQuoteChecker.check):

3:24 AM Changeset in webkit [164581] by ddkilzer@apple.com
  • 8 edits in trunk/Source

Remove redundant setting in FeatureDefines.xcconfig

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
3:14 AM Changeset in webkit [164580] by ddkilzer@apple.com
  • 4 edits in trunk/Source/ThirdParty/ANGLE

ANGLE: Stop using unsafe strcpy method
<http://webkit.org/b/129237>
<rdar://problem/11077580>

Reviewed by Dean Jackson.

  • include/GLSLANG/ShaderLang.h:
  • Drive-by fix for header documentation.
  • src/compiler/translator/ShaderLang.cpp:

(ShGetInfoLog):
(ShGetObjectCode):

  • src/libGLESv2/Program.cpp:

(gl::InfoLog::append):

  • Switch to use strncpy(), and explicitly set NULL terminator at the end of the buffer.
2:02 AM Changeset in webkit [164579] by commit-queue@webkit.org
  • 5 edits
    9 adds in trunk

[CSS Blending] An element having -webkit-mix-blend-mode should only blend with the contents of the parent stacking context
https://bugs.webkit.org/show_bug.cgi?id=129154

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

Source/WebCore:

The blending operation of an element having -webkit-mix-blend-mode should be restricted to the parent stacking context.
This change isolates blending, preventing it from blending with other underlying elements besides the parent stacking context.

Tests: css3/compositing/blend-mode-isolated-group-1.html

css3/compositing/blend-mode-isolated-group-2.html
css3/compositing/blend-mode-isolated-group-3.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer): Initialize added members to false.
(WebCore::RenderLayer::updateBlendMode): Check if a blend mode was set or unset. If so, set the m_updateParentStackingContextShouldIsolateBlendingDirty to true.
(WebCore::RenderLayer::updateParentStackingContextShouldIsolateBlending): Traverse to the parent stacking context and update the
m_isolatesBlending member accordingly.

  • rendering/RenderLayer.h:
  • Add isolatesBlending() as a condition for creating a transparency layer in the paintsWithTransparency method.
  • Add m_updateParentStackingContextShouldIsolateBlendingDirty member.
  • Add m_isolatesBlending member and getter.
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements): Call updateParentStackingContextShouldIsolateBlending.

LayoutTests:

Test that isolation is performed for blending, in other words, an element having -webkit-mix-blend-mode is blending with the
contents of the parent stacking context, but not with any of the underlying content.

  • css3/compositing/blend-mode-isolated-group-1.html: Added.
  • css3/compositing/blend-mode-isolated-group-2.html: Added.
  • css3/compositing/blend-mode-isolated-group-3.html: Added.
  • platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.txt: Added.
1:31 AM Changeset in webkit [164578] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Remove unneeded method webkitWebViewBaseRequestExitFullScreen
https://bugs.webkit.org/show_bug.cgi?id=129245

Reviewed by Sergio Villar Senin.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent): Call FullscreenManager::requestExitFullScreen() directly.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1:31 AM Changeset in webkit [164577] by k.czech@samsung.com
  • 13 edits
    2 adds in trunk

[ATK] Wrong selected element at a given index in a list box.
https://bugs.webkit.org/show_bug.cgi?id=129039

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/select-element-at-index.html

The selected element at a given index was wrong. One should be considered among the
all children of a list box, not only selected ones.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

(core):
(listObjectForSelection):
(optionFromList):
(optionFromSelection):
(webkitAccessibleSelectionRefSelection):

Tools:

Added missing implementation and proposed some new function for testing selection
in a list boxes.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(setSelectedChildAtIndexCallback):
(removeSelectionAtIndexCallback):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::selectedChildrenCount):
(AccessibilityUIElement::selectedChildAtIndex):
(AccessibilityUIElement::setSelectedChildAtIndex):
(AccessibilityUIElement::removeSelectionAtIndex):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::selectedChildrenCount):
(AccessibilityUIElement::selectedChildAtIndex):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::setSelectedChildAtIndex):
(WTR::AccessibilityUIElement::removeSelectionAtIndex):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedChildrenCount):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex):
(WTR::AccessibilityUIElement::removeSelectionAtIndex):

LayoutTests:

Proposed test that checks whether correct element at a given index is retrieved.
Also testing some other scenarios such as removing selection from rows, counting all
selected rows and setting selection.

  • accessibility/select-element-at-index-expected.txt: Added.
  • accessibility/select-element-at-index.html: Added.
  • platform/mac/TestExpectations: Skipping test in Mac, missing implementation.

Feb 23, 2014:

9:29 PM Changeset in webkit [164576] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

<rdar://problem/16144508> [iOS] Some definitions of INSTALL_PATH don’t account for INSTALL_PATH_PREFIX
https://bugs.webkit.org/show_bug.cgi?id=129241

Reviewed by Mark Rowe.

  • Configurations/Base.xcconfig: Define INSTALL_PATH here in terms of INSTALL_PATH_ACTUAL.
  • Configurations/BaseLegacyProcess.xcconfig: Define only INSTALL_PATH_ACTUAL.
  • Configurations/BaseTarget.xcconfig: Simplify the definition of

NORMAL_WEBKIT2_FRAMEWORKS_DIR, now that it shouldn’t include SDKROOT for the Simulator.

  • Configurations/BaseXPCService.xcconfig: Define only INSTALL_PATH_ACTUAL.
  • Configurations/WebKit2.xcconfig: Ditto.
6:24 PM Changeset in webkit [164575] by Brent Fulgham
  • 11 edits in trunk/Source/ThirdParty/ANGLE

[WinCairo] Unreviewed build fix after r164565.

  • ANGLE.vcxproj/libEGL.vcxproj: Use correct path to files.
  • ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
  • ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
  • ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
  • ANGLE.vcxproj/translator_common.vcxproj: Ditto.
  • ANGLE.vcxproj/translator_common.vcxproj.filters: Ditto.
  • ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
  • ANGLE.vcxproj/translator_glsl.vcxproj.filters: Ditto.
  • ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
  • ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Ditto.
6:11 PM Changeset in webkit [164574] by dino@apple.com
  • 4 edits in trunk

[WebGL] Allow ANGLE to initialize unused varyings
https://bugs.webkit.org/show_bug.cgi?id=129240
<rdar://problem/15203342>

Reviewed by Sam Weinig.

Source/WebCore:

Covered by: conformance/glsl/misc/shaders-with-varyings.html

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
Add SH_INIT_VARYINGS_WITHOUT_STATIC_USE to compiler flags.

LayoutTests:

Unskip conformance/glsl/misc/shaders-with-varyings.html.

  • platform/mac/TestExpectations:
6:01 PM Changeset in webkit [164573] by weinig@apple.com
  • 8 edits in trunk/Source

Update FeatureDefines.xcconfig

Rubber-stamped by Anders Carlsson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
5:59 PM Changeset in webkit [164572] by dino@apple.com
  • 4 edits in trunk/Source

Sort the project file with sort-Xcode-project-file.

Rubber-stamped by Sam Weinig.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
5:54 PM Changeset in webkit [164571] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

[WebKit2] Add C-SPI to enable/disable telephone number detection
https://bugs.webkit.org/show_bug.cgi?id=129239

Reviewed by Dean Jackson.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetTelephoneNumberParsingEnabled):
(WKPreferencesGetTelephoneNumberParsingEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
5:43 PM Changeset in webkit [164570] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Fix incorrectly commented out code.

  • platform/TelephoneNumberDetector.h:
5:35 PM Changeset in webkit [164569] by weinig@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

Extract platform specific parts of telephone number detection
https://bugs.webkit.org/show_bug.cgi?id=129238

Reviewed by Dean Jackson.

  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):

  • platform/TelephoneNumberDetector.h: Added.
  • platform/cocoa/TelephoneNumberDetectorCocoa.cpp: Added.

(WebCore::TelephoneNumberDetector::phoneNumbersScanner):
(WebCore::TelephoneNumberDetector::isSupported):
(WebCore::TelephoneNumberDetector::find):
Move code to TelephoneNumberDetector.

5:23 PM Changeset in webkit [164568] by gyuyoung.kim@samsung.com
  • 11 edits in trunk/Source

Change a url parameter type with URL in NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=129202

Reviewed by Sam Weinig.

It would be good if we use *URL* for url parameters instead of using String.

Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.

Source/WebCore:

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::verifyCustomHandlerURL):
(WebCore::NavigatorContentUtils::registerProtocolHandler):
(WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
(WebCore::NavigatorContentUtils::unregisterProtocolHandler):

  • Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:

Source/WebKit/efl:

  • WebCoreSupport/NavigatorContentUtilsClientEfl.cpp:

(WebCore::NavigatorContentUtilsClientEfl::registerProtocolHandler):
(WebCore::NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered):
(WebCore::NavigatorContentUtilsClientEfl::unregisterProtocolHandler):

  • WebCoreSupport/NavigatorContentUtilsClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/NavigatorContentUtilsClientGtk.cpp:

(WebKit::NavigatorContentUtilsClient::registerProtocolHandler):

  • WebCoreSupport/NavigatorContentUtilsClientGtk.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:

(WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
(WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):

4:58 PM Changeset in webkit [164567] by dino@apple.com
  • 1 edit
    197 adds in trunk/Source/ThirdParty/ANGLE

Missing files from previous commit.

4:51 PM Changeset in webkit [164566] by mitz@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Removed -Wno-format-y2k from WARNING_CFLAGS

Rubber-stamped by Sam Weinig.

  • Configurations/Base.xcconfig:
4:43 PM Changeset in webkit [164565] by dino@apple.com
  • 51 edits
    192 deletes in trunk/Source

Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
https://bugs.webkit.org/show_bug.cgi?id=129232

Reviewed by Brent Fulgham.

Source/ThirdParty/ANGLE:

I also reapplied some of our changes from previous updates, including disabling the clang deprecation
warnings in some files, adding the Apple note about license and defining YY_NO_INPUT.

Huge list of source changes omitted.

Source/WebCore:

New files added, derived sources compiled directly, and generated
steps removed for both EFL and GTK, with much-needed help from
Sergio Correia.

  • CMakeLists.txt:
  • GNUMakefile.am:
3:43 PM Changeset in webkit [164564] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Move RenderMathMLMenclose.h/cpp to the right place in the Xcode project and sort.

Rubber-stamped by Anders Carlsson.

  • WebCore.xcodeproj/project.pbxproj:
3:37 PM Changeset in webkit [164563] by weinig@apple.com
  • 14 edits in trunk/Source

Move telephone number detection behind its own ENABLE macro
https://bugs.webkit.org/show_bug.cgi?id=129236

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_TELEPHONE_NUMBER_DETECTION.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_TELEPHONE_NUMBER_DETECTION.

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:
  • html/parser/HTMLConstructionSite.h:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):

  • html/parser/HTMLTreeBuilder.h:

Use ENABLE(TELEPHONE_NUMBER_DETECTION).

  • platform/mac/SoftLinking.h:

Remove PLATOFORM(IOS) from SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL, it is not iOS specific.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_TELEPHONE_NUMBER_DETECTION.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_TELEPHONE_NUMBER_DETECTION.

2:44 PM Changeset in webkit [164562] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Fix build after Web Inspector code reorganization (r164543)
https://bugs.webkit.org/show_bug.cgi?id=129231

Patch by Diego Pino García <Diego Pino Garcia> on 2014-02-23
Reviewed by Dean Jackson.

Source/WebInspectorUI:

  • GNUmakefile.am:

Modify paths to Web Inspector code.

Source/WebKit2:

  • PlatformGTK.cmake:

Modify paths to Web Inspector code.

Tools:

  • gtk/generate-inspector-gresource-manifest.py:

Modify paths to Web Inspector code.

1:43 PM Changeset in webkit [164561] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color picker sliders aren't laid out correctly
https://bugs.webkit.org/show_bug.cgi?id=129234

Reviewed by Joseph Pecoraro.

While it's unclear to me what happened, the "position" property for the color picker sliders
wasn't being computed as expected and used relative positioning. I assume this is related to
r164543 when the order of CSS files changed.

  • UserInterface/Views/Slider.css:

(.slider):

1:41 PM Changeset in webkit [164560] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] generate-gtkdoc should use argparse
https://bugs.webkit.org/show_bug.cgi?id=128418

Reviewed by Carlos Garcia Campos.

  • gtk/generate-gtkdoc: Get all arguments from argparse, pass then as parameters

to all functions, and guard the main routine with a name == main check.

1:39 PM Changeset in webkit [164559] by Martin Robinson
  • 2 edits in trunk/Tools

[GTK][CMake] Many plugin tests fail when running WebKit1 layout tests
https://bugs.webkit.org/show_bug.cgi?id=129191

Reviewed by Anders Carlsson.

  • DumpRenderTree/PlatformGTK.cmake: Properly specify the library build directory

for the GTK+ DumpRenderTree build. We could manually construct this path, but the
name of the directory is "lib" and not "libs". Instead we should use the CMake
variable specifically assigned to this task.

10:48 AM Changeset in webkit [164558] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Refine DFG+FTL inlining and compilation limits
https://bugs.webkit.org/show_bug.cgi?id=129212

Reviewed by Mark Hahnenberg.

Allow larger functions to be DFG-compiled. Institute a limit on FTL compilation,
and set that limit quite high. Institute a limit on inlining-into. The idea here is
that large functions tend to be autogenerated, and code generators like emscripten
appear to leave few inlining opportunities anyway. Also, we don't want the code
size explosion that we would risk if we allowed compilation of a large function and
then inlined a ton of stuff into it.

This is a 0.5% speed-up on Octane v2 and almost eliminates the typescript
regression. This is a 9% speed-up on AsmBench.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::noticeIncomingCall):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleInlining):

  • dfg/DFGCapabilities.h:

(JSC::DFG::isSmallEnoughToInlineCodeInto):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLState.h:

(JSC::FTL::shouldShowDisassembly):

  • runtime/Options.h:
10:06 AM Changeset in webkit [164557] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[ASan] Add JSC::DFG::prepareOSREntry() to ignore list
<http://webkit.org/b/129209>

Reviewed by Geoffrey Garen.

  • asan/webkit-asan-ignore.txt: Add DFG::prepareOSREntry() to the

ignore list to make ASan builds usable again. Follow-up
investigation is tracked by <rdar://problem/16055903>.

8:25 AM Changeset in webkit [164556] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Subpixel rendering: Fix bleed avoidance subpixel calculation.
https://bugs.webkit.org/show_bug.cgi?id=129225

Reviewed by Simon Fraser.

static_cast<LayoutUnit>(int value) only produces the desired result when subpixel is off.

Currently not testable.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
(WebCore::shrinkRectByOneDevicePixel):
(WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
8:22 AM Changeset in webkit [164555] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering: Add devicepixel based computation to BorderEdge class.
https://bugs.webkit.org/show_bug.cgi?id=129224

Reviewed by Simon Fraser.

To produce correct width (and type) results, BorderEdge class needs to take device pixel ratio into account.

Currently not testable.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::obscuresBackgroundEdge):
(WebCore::BorderEdge::getDoubleBorderStripeWidths): this does not always produce the same
result as before, but the sum of inner and outer is not different.
(WebCore::BorderEdge::borderWidthInDevicePixel):
(WebCore::RenderBoxModelObject::getBorderEdgeInfo):

6:30 AM UpdatingANGLE edited by dino@apple.com
(diff)

Feb 22, 2014:

9:44 PM Changeset in webkit [164554] by mitz@apple.com
  • 25 edits in trunk/Source

REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
https://bugs.webkit.org/show_bug.cgi?id=129227

Reviewed by Eric Carlson.

Reverted r164507.

Source/JavaScriptCore:

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSValue.mm:

(valueToArray):
(valueToDictionary):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/ConsoleMessage.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/ScriptCallStack.cpp:
  • inspector/ScriptCallStack.h:
  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
(Inspector::createScriptCallStackFromException):

  • inspector/ScriptCallStackFactory.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):

  • page/Console.cpp:

(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):

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

Remove some unreachable code (-Wunreachable-code)
https://bugs.webkit.org/show_bug.cgi?id=129220

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-22
Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • API/tests/testapi.c:

(EvilExceptionObject_convertToType):

  • disassembler/udis86/udis86_decode.c:

(decode_operand):

Source/WebCore:

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndTag):
The only tricky case. Here there was a break inside the
#if, but not the #else, and a break after the #endif.
Remove the break inside the #if, and always use the
break after the #endif.

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::modeToString):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::functionForUniform):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:

(WebKit::toAPI):

3:59 PM Changeset in webkit [164552] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Letterpress effect disabled for synthetic italic
https://bugs.webkit.org/show_bug.cgi?id=129218
<rdar://problem/15997846>

Reviewed by Dan Bernstein.

There was no need to guard against synthetic italics and letterpress.

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::drawGlyphs): Remove !useLetterpressEffect from conditional.

3:56 PM Changeset in webkit [164551] by weinig@apple.com
  • 10 edits in trunk/Source

Expose phase and momentum phase as SPI on DOMWheelEvent
<rdar://problem/16110871>
https://bugs.webkit.org/show_bug.cgi?id=129184

Reviewed by Anders Carlsson.

../WebCore:

  • WebCore.exp.in:

Export core(DOMWheelEvent).

  • WebCore.xcodeproj/project.pbxproj:

Make DOMWheelEventInternal.h available in WebKit.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

  • dom/WheelEvent.cpp:

(WebCore::determineDeltaMode):
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
(WebCore::WheelEvent::initWebKitWheelEvent):
Move PlatformWheelEvent -> DOMWheelEvent conversion to DOMWheelEvent.

  • dom/WheelEvent.h:

(WebCore::WheelEvent::create):
(WebCore::WheelEvent::phase):
(WebCore::WheelEvent::momentumPhase):
Store phase and momentumPhase on the WheelEvent.

../WebKit/mac:

  • DOM/WebDOMOperations.mm:

(toNSEventPhase):
(-[DOMWheelEvent _phase]):
(-[DOMWheelEvent _momentumPhase]):

  • DOM/WebDOMOperationsPrivate.h:

Expose _phase and _momentumPhase as SPI.

  • MigrateHeaders.make:

Make DOMWheelEventInternal.h to WebKit.

2:39 PM Changeset in webkit [164550] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] WKUIDelegate.h is a project header
https://bugs.webkit.org/show_bug.cgi?id=129215

Reviewed by Anders Carlsson.

  • WebKit2.xcodeproj/project.pbxproj: Make it a public header.
12:03 PM Changeset in webkit [164549] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, ARMv7 build fix.

  • assembler/ARMv7Assembler.h:
11:55 AM Changeset in webkit [164548] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

It should be possible for a LinkBuffer to outlive the MacroAssembler and still be useful
https://bugs.webkit.org/show_bug.cgi?id=124733

Reviewed by Oliver Hunt.

This also takes the opportunity to de-duplicate some branch compaction code.

  • assembler/ARM64Assembler.h:
  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::buffer):

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerBuffer::AssemblerBuffer):
(JSC::AssemblerBuffer::storage):
(JSC::AssemblerBuffer::grow):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::executableOffsetFor):
(JSC::LinkBuffer::applyOffset):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::link):

  • assembler/MacroAssemblerARMv7.h:
10:44 AM Changeset in webkit [164547] by mitz@apple.com
  • 11 edits in trunk/Source/WebKit2

<rdar://problem/12500358> [Cocoa] Development variants of XPC services should not be installed in WebKit2.framework/XPCServices
https://bugs.webkit.org/show_bug.cgi?id=129197

Reviewed by Sam Weinig.

  • Configurations/BaseXPCService.xcconfig: Made INSTALL_PATH vary based on

WK_XPC_SERVICE_VARIANT. For the Development variant, use an install path outside the
framework. Note that engineering builds using the build action continue to have the
Development variants copied into the framework by a script build phase.

  • Configurations/DatabaseService.Development.xcconfig: Set WK_XPC_SERVICE_VARIANT.
  • Configurations/DatabaseService.xcconfig: Ditto.
  • Configurations/NetworkService.Development.xcconfig: Ditto.
  • Configurations/NetworkService.xcconfig: Ditto.
  • Configurations/PluginService.32.xcconfig: Ditto.
  • Configurations/PluginService.64.xcconfig: Ditto.
  • Configurations/PluginService.Development.xcconfig: Ditto.
  • Configurations/WebContentService.Development.xcconfig: Ditto.
  • Configurations/WebContentService.xcconfig: Ditto.
10:10 AM Changeset in webkit [164546] by ap@apple.com
  • 11 edits in trunk

Rename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey
https://bugs.webkit.org/show_bug.cgi?id=129121

Reviewed by Sam Weinig.

Source/WebCore:

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated to newer names.
(WebCore::addUsagesToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::serialize): rsa-oaep-key-manipulation test
started ot fail, because RSA-OAEP with 2048 bit key and sha-1 can only encrypt
214 bytes, and the new longer names made JSON serialization slightly longer.
Compensate by not doing any indentation in JSON.

LayoutTests:

  • crypto/subtle/aes-export-key-expected.txt:
  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/jwk-export-use-values-expected.txt:
  • crypto/subtle/jwk-export-use-values.html:
  • crypto/subtle/jwk-import-use-values-expected.txt:
  • crypto/subtle/jwk-import-use-values.html:
  • crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
  • crypto/subtle/rsa-oaep-key-manipulation.html:
9:50 AM Changeset in webkit [164545] by timothy@apple.com
  • 1 edit in trunk/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js

Fix tests.

9:48 AM Changeset in webkit [164544] by timothy@apple.com
  • 2 edits in trunk

Fix production builds and tests.

9:33 AM Changeset in webkit [164543] by timothy@apple.com
  • 5 edits
    416 moves
    5 adds
    7 deletes in trunk/Source/WebInspectorUI

Organize WebInspectorUI/UserInterface into sub-directories.

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

Rubber-stamped by Joseph Pecoraro.

  • Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths.
  • UserInterface/Base: Added.
  • UserInterface/Controllers: Added.
  • UserInterface/Images: Added.
  • UserInterface/Main.html: Updated.
  • UserInterface/Models Added.
  • UserInterface/Protocol Added.
  • UserInterface/Views: Added.
9:31 AM Changeset in webkit [164542] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Revert r164434 since it actually broke ASan builds
<http://webkit.org/b/128871>

  • Configurations/WebKit.xcconfig: This caused -asan-blacklist to

be included twice on every compiler command, which caused clang
to error out.

8:06 AM Changeset in webkit [164541] by timothy@apple.com
  • 16 edits
    13 adds in trunk

Add inspection user interface for IndexedDB.

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

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/ContentView.js:

(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):

  • UserInterface/IndexedDatabase.js: Added.

(WebInspector.IndexedDatabase):
(WebInspector.IndexedDatabase.prototype.get name):
(WebInspector.IndexedDatabase.prototype.get securityOrigin):
(WebInspector.IndexedDatabase.prototype.get host):
(WebInspector.IndexedDatabase.prototype.get version):
(WebInspector.IndexedDatabase.prototype.get objectStores):
(WebInspector.IndexedDatabase.prototype.saveIdentityToCookie):

  • UserInterface/IndexedDatabaseEntryDataGridNode.js: Added.

(WebInspector.IndexedDatabaseEntryDataGridNode):
(WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry):
(WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):

  • UserInterface/IndexedDatabaseHostTreeElement.js: Added.

(WebInspector.IndexedDatabaseHostTreeElement):
(WebInspector.IndexedDatabaseHostTreeElement.prototype.get name):
(WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName):

  • UserInterface/IndexedDatabaseObjectStore.js: Added.

(WebInspector.IndexedDatabaseObjectStore):
(WebInspector.IndexedDatabaseObjectStore.prototype.get name):
(WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath):
(WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement):
(WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase):
(WebInspector.IndexedDatabaseObjectStore.prototype.get indexes):
(WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie):
(WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship):

  • UserInterface/IndexedDatabaseObjectStoreContentView.css: Added.

(.content-view.indexed-database-object-store > .data-grid):
(.content-view.indexed-database-object-store > .data-grid td .section .header):
(.content-view.indexed-database-object-store > .data-grid td .section .header::before):
(.content-view.indexed-database-object-store > .data-grid td .section .header .title):
(.content-view.indexed-database-object-store > .data-grid table.data):
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)):
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
(.content-view.indexed-database-object-store > .data-grid table.data tr.filler):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *):

  • UserInterface/IndexedDatabaseObjectStoreContentView.js: Added.

(WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath):
(WebInspector.IndexedDatabaseObjectStoreContentView):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):

  • UserInterface/IndexedDatabaseObjectStoreIndex.js: Added.

(WebInspector.IndexedDatabaseObjectStoreIndex):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship):

  • UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added.

(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement):
(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex):

  • UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added.

(WebInspector.IndexedDatabaseObjectStoreTreeElement):
(WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore):
(WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse):
(WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate):

  • UserInterface/IndexedDatabaseTreeElement.js: Added.

(WebInspector.IndexedDatabaseTreeElement):
(WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase):
(WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse):
(WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate):

  • UserInterface/Main.html:
  • UserInterface/Main.js:

(WebInspector.sidebarPanelForRepresentedObject):

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._storageCleared):

  • UserInterface/StorageManager.js:

(WebInspector.StorageManager):
(WebInspector.StorageManager.prototype.initialize):
(WebInspector.StorageManager.prototype.processData):
(WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
(WebInspector.StorageManager.prototype._mainResourceDidChange):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex):
(WebInspector.StorageManager.prototype._securityOriginDidChange):

  • UserInterface/URLUtilities.js:

(parseSecurityOrigin):

LayoutTests:

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorTest.initializeInspectorModels): Add IndexedDatabase models and StorageManager.

  • inspector-protocol/indexeddb/basics-expected.txt: Added.
  • inspector-protocol/indexeddb/basics.html: Added.
7:29 AM Changeset in webkit [164540] by graouts@webkit.org
  • 4 edits
    2 moves
    1 add in trunk/Source/WebInspectorUI

Web Inspector: allow drag-to-adjust on angle input of gradients editor
https://bugs.webkit.org/show_bug.cgi?id=129095

Reviewed by Timothy Hatcher.

Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move
the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController.
We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior
in the angle input field of the gradient editor and also as a supporting object for the CodeMirror-
specific class.

  • UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css.

(.CodeMirror.drag-to-adjust .CodeMirror-lines):

  • UserInterface/CodeMirrorDragToAdjustNumberController.js: Added.

Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement
the various DragToAdjustController delegate methods in order to customize its behavior to work within the
context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to
prevent adjustment when the hovered token isn't a number.

(WebInspector.CodeMirrorDragToAdjustNumberController):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):

  • UserInterface/CodeMirrorGradientEditingController.css:

(.gradient-editing-controller > label.drag-to-adjust > input):

  • UserInterface/CodeMirrorGradientEditingController.js:

Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging.

(WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount):
(WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
(WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange):

  • UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js.

New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context
of a DOM element, exposing a few delegation methods to customize the controller's behavior:

  • dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup

and cleanup work to be performed.

  • dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset

allowing other state objects used by clients to be cleared.

  • dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon

first hovering the target element.

  • dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when

the user actually is about to engage in a drag-to-adjust interaction.

  • dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse

location) is an adjustable value.

  • dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value

following a drag-to-adjust interaction.

(WebInspector.DragToAdjustController):
(WebInspector.DragToAdjustController.prototype.get element):
(WebInspector.DragToAdjustController.prototype.set element):
(WebInspector.DragToAdjustController.prototype.set enabled):
(WebInspector.DragToAdjustController.prototype.get active):
(WebInspector.DragToAdjustController.prototype.set active):
(WebInspector.DragToAdjustController.prototype.reset):
(WebInspector.DragToAdjustController.prototype.handleEvent):
(WebInspector.DragToAdjustController.prototype._setDragging):
(WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
(WebInspector.DragToAdjustController.prototype._modifiersDidChange):
(WebInspector.DragToAdjustController.prototype._mouseMoved):
(WebInspector.DragToAdjustController.prototype._mouseWasPressed):
(WebInspector.DragToAdjustController.prototype._mouseWasDragged):
(WebInspector.DragToAdjustController.prototype._mouseWasReleased):

  • UserInterface/Main.html:

Link in new source files.

5:58 AM Changeset in webkit [164539] by krit@webkit.org
  • 1 edit
    114 deletes in trunk/LayoutTests

Replace svg/clip-path pixel tests by reference tests
https://bugs.webkit.org/show_bug.cgi?id=129177

Patch by Dirk Schulze <krit@webkit.org> on 2014-02-21
Rubber-stamped by Ryosuke Niwa.

This patch removes all pixel tests.

  • platform/efl/svg/clip-path/clip-in-mask-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-clipped-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-on-g-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-on-svg-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-pixelation-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-text-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-transform-2-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
  • platform/efl/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
  • platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
  • platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
  • platform/efl/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
  • platform/efl/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
  • platform/efl/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
  • platform/efl/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
  • platform/efl/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-in-mask-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-child-clipped-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-clipped-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-evenodd-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-nonzero-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-on-g-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-on-svg-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-pixelation-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-text-and-shape-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-text-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-transform-2-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
  • platform/gtk/svg/clip-path/clip-path-with-text-clipped-expected.png: Removed.
  • platform/gtk/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
  • platform/gtk/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
  • platform/gtk/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
  • platform/gtk/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
  • platform/gtk/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
  • platform/gtk/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
  • platform/gtk/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-in-clip-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-in-mask-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-in-mask-objectBoundingBox-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-in-mask-userSpaceOnUse-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-child-clipped-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-clipped-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-evenodd-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-nonzero-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-on-g-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-on-svg-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-pixelation-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-pixelation-expected.txt: Removed.
  • platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-recursive-call-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-text-and-shape-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-text-and-shape-expected.txt: Removed.
  • platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.txt: Removed.
  • platform/mac/svg/clip-path/clip-path-text-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-text-expected.txt: Removed.
  • platform/mac/svg/clip-path/clip-path-transform-1-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-transform-2-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Removed.
  • platform/mac/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-use-as-child2-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-use-as-child3-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-use-as-child4-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-use-as-child5-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-with-container-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-with-different-unittypes-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-with-different-unittypes2-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.png: Removed.
  • platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.txt: Removed.
  • platform/mac/svg/clip-path/clipper-placement-issue-expected.png: Removed.
  • platform/mac/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
  • platform/mac/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
  • platform/mac/svg/clip-path/deep-nested-clip-in-mask-expected.txt: Removed.
  • platform/mac/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
  • platform/mac/svg/clip-path/deep-nested-clip-in-mask-panning-expected.txt: Removed.
  • platform/mac/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
  • platform/mac/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
  • platform/mac/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
  • svg/clip-path/clip-in-clip-expected.png: Removed.
  • svg/clip-path/clip-in-clip-expected.txt: Removed.
  • svg/clip-path/clip-in-clip.svg: Removed.
  • svg/clip-path/clip-in-mask-expected.txt: Removed.
  • svg/clip-path/clip-in-mask-objectBoundingBox-expected.txt: Removed.
  • svg/clip-path/clip-in-mask-objectBoundingBox.svg: Removed.
  • svg/clip-path/clip-in-mask-userSpaceOnUse-expected.txt: Removed.
  • svg/clip-path/clip-in-mask-userSpaceOnUse.svg: Removed.
  • svg/clip-path/clip-in-mask.svg: Removed.
  • svg/clip-path/clip-path-child-clipped-expected.txt: Removed.
  • svg/clip-path/clip-path-child-clipped.svg: Removed.
  • svg/clip-path/clip-path-childs-clipped-expected.txt: Removed.
  • svg/clip-path/clip-path-childs-clipped.svg: Removed.
  • svg/clip-path/clip-path-clipped-evenodd-twice-expected.txt: Removed.
  • svg/clip-path/clip-path-clipped-evenodd-twice.svg: Removed.
  • svg/clip-path/clip-path-clipped-expected.txt: Removed.
  • svg/clip-path/clip-path-clipped-no-content-expected.png: Removed.
  • svg/clip-path/clip-path-clipped-no-content-expected.txt: Removed.
  • svg/clip-path/clip-path-clipped-no-content.svg: Removed.
  • svg/clip-path/clip-path-clipped-nonzero-expected.txt: Removed.
  • svg/clip-path/clip-path-clipped-nonzero.svg: Removed.
  • svg/clip-path/clip-path-clipped.svg: Removed.
  • svg/clip-path/clip-path-css-transform-1-expected.txt: Removed.
  • svg/clip-path/clip-path-css-transform-1.svg: Removed.
  • svg/clip-path/clip-path-css-transform-2-expected.txt: Removed.
  • svg/clip-path/clip-path-css-transform-2.svg: Removed.
  • svg/clip-path/clip-path-evenodd-expected.txt: Removed.
  • svg/clip-path/clip-path-evenodd-nonzero-expected.txt: Removed.
  • svg/clip-path/clip-path-evenodd-nonzero.svg: Removed.
  • svg/clip-path/clip-path-evenodd.svg: Removed.
  • svg/clip-path/clip-path-nonzero-evenodd-expected.txt: Removed.
  • svg/clip-path/clip-path-nonzero-evenodd.svg: Removed.
  • svg/clip-path/clip-path-nonzero-expected.txt: Removed.
  • svg/clip-path/clip-path-nonzero.svg: Removed.
  • svg/clip-path/clip-path-objectBoundingBox-expected.txt: Removed.
  • svg/clip-path/clip-path-objectBoundingBox.svg: Removed.
  • svg/clip-path/clip-path-on-clipped-use-expected.txt: Removed.
  • svg/clip-path/clip-path-on-clipped-use.svg: Removed.
  • svg/clip-path/clip-path-on-g-and-child-expected.txt: Removed.
  • svg/clip-path/clip-path-on-g-and-child.svg: Removed.
  • svg/clip-path/clip-path-on-g-expected.txt: Removed.
  • svg/clip-path/clip-path-on-g.svg: Removed.
  • svg/clip-path/clip-path-on-svg-and-child-expected.txt: Removed.
  • svg/clip-path/clip-path-on-svg-and-child.svg: Removed.
  • svg/clip-path/clip-path-on-svg-expected.txt: Removed.
  • svg/clip-path/clip-path-on-svg.svg: Removed.
  • svg/clip-path/clip-path-pixelation-expected.txt: Removed.
  • svg/clip-path/clip-path-pixelation.svg: Removed.
  • svg/clip-path/clip-path-recursive-call-by-child-expected.png: Removed.
  • svg/clip-path/clip-path-recursive-call-by-child-expected.txt: Removed.
  • svg/clip-path/clip-path-recursive-call-by-child.svg: Removed.
  • svg/clip-path/clip-path-recursive-call-expected.png: Removed.
  • svg/clip-path/clip-path-recursive-call-expected.txt: Removed.
  • svg/clip-path/clip-path-recursive-call.svg: Removed.
  • svg/clip-path/clip-path-text-and-shape-expected.txt: Removed.
  • svg/clip-path/clip-path-text-and-shape.svg: Removed.
  • svg/clip-path/clip-path-text-and-stroke-expected.txt: Removed.
  • svg/clip-path/clip-path-text-and-stroke.svg: Removed.
  • svg/clip-path/clip-path-text-expected.txt: Removed.
  • svg/clip-path/clip-path-text.svg: Removed.
  • svg/clip-path/clip-path-transform-1-expected.txt: Removed.
  • svg/clip-path/clip-path-transform-1.svg: Removed.
  • svg/clip-path/clip-path-transform-2-expected.txt: Removed.
  • svg/clip-path/clip-path-transform-2.svg: Removed.
  • svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Removed.
  • svg/clip-path/clip-path-tspan-and-stroke.svg: Removed.
  • svg/clip-path/clip-path-use-as-child-expected.txt: Removed.
  • svg/clip-path/clip-path-use-as-child.svg: Removed.
  • svg/clip-path/clip-path-use-as-child2-expected.png: Removed.
  • svg/clip-path/clip-path-use-as-child2-expected.txt: Removed.
  • svg/clip-path/clip-path-use-as-child2.svg: Removed.
  • svg/clip-path/clip-path-use-as-child3-expected.png: Removed.
  • svg/clip-path/clip-path-use-as-child3-expected.txt: Removed.
  • svg/clip-path/clip-path-use-as-child3.svg: Removed.
  • svg/clip-path/clip-path-use-as-child4-expected.png: Removed.
  • svg/clip-path/clip-path-use-as-child4-expected.txt: Removed.
  • svg/clip-path/clip-path-use-as-child4.svg: Removed.
  • svg/clip-path/clip-path-use-as-child5-expected.png: Removed.
  • svg/clip-path/clip-path-use-as-child5-expected.txt: Removed.
  • svg/clip-path/clip-path-use-as-child5.svg: Removed.
  • svg/clip-path/clip-path-userSpaceOnUse-expected.txt: Removed.
  • svg/clip-path/clip-path-userSpaceOnUse.svg: Removed.
  • svg/clip-path/clip-path-with-container-expected.png: Removed.
  • svg/clip-path/clip-path-with-container-expected.txt: Removed.
  • svg/clip-path/clip-path-with-container.svg: Removed.
  • svg/clip-path/clip-path-with-different-unittypes-expected.png: Removed.
  • svg/clip-path/clip-path-with-different-unittypes-expected.txt: Removed.
  • svg/clip-path/clip-path-with-different-unittypes.svg: Removed.
  • svg/clip-path/clip-path-with-different-unittypes2-expected.png: Removed.
  • svg/clip-path/clip-path-with-different-unittypes2-expected.txt: Removed.
  • svg/clip-path/clip-path-with-different-unittypes2.svg: Removed.
  • svg/clip-path/clip-path-with-invisibile-child-expected.png: Removed.
  • svg/clip-path/clip-path-with-invisibile-child-expected.txt: Removed.
  • svg/clip-path/clip-path-with-invisibile-child.svg: Removed.
  • svg/clip-path/clip-path-with-text-clipped-expected.txt: Removed.
  • svg/clip-path/clip-path-with-text-clipped.svg: Removed.
  • svg/clip-path/clipper-placement-issue-expected.png: Removed.
  • svg/clip-path/clipper-placement-issue-expected.txt: Removed.
  • svg/clip-path/clipper-placement-issue.svg: Removed.
  • svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
  • svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg: Removed.
  • svg/clip-path/deep-nested-clip-in-mask-expected.txt: Removed.
  • svg/clip-path/deep-nested-clip-in-mask-panning-expected.txt: Removed.
  • svg/clip-path/deep-nested-clip-in-mask-panning.svg: Removed.
  • svg/clip-path/deep-nested-clip-in-mask.svg: Removed.
  • svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.txt: Removed.
  • svg/clip-path/nested-clip-in-mask-image-based-clipping.svg: Removed.
  • svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.txt: Removed.
  • svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg: Removed.
  • svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.txt: Removed.
  • svg/clip-path/nested-clip-in-mask-path-based-clipping.svg: Removed.
2:21 AM Changeset in webkit [164538] by fred.wang@free.fr
  • 5 edits in trunk

Only skip stretchy operators when determining the stretch height.
https://bugs.webkit.org/show_bug.cgi?id=126842

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code only takes into account non-mo children for the computation of the stretch size. This change includes non-stretchy mo in that computation. A new test is added into mathml/presentation/stretchy-depth-height.html.

  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::layout):

LayoutTests:

  • mathml/presentation/stretchy-depth-height.html: Add a test with non-stretchy mo siblings.
2:14 AM Changeset in webkit [164537] by fred.wang@free.fr
  • 4 edits
    2 adds in trunk

Implement asymmetric/symmetric stretching of vertical operators.
https://bugs.webkit.org/show_bug.cgi?id=124827.

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code stretches vertical operators asymmetrically by default. This patch takes into account the symmetric attribute or the symmetric property of the operator dictionary to stretch operators symmetrically.

Test: mathml/presentation/stretchy-depth-height-symmetric.html

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::updateStyle):

LayoutTests:

Add a new test to verify the symmetric property of operators (either implicit by the operator dictionary or explicit via an mo attribute).

  • LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt: rebased.
  • mathml/presentation/stretchy-depth-height-symmetric-expected.txt: Added.
  • mathml/presentation/stretchy-depth-height-symmetric.html: Added.
2:08 AM Changeset in webkit [164536] by fred.wang@free.fr
  • 8 edits
    2 adds in trunk

Bug 119043 - Large stretch size error for MathML operators.
https://bugs.webkit.org/show_bug.cgi?id=119043

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code used some arbitrary gOperatorExpansion factor for the
stretch size and 2/3 1/2 constants for the baseline. This change tries
to consider height/depth of siblings of the stretchy operator so that
the stretchy operator now matches its target.

Test: mathml/presentation/stretchy-depth-height.html

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderMathMLTable):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::computeLogicalHeight):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::layout):

LayoutTests:

This adds a test to check that the depth/height of stretchy operators match the maximum of their siblings. This also fixes the reference of mo-stretch.html to ignore the stretch error.

  • mathml/presentation/stretchy-depth-height-expected.txt: Added.
  • mathml/presentation/stretchy-depth-height.html: Added.
  • platform/mac/mathml/presentation/mo-stretch-expected.txt:
1:57 AM Changeset in webkit [164535] by fred.wang@free.fr
  • 8 edits
    2 deletes in trunk

Unreviewed, rolling out r164534.
http://trac.webkit.org/changeset/164534
https://bugs.webkit.org/show_bug.cgi?id=119043

missing tests

Source/WebCore:

  • rendering/RenderObject.h:
  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::expandedStretchHeight):
(WebCore::RenderMathMLOperator::stretchToHeight):
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::computeLogicalHeight):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::layout):

LayoutTests:

  • mathml/presentation/stretchy-depth-height-expected.txt: Removed.
  • mathml/presentation/stretchy-depth-height.html: Removed.
  • platform/mac/mathml/presentation/mo-stretch-expected.txt:
1:50 AM Changeset in webkit [164534] by fred.wang@free.fr
  • 8 edits
    2 adds in trunk

Bug 119043 - Large stretch size error for MathML operators.
https://bugs.webkit.org/show_bug.cgi?id=119043

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code used some arbitrary gOperatorExpansion factor for the
stretch size and 2/3 1/2 constants for the baseline. This change tries
to consider height/depth of siblings of the stretchy operator so that
the stretchy operator now matches its target.

Test: mathml/presentation/stretchy-depth-height.html

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderMathMLTable):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::computeLogicalHeight):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::layout):

LayoutTests:

This adds a test to check that the depth/height of stretchy operators match the maximum of their siblings. This also fixes the reference of mo-stretch.html to ignore the stretch error.

  • mathml/presentation/stretchy-depth-height-expected.txt: Added.
  • mathml/presentation/stretchy-depth-height.html: Added.
  • platform/mac/mathml/presentation/mo-stretch-expected.txt:
1:23 AM Changeset in webkit [164533] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL WK2 gardening. Skip a webgl test because of crashing.
Besides a bug is filed and assigned to those crash tests.

  • platform/efl-wk2/TestExpectations:

Feb 21, 2014:

11:24 PM Changeset in webkit [164532] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

REGRESSION(r164412): Pixel cracks when zooming in to any web content.
https://bugs.webkit.org/show_bug.cgi?id=129195

Reviewed by Simon Fraser.

Integral clipping of the repaint rect was prematurely removed in RenderLayerBacking::paintContents().
Repaint rects needs a uniform, device pixel precise clipping across the painting flow including RenderLayer,
RenderView and TileController.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):

11:20 PM Changeset in webkit [164531] by krit@webkit.org
  • 5 edits
    128 adds in trunk/LayoutTests

Replace svg/clip-path pixel tests by reference tests
https://bugs.webkit.org/show_bug.cgi?id=129177

Reviewed by Dean Jackson.

New reference tests for SVG clip-path.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • svg/clip-path/clip-path-clip-expected.svg: Added.
  • svg/clip-path/clip-path-clip-nested-twice-expected.svg: Added.
  • svg/clip-path/clip-path-clip-nested-twice.svg: Added.
  • svg/clip-path/clip-path-clip-rule-001-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-001.svg: Added.
  • svg/clip-path/clip-path-clip-rule-002-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-002.svg: Added.
  • svg/clip-path/clip-path-clip-rule-003-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-003.svg: Added.
  • svg/clip-path/clip-path-clip-rule-004-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-004.svg: Added.
  • svg/clip-path/clip-path-clip-rule-005-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-005.svg: Added.
  • svg/clip-path/clip-path-clip-rule-006-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-006.svg: Added.
  • svg/clip-path/clip-path-clip-rule-007-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-007.svg: Added.
  • svg/clip-path/clip-path-clip-rule-008-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-008.svg: Added.
  • svg/clip-path/clip-path-clip-rule-009-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-009.svg: Added.
  • svg/clip-path/clip-path-clip-rule-010-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-010.svg: Added.
  • svg/clip-path/clip-path-clip.svg: Added.
  • svg/clip-path/clip-path-content-clip-001-expected.svg: Added.
  • svg/clip-path/clip-path-content-clip-001.svg: Added.
  • svg/clip-path/clip-path-content-clip-002-expected.svg: Added.
  • svg/clip-path/clip-path-content-clip-002.svg: Added.
  • svg/clip-path/clip-path-content-clip-003-expected.svg: Added.
  • svg/clip-path/clip-path-content-clip-003.svg: Added.
  • svg/clip-path/clip-path-content-invisible-expected.svg: Added.
  • svg/clip-path/clip-path-content-invisible.svg: Added.
  • svg/clip-path/clip-path-content-syling-expected.svg: Added.
  • svg/clip-path/clip-path-content-syling.svg: Added.
  • svg/clip-path/clip-path-content-use-001-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-001.svg: Added.
  • svg/clip-path/clip-path-content-use-002-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-002.svg: Added.
  • svg/clip-path/clip-path-content-use-003-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-003.svg: Added.
  • svg/clip-path/clip-path-content-use-004-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-004.svg: Added.
  • svg/clip-path/clip-path-content-use-005-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-005.svg: Added.
  • svg/clip-path/clip-path-content-use-006-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-006.svg: Added.
  • svg/clip-path/clip-path-css-transform-001-expected.svg: Added.
  • svg/clip-path/clip-path-css-transform-001.svg: Added.
  • svg/clip-path/clip-path-css-transform-002-expected.svg: Added.
  • svg/clip-path/clip-path-css-transform-002.svg: Added.
  • svg/clip-path/clip-path-invalid-expected.svg: Added.
  • svg/clip-path/clip-path-invalid.svg: Added.
  • svg/clip-path/clip-path-no-content-001-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-001.svg: Added.
  • svg/clip-path/clip-path-no-content-002-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-002.svg: Added.
  • svg/clip-path/clip-path-no-content-003-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-003.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-001-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-001.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-002-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-002.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-003-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-003.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-004-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-004.svg: Added.
  • svg/clip-path/clip-path-on-g-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-001.svg: Added.
  • svg/clip-path/clip-path-on-g-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-002.svg: Added.
  • svg/clip-path/clip-path-on-g-003-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-003.svg: Added.
  • svg/clip-path/clip-path-on-g-004-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-004.svg: Added.
  • svg/clip-path/clip-path-on-g-005-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-005.svg: Added.
  • svg/clip-path/clip-path-on-svg-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-svg-001.svg: Added.
  • svg/clip-path/clip-path-on-svg-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-svg-002.svg: Added.
  • svg/clip-path/clip-path-on-use-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-use-001.svg: Added.
  • svg/clip-path/clip-path-on-use-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-use-002.svg: Added.
  • svg/clip-path/clip-path-precision-001-expected.svg: Added.
  • svg/clip-path/clip-path-precision-001.svg: Added.
  • svg/clip-path/clip-path-text-001-expected.svg: Added.
  • svg/clip-path/clip-path-text-001.svg: Added.
  • svg/clip-path/clip-path-text-002-expected.svg: Added.
  • svg/clip-path/clip-path-text-002.svg: Added.
  • svg/clip-path/clip-path-text-003-expected.svg: Added.
  • svg/clip-path/clip-path-text-003.svg: Added.
  • svg/clip-path/clip-path-text-004-expected.svg: Added.
  • svg/clip-path/clip-path-text-004.svg: Added.
  • svg/clip-path/clip-path-text-005-expected.svg: Added.
  • svg/clip-path/clip-path-text-005.svg: Added.
  • svg/clip-path/clip-path-userspaceonuse-001-expected.svg: Added.
  • svg/clip-path/clip-path-userspaceonuse-001.svg: Added.
  • svg/clip-path/mask-nested-clip-path-001-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-001.svg: Added.
  • svg/clip-path/mask-nested-clip-path-002-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-002.svg: Added.
  • svg/clip-path/mask-nested-clip-path-003-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-003.svg: Added.
  • svg/clip-path/mask-nested-clip-path-004-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-004.svg: Added.
  • svg/clip-path/mask-nested-clip-path-005-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-005.svg: Added.
  • svg/clip-path/mask-nested-clip-path-006-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-006.svg: Added.
  • svg/clip-path/mask-nested-clip-path-007-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-007.svg: Added.
  • svg/clip-path/mask-nested-clip-path-008-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-008.svg: Added.
  • svg/clip-path/mask-nested-clip-path-009-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-009.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-001-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-001.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-002-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-002.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip-expected.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip-transform-expected.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip-transform.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip-expected.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip-transform-expected.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip-transform.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip.svg: Added.
10:56 PM Changeset in webkit [164530] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Mac build fix after r164529.

Replace the string-to-array algorithm with a archictecture-independant
one.

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

(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):

10:17 PM Changeset in webkit [164529] by jer.noble@apple.com
  • 8 edits
    2 adds in trunk/Source/WebCore

[EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=129166

Reviewed by Eric Carlson.

Add a new CDMSession, cerated by MediaPlayerPrivateMediaSourceAVFObjC allowing
media-source-backed media elements to play protected content.

Add a new CDMSessionMediaSourceAVFObjC class:

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

(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):

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

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Do not actually generate a

key request until the certificate data has been added via update();

(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): No-op.
(WebCore::CDMSessionMediaSourceAVFObjC::update): If no certificate data has yet been

added, assume the incoming message contains it.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Add supportsKeySystem.
(WebCore::keySystemIsSupported): Use "com.apple.fps.2_0" to distinguish from the not-media-source scheme.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Check the keySystem type.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Added.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createSession): Added, pass through to MediaSourcePrivate.

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

(WebCore::MediaSourcePrivateAVFObjC::createSession): Added.
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded): Pass through to MediaPlayer.

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

(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):

Added, pass through to SourceBufferPrivate.

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Remember

which track is requesting the key, and pass the request to MediaSourcePrivate.

Add new files to the project.

  • WebCore.xcodeproj/project.pbxproj:
10:07 PM Changeset in webkit [164528] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreachable code
https://bugs.webkit.org/show_bug.cgi?id=129193

Reviewed by Joseph Pecoraro.

  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Fix the accidental code.

9:05 PM Changeset in webkit [164527] by Brent Fulgham
  • 14 edits in trunk/Source

Extend media support for WebVTT sources
https://bugs.webkit.org/show_bug.cgi?id=129156

Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::outOfBandTrackSources): Added.

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

(WebCore::MediaPlayer::outOfBandTrackSources): Added.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::outOfBandTrackSources): Added.

  • platform/graphics/PlatformTextTrack.h:

(WebCore::PlatformTextTrack::create): Update for new constructor signature.
(WebCore::PlatformTextTrack::createOutOfBand): Added.
(WebCore::PlatformTextTrack::url): Added.
(WebCore::PlatformTextTrack::isDefault): Added.
(WebCore::PlatformTextTrack::PlatformTextTrack): Revised to take new URL and
'isDefault' arguments.

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

(WebCore::mediaDescriptionForKind): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation about any
WebVTT tracks supplied by the web page.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Filter out any out-of-band
WebVTT tracks returned by the media engine to avoid double-counting tracks.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
8:09 PM Changeset in webkit [164526] by rniwa@webkit.org
  • 23 edits in trunk

Inner text element should not use -webkit-user-modify
https://bugs.webkit.org/show_bug.cgi?id=129035

Reviewed by Andreas Kling.

Source/WebCore:

To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements
instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl.

Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since
RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM
isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via
updateFromControlElementsAncestorDisabledStateUnder.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so
that HTMLTextFormControl could override it to call updateInnerTextElementEditability.
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.

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

(WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating
shadow DOM for the current input type.
(WebCore::HTMLInputElement::updateType): Ditto.
(WebCore::HTMLInputElement::parseAttribute): Ditto.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since
the editability of the inner text element depends on disabled-ness of the element.
(WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element.
(WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added.

  • html/HTMLTextFormControlElement.h:
  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to
compute the appropriate EUserModify value instead of hard-coding it here.

  • rendering/RenderTextControl.h:

LayoutTests:

Rebaselined tests as the user agent shadow DOM of input and textarea elements now have contenteditable attribute.

  • editing/input/paste-text-ending-with-interchange-newline-expected.txt:
  • editing/inserting/5607069-2-expected.txt:
  • editing/inserting/5607069-3-expected.txt:
  • editing/pasteboard/copy-image-with-alt-text-expected.txt:
  • editing/pasteboard/copy-null-characters-expected.txt:
  • editing/pasteboard/nested-blocks-with-text-area-expected.txt:
  • editing/pasteboard/nested-blocks-with-text-field-expected.txt:
  • editing/selection/dump-as-markup-expected.txt:
  • editing/selection/dump-as-markup-form-text-expected.txt:
  • fast/forms/suggested-value-after-setvalue-expected.txt:
  • fast/forms/suggested-value-expected.txt:
  • fast/parser/object-with-textarea-fallback-expected.txt:
7:56 PM Changeset in webkit [164525] by ChangSeok Oh
  • 4 edits in trunk/Source/WebCore

[GTK] Support WEBGL_draw_buffers extension.
https://bugs.webkit.org/show_bug.cgi?id=129143

Reviewed by Dean Jackson.

Support the WEBGL_draw_buffers WebGL extension for gtk port. Relevant opengl APIs
are exposed for WebGLRenderingContext to access them properly.

Covered by fast/canvas/webgl/webgl-draw-buffers.html

  • platform/graphics/OpenGLShims.cpp:

(WebCore::initializeOpenGLShims):

  • platform/graphics/OpenGLShims.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):

7:53 PM Changeset in webkit [164524] by ChangSeok Oh
  • 4 edits in trunk/Source/WebCore

Mac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DCommon.cpp
https://bugs.webkit.org/show_bug.cgi?id=128803

Reviewed by Dean Jackson.

Merge mac port implementation of ANGLE_instanced_arrays into common code.

No new tests, no functionality changed.

  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::vertexAttribDivisor):

7:39 PM Changeset in webkit [164523] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Keyboard appears every time a link is tapped after searching Google
<rdar://problem/16072563>.

Reviewed by Benjamin Poulain.

We need to stop assisting the node if we have
navigated to a different page.

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]):

7:15 PM Changeset in webkit [164522] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

Made WKWebView implement all WKContentViewDelegate methods.

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView takeViewSnapshotForContentView:]): Moved from WKViewIOS.mm.

  • UIProcess/API/ios/WKContentView.h: Made all protocol methods required.
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): Removed code
to set self as the delegate on the content view.

7:14 PM Changeset in webkit [164521] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

After copy and paste, cursor may appear to be above the bottom of content
https://bugs.webkit.org/show_bug.cgi?id=129167

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adding a clear:both to the end of content.

I can't handle the case of the cursor appearing above the bottom of
absolutely positioned divs (of the case of floats inside absolutely
positioned divs) because you can't know where the bottom of a div
will end up being rendered (it is affected by things like browser
window width and text size settings). Therefore, the only case I
can handle is the case where there is a floating div in the same
level as the document itself.

Test: editing/pasteboard/copy-paste-inserts-clearing-div.html

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::isFloating):

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

(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createMarkupInternal):

LayoutTests:

Makes sure that the clearing div is inserted.

  • editing/pasteboard/copy-paste-inserts-clearing-div-expected.txt: Added.
  • editing/pasteboard/copy-paste-inserts-clearing-div.html: Added.
6:58 PM Changeset in webkit [164520] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r164505

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

definition for TreeScope::getElementById.

6:45 PM Changeset in webkit [164519] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS Media] Wireless target UI
https://bugs.webkit.org/show_bug.cgi?id=129189
<rdar://problem/15349928>
<rdar://problem/16100060>

Reviewed by Eric Carlson.

Implement a prototype UI for wireless playback targets. The UI
doesn't currently work, but can be simulated via a class variable
in ControllerIOS.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-panel button): Reset the default style of
button elements, to avoid getting a border.
(audio::-webkit-media-controls-wireless-playback-status): Holds the UI showing
the user that the media is playing on another target.
(audio::-webkit-media-controls-wireless-playback-status.hidden):
(audio::-webkit-media-controls-wireless-playback-picker-button): The button to
trigger selection of targets.
(audio::-webkit-media-controls-wireless-playback-picker-button.active):
(audio::-webkit-media-controls-panel): This needs to be position absolute for
the wireless playback status to fill the viewport.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Check for targets.
(ControllerIOS.prototype.addVideoListeners):
(ControllerIOS.prototype.removeVideoListeners):
(ControllerIOS.prototype.UIString): New method to return localized strings (with
a FIXME).
(ControllerIOS.prototype.shouldHaveAnyUI): Needs to display if there is a wireless
target.
(ControllerIOS.prototype.currentPlaybackTargetIsWireless):
(ControllerIOS.prototype.updateWirelessPlaybackStatus): Create the status content,
replacing the device name if it is available.
(ControllerIOS.prototype.updateWirelessTargetAvailable):
(ControllerIOS.prototype.createControls):
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.handleWirelessPlaybackChange):
(ControllerIOS.prototype.handleWirelessTargetAvailableChange):
(ControllerIOS.prototype.handleWirelessPickerButtonClicked):

5:58 PM Changeset in webkit [164518] by BJ Burg
  • 10 edits
    789 moves
    32 adds
    8 deletes in trunk/LayoutTests

Move unported Web Inspector tests to LayoutTests/inspector-obsolete
https://bugs.webkit.org/show_bug.cgi?id=129183

Rubber-stamped by Timothy Hatcher.

Move inspector/ to inspector-obsolete/.
Move http/tests/inspector/ to inspector-obsolete/http-tests/.
Fold http/tests/inspector-enabled/ into inspector-obsolete/http-tests/.

I have elided about 1100 lines of rename Changelog spew;
no filenames have been altered in this reorganization.

Remove mentions of obsolete tests from TestExpectations. Remove skips
for inspector-obsolete/ from port-specific expectations, and just
put it in the generic expectations file.

Remove inspector-protocol/heap-profiler tests, as they are obsolete.

  • TestExpectations:
    • inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree-expected.txt: Removed.
  • inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html: Removed.
  • inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt: Removed.
  • inspector-protocol/heap-profiler/heap-snapshot-with-event-listener.html: Removed.
  • inspector-protocol/heap-profiler/resources/heap-snapshot-common.js: Removed.
  • inspector-protocol/heap-profiler/resources/page-with-function.html: Removed.
  • inspector-protocol/heap-profiler/take-heap-snapshot-expected.txt: Removed.
  • inspector-protocol/heap-profiler/take-heap-snapshot.html: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win-xp/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
5:03 PM Changeset in webkit [164517] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/16073882> Please add _AbandonCoalition key to plugin XPC service Info.plist

Anders Carlsson.

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
4:31 PM Changeset in webkit [164516] by jpfau@apple.com
  • 6 edits in trunk

[Mac] Cache callbacks for cache partitioning may be passed null
https://bugs.webkit.org/show_bug.cgi?id=129175

Reviewed by Brady Eidson.

Source/WebKit2:

  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:

(WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):

WebKitLibraries:

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
4:28 PM Changeset in webkit [164515] by BJ Burg
  • 1 edit
    356 deletes in trunk/LayoutTests

Web Inspector: remove old inspector tests that cannot be ported
https://bugs.webkit.org/show_bug.cgi?id=129168

Reviewed by Timothy Hatcher.

Remove many tests that were specific to the old inspector user interface.
These cannot be ported either because they were specific to the UI, or
they test features that no longer exist in the Web Inspector.

  • inspector/audits/audits-panel-functional-expected.txt: Removed.
  • inspector/audits/audits-panel-functional.html: Removed.
  • inspector/audits/audits-panel-noimages-functional-expected.txt: Removed.
  • inspector/audits/audits-panel-noimages-functional.html: Removed.
  • inspector/audits/audits-test.js: Removed.
  • inspector/audits/resources/audits-script1.js: Removed.
  • inspector/audits/resources/audits-script2.js: Removed.
  • inspector/audits/resources/audits-style1.css: Removed.
  • inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
  • inspector/console/command-line-api-getEventListeners.html: Removed.
  • inspector/console/console-big-array-expected.txt: Removed.
  • inspector/console/console-big-array.html: Removed.
  • inspector/console/console-clear-expected.txt: Removed.
  • inspector/console/console-clear.html: Removed.
  • inspector/console/console-dirxml-expected.txt: Removed.
  • inspector/console/console-dirxml.html: Removed.
  • inspector/console/console-filter-test-expected.txt: Removed.
  • inspector/console/console-filter-test.html: Removed.
  • inspector/console/console-format-collections-expected.txt: Removed.
  • inspector/console/console-format-collections.html: Removed.
  • inspector/console/console-format-expected.txt: Removed.
  • inspector/console/console-format-style-expected.txt: Removed.
  • inspector/console/console-format-style-whitelist-expected.txt: Removed.
  • inspector/console/console-format-style-whitelist.html: Removed.
  • inspector/console/console-format-style.html: Removed.
  • inspector/console/console-format-table-expected.txt: Removed.
  • inspector/console/console-format-table.html: Removed.
  • inspector/console/console-format.html: Removed.
  • inspector/console/console-trim-long-urls-expected.txt: Removed.
  • inspector/console/console-trim-long-urls.html: Removed.
  • inspector/cookie-parser-expected.txt: Removed.
  • inspector/cookie-parser.html: Removed.
  • inspector/cookie-resource-match-expected.txt: Removed.
  • inspector/cookie-resource-match.html: Removed.
  • inspector/curl-command-expected.txt: Removed.
  • inspector/curl-command.html: Removed.
  • inspector/database-table-name-excaping-expected.txt: Removed.
  • inspector/database-table-name-excaping.html: Removed.
  • inspector/datagrid-autosize-expected.txt: Removed.
  • inspector/datagrid-autosize.html: Removed.
  • inspector/debugger/breakpoint-manager-listeners-count-expected.txt: Removed.
  • inspector/debugger/breakpoint-manager-listeners-count.html: Removed.
  • inspector/debugger/callstack-placards-discarded-expected.txt: Removed.
  • inspector/debugger/callstack-placards-discarded.html: Removed.
  • inspector/debugger/content-providers-expected.txt: Removed.
  • inspector/debugger/content-providers.html: Removed.
  • inspector/debugger/debug-inlined-scripts-expected.txt: Removed.
  • inspector/debugger/debug-inlined-scripts.html-disabled: Removed.
  • inspector/debugger/debugger-expand-scope-expected.txt: Removed.
  • inspector/debugger/debugger-expand-scope.html: Removed.
  • inspector/debugger/debugger-proto-property-expected.txt: Removed.
  • inspector/debugger/debugger-proto-property.html: Removed.
  • inspector/debugger/debugger-script-preprocessor-expected.txt: Removed.
  • inspector/debugger/debugger-script-preprocessor.html: Removed.
  • inspector/debugger/debugger-step-into-event-listener-expected.txt: Removed.
  • inspector/debugger/debugger-step-into-event-listener.html: Removed.
  • inspector/debugger/disable-script-expected.txt: Removed.
  • inspector/debugger/disable-script.html: Removed.
  • inspector/debugger/dom-breakpoints-expected.txt: Removed.
  • inspector/debugger/dom-breakpoints.html: Removed.
  • inspector/debugger/dynamic-script-tag-expected.txt: Removed.
  • inspector/debugger/dynamic-script-tag.html: Removed.
  • inspector/debugger/dynamic-scripts-expected.txt: Removed.
  • inspector/debugger/dynamic-scripts.html: Removed.
  • inspector/debugger/error-in-watch-expressions-expected.txt: Removed.
  • inspector/debugger/error-in-watch-expressions.html: Removed.
  • inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
  • inspector/debugger/event-listener-breakpoints.html: Removed.
  • inspector/debugger/file-system-project-mapping-expected.txt: Removed.
  • inspector/debugger/file-system-project-mapping.html: Removed.
  • inspector/debugger/linkifier-expected.txt: Removed.
  • inspector/debugger/linkifier.html: Removed.
  • inspector/debugger/live-edit-breakpoints-expected.txt: Removed.
  • inspector/debugger/live-edit-breakpoints.html: Removed.
  • inspector/debugger/live-edit-expected.txt: Removed.
  • inspector/debugger/live-edit.html: Removed.
  • inspector/debugger/mutation-observer-suspend-while-paused-expected.txt: Removed.
  • inspector/debugger/mutation-observer-suspend-while-paused.html: Removed.
  • inspector/debugger/navigator-view-expected.txt: Removed.
  • inspector/debugger/navigator-view.html: Removed.
  • inspector/debugger/network-uisourcecode-provider-expected.txt: Removed.
  • inspector/debugger/network-uisourcecode-provider.html: Removed.
  • inspector/debugger/properties-special-expected.txt: Removed.
  • inspector/debugger/properties-special.html: Removed.
  • inspector/debugger/resource-script-mapping-expected.txt: Removed.
  • inspector/debugger/resource-script-mapping.html: Removed.
  • inspector/debugger/reveal-execution-line-expected.txt: Removed.
  • inspector/debugger/reveal-execution-line.html: Removed.
  • inspector/debugger/script-extract-outline-expected.txt: Removed.
  • inspector/debugger/script-extract-outline.html: Removed.
  • inspector/debugger/script-formatter-breakpoints-expected.txt: Removed.
  • inspector/debugger/script-formatter-breakpoints.html: Removed.
  • inspector/debugger/script-formatter-console-expected.txt: Removed.
  • inspector/debugger/script-formatter-console.html: Removed.
  • inspector/debugger/script-snippet-model-expected.txt: Removed.
  • inspector/debugger/script-snippet-model.html: Removed.
  • inspector/debugger/scripts-panel-expected.txt: Removed.
  • inspector/debugger/scripts-panel.html: Removed.
  • inspector/debugger/scripts-sorting-expected.txt: Removed.
  • inspector/debugger/scripts-sorting.html: Removed.
  • inspector/debugger/selected-call-frame-after-formatting-source-expected.txt: Removed.
  • inspector/debugger/selected-call-frame-after-formatting-source.html: Removed.
  • inspector/debugger/set-breakpoint-expected.txt: Removed.
  • inspector/debugger/set-breakpoint.html: Removed.
  • inspector/debugger/source-frame-count-expected.txt: Removed.
  • inspector/debugger/source-frame-count.html: Removed.
  • inspector/debugger/source-frame-expected.txt: Removed.
  • inspector/debugger/source-frame.html: Removed.
  • inspector/debugger/step-through-event-listeners-expected.txt: Removed.
  • inspector/debugger/step-through-event-listeners.html: Removed.
  • inspector/debugger/ui-source-code-display-name-expected.txt: Removed.
  • inspector/debugger/ui-source-code-display-name.html: Removed.
  • inspector/debugger/ui-source-code-expected.txt: Removed.
  • inspector/debugger/ui-source-code.html: Removed.
  • inspector/debugger/watch-expressions-panel-switch-expected.txt: Removed.
  • inspector/debugger/watch-expressions-panel-switch.html: Removed.
  • inspector/debugger/watch-expressions-preserve-expansion-expected.txt: Removed.
  • inspector/debugger/watch-expressions-preserve-expansion.html: Removed.
  • inspector/debugger/xhr-breakpoints-expected.txt: Removed.
  • inspector/debugger/xhr-breakpoints.html: Removed.
  • inspector/dom-statistics-expected.txt: Removed.
  • inspector/dom-statistics.html-disabled: Removed.
  • inspector/editor/brace-matcher-expected.txt: Removed.
  • inspector/editor/brace-matcher.html: Removed.
  • inspector/editor/editor-test.js: Removed.
  • inspector/editor/highlighter-basics-expected.txt: Removed.
  • inspector/editor/highlighter-basics.html: Removed.
  • inspector/editor/highlighter-chunk-limit-expected.txt: Removed.
  • inspector/editor/highlighter-chunk-limit.html: Removed.
  • inspector/editor/highlighter-long-line-expected.txt: Removed.
  • inspector/editor/highlighter-long-line.html: Removed.
  • inspector/editor/highlighter-paste-in-comment-expected.txt: Removed.
  • inspector/editor/highlighter-paste-in-comment.html: Removed.
  • inspector/editor/highlighter-test.js: Removed.
  • inspector/editor/indentation-expected.txt: Removed.
  • inspector/editor/indentation.html: Removed.
  • inspector/editor/text-editor-brace-highlighter-expected.txt: Removed.
  • inspector/editor/text-editor-brace-highlighter.html: Removed.
  • inspector/editor/text-editor-char-to-coordinates-expected.txt: Removed.
  • inspector/editor/text-editor-char-to-coordinates.html: Removed.
  • inspector/editor/text-editor-formatter-expected.txt: Removed.
  • inspector/editor/text-editor-formatter.html: Removed.
  • inspector/editor/text-editor-highlight-api-expected.txt: Removed.
  • inspector/editor/text-editor-highlight-api.html: Removed.
  • inspector/editor/text-editor-highlight-token-expected.txt: Removed.
  • inspector/editor/text-editor-highlight-token.html: Removed.
  • inspector/editor/text-editor-home-button-expected.txt: Removed.
  • inspector/editor/text-editor-home-button.html: Removed.
  • inspector/editor/text-editor-line-breaks-expected.txt: Removed.
  • inspector/editor/text-editor-line-breaks.html: Removed.
  • inspector/editor/text-editor-long-line-expected.txt: Removed.
  • inspector/editor/text-editor-long-line.html: Removed.
  • inspector/editor/text-editor-model-expected.txt: Removed.
  • inspector/editor/text-editor-model.html: Removed.
  • inspector/editor/text-editor-remove-chunks-from-dom-expected.txt: Removed.
  • inspector/editor/text-editor-remove-chunks-from-dom.html: Removed.
  • inspector/editor/text-editor-selection-expected.txt: Removed.
  • inspector/editor/text-editor-selection-to-search-expected.txt: Removed.
  • inspector/editor/text-editor-selection-to-search.html: Removed.
  • inspector/editor/text-editor-selection.html: Removed.
  • inspector/editor/text-editor-show-whitespace-expected.txt: Removed.
  • inspector/editor/text-editor-show-whitespace.html: Removed.
  • inspector/editor/text-editor-smart-braces-expected.txt: Removed.
  • inspector/editor/text-editor-smart-braces.html: Removed.
  • inspector/editor/text-editor-token-at-position-expected.txt: Removed.
  • inspector/editor/text-editor-token-at-position.html: Removed.
  • inspector/editor/text-editor-type-over-decoration-expected.txt: Removed.
  • inspector/editor/text-editor-type-over-decoration.html: Removed.
  • inspector/editor/text-editor-undo-redo-expected.txt: Removed.
  • inspector/editor/text-editor-undo-redo.html: Removed.
  • inspector/editor/text-editor-word-jumps-expected.txt: Removed.
  • inspector/editor/text-editor-word-jumps.html: Removed.
  • inspector/elements/breadcrumb-updates-expected.txt: Removed.
  • inspector/elements/breadcrumb-updates.html: Removed.
  • inspector/elements/delete-from-document-expected.txt: Removed.
  • inspector/elements/delete-from-document.html: Removed.
  • inspector/elements/edit-dom-actions-expected.txt: Removed.
  • inspector/elements/edit-dom-actions.html: Removed.
  • inspector/elements/elements-delete-inline-style-expected.txt: Removed.
  • inspector/elements/elements-delete-inline-style.html: Removed.
  • inspector/elements/elements-img-tooltip-expected.txt: Removed.
  • inspector/elements/elements-img-tooltip.html: Removed.
  • inspector/elements/elements-inspect-iframe-from-different-domain-expected.txt: Removed.
  • inspector/elements/elements-inspect-iframe-from-different-domain.html: Removed.
  • inspector/elements/elements-panel-limited-children-expected.txt: Removed.
  • inspector/elements/elements-panel-limited-children.html: Removed.
  • inspector/elements/elements-panel-rewrite-href-expected.txt: Removed.
  • inspector/elements/elements-panel-rewrite-href.html: Removed.
  • inspector/elements/elements-panel-selection-on-refresh-expected.txt: Removed.
  • inspector/elements/elements-panel-selection-on-refresh.html: Removed.
  • inspector/elements/elements-panel-structure-expected.txt: Removed.
  • inspector/elements/elements-panel-structure.html: Removed.
  • inspector/elements/elements-panel-xhtml-structure-expected.txt: Removed.
  • inspector/elements/elements-panel-xhtml-structure.xhtml-disabled: Removed.
  • inspector/elements/event-listener-sidebar-expected.txt: Removed.
  • inspector/elements/event-listener-sidebar.html: Removed.
  • inspector/elements/event-listeners-about-blank-expected.txt: Removed.
  • inspector/elements/event-listeners-about-blank.html: Removed.
  • inspector/elements/expand-recursively-expected.txt: Removed.
  • inspector/elements/expand-recursively.html: Removed.
  • inspector/elements/hide-shortcut-expected.txt: Removed.
  • inspector/elements/hide-shortcut.html: Removed.
  • inspector/elements/iframe-load-event-expected.txt: Removed.
  • inspector/elements/iframe-load-event.html: Removed.
  • inspector/elements/insert-node-collapsed-expected.txt: Removed.
  • inspector/elements/insert-node-collapsed.html: Removed.
  • inspector/elements/insert-node-expected.txt: Removed.
  • inspector/elements/insert-node.html: Removed.
  • inspector/elements/modify-chardata-expected.txt: Removed.
  • inspector/elements/modify-chardata.html: Removed.
  • inspector/elements/move-node-expected.txt: Removed.
  • inspector/elements/move-node.html: Removed.
  • inspector/elements/node-xpath-expected.txt: Removed.
  • inspector/elements/node-xpath.xhtml: Removed.
  • inspector/elements/remove-node-expected.txt: Removed.
  • inspector/elements/remove-node.html: Removed.
  • inspector/elements/resources/iframe-load-event-iframe-1.html: Removed.
  • inspector/elements/resources/iframe-load-event-iframe-2.html: Removed.
  • inspector/elements/resources/iframe-load-event-iframe.js: Removed.
  • inspector/elements/resources/user-properties.js: Removed.
  • inspector/elements/set-html-via-resource-expected.txt: Removed.
  • inspector/elements/shadow-dom-modify-chardata-expected.txt: Removed.
  • inspector/elements/shadow-dom-modify-chardata.html: Removed.
  • inspector/elements/shadow-root-expected.txt: Removed.
  • inspector/elements/shadow-root.html: Removed.
  • inspector/elements/undo-dom-edits-2-expected.txt: Removed.
  • inspector/elements/undo-dom-edits-2.html: Removed.
  • inspector/elements/undo-dom-edits-expected.txt: Removed.
  • inspector/elements/undo-dom-edits.html: Removed.
  • inspector/elements/update-shadowdom-expected.txt: Removed.
  • inspector/elements/update-shadowdom.html: Removed.
  • inspector/elements/user-properties-expected.txt: Removed.
  • inspector/elements/user-properties.html: Removed.
  • inspector/evaluate-in-page-expected.txt: Removed.
  • inspector/evaluate-in-page.html: Removed.
  • inspector/extensions/extensions-api-expected.txt: Removed.
  • inspector/extensions/extensions-api.html: Removed.
  • inspector/extensions/extensions-audits-api-expected.txt: Removed.
  • inspector/extensions/extensions-audits-api.html: Removed.
  • inspector/extensions/extensions-audits-content-script-expected.txt: Removed.
  • inspector/extensions/extensions-audits-content-script.html: Removed.
  • inspector/extensions/extensions-audits-expected.txt: Removed.
  • inspector/extensions/extensions-audits-tests.js: Removed.
  • inspector/extensions/extensions-audits.html: Removed.
  • inspector/extensions/extensions-console-expected.txt: Removed.
  • inspector/extensions/extensions-console.html: Removed.
  • inspector/extensions/extensions-eval-content-script-expected.txt: Removed.
  • inspector/extensions/extensions-eval-content-script.html: Removed.
  • inspector/extensions/extensions-eval-expected.txt: Removed.
  • inspector/extensions/extensions-eval.html: Removed.
  • inspector/extensions/extensions-events-expected.txt: Removed.
  • inspector/extensions/extensions-events.html: Removed.
  • inspector/extensions/extensions-network-expected.txt: Removed.
  • inspector/extensions/extensions-network.html: Removed.
  • inspector/extensions/extensions-panel-expected.txt: Removed.
  • inspector/extensions/extensions-panel.html: Removed.
  • inspector/extensions/extensions-reload-expected.txt: Removed.
  • inspector/extensions/extensions-reload.html: Removed.
  • inspector/extensions/extensions-resources-expected.txt: Removed.
  • inspector/extensions/extensions-resources.html: Removed.
  • inspector/extensions/extensions-sidebar-expected.txt: Removed.
  • inspector/extensions/extensions-sidebar.html: Removed.
  • inspector/extensions/resources/abe.png: Removed.
  • inspector/extensions/resources/audits-style1.css: Removed.
  • inspector/extensions/resources/test-script.js: Removed.
  • inspector/file-mapping-expected.txt: Removed.
  • inspector/file-mapping.html: Removed.
  • inspector/file-system-mapping-expected.txt: Removed.
  • inspector/file-system-mapping.html: Removed.
  • inspector/file-system-project-expected.txt: Removed.
  • inspector/file-system-project.html: Removed.
  • inspector/filtered-item-selection-dialog-filtering-expected.txt: Removed.
  • inspector/filtered-item-selection-dialog-filtering.html: Removed.
  • inspector/inspector-backend-commands-generation-expected.txt: Removed.
  • inspector/inspector-backend-commands-generation.html: Removed.
  • inspector/map-expected.txt: Removed.
  • inspector/map.html: Removed.
  • inspector/network-status-non-http-expected.txt: Removed.
  • inspector/network-status-non-http.html: Removed.
  • inspector/profiler/canvas-profiler-test.js: Removed.
  • inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html: Removed.
  • inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas-replay-log-grid.html: Removed.
  • inspector/profiler/canvas2d/canvas-stack-trace-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas-stack-trace.html: Removed.
  • inspector/profiler/canvas2d/canvas2d-api-changes-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas2d-api-changes.html: Removed.
  • inspector/profiler/canvas2d/canvas2d-gradient-capturing-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas2d-gradient-capturing.html: Removed.
  • inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-dom-groups-change-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-dom-groups-change.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-next-actual.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-get-profile-crash-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-get-profile-crash.html: Removed.
  • inspector/profiler/heap-snapshot-inspect-dom-wrapper-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-inspect-dom-wrapper.html: Removed.
  • inspector/profiler/heap-snapshot-loader-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-loader.html: Removed.
  • inspector/profiler/heap-snapshot-reveal-in-dominators-view-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-reveal-in-dominators-view.html: Removed.
  • inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-summary-retainers-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-retainers.html: Removed.
  • inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-summary-show-ranges-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-show-ranges.html: Removed.
  • inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-fields-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-fields.html: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-instances-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-instances.html: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-test.js: Removed.
  • inspector/profiler/heap-snapshot.html: Removed.
  • inspector/profiler/resources/image.jpeg: Removed.
  • inspector/profiler/selector-profiler-url-expected.txt: Removed.
  • inspector/profiler/selector-profiler-url.html: Removed.
  • inspector/profiler/webgl/webgl-profiler-api-changes-expected.txt: Removed.
  • inspector/profiler/webgl/webgl-profiler-api-changes.html: Removed.
  • inspector/profiler/webgl/webgl-profiler-get-error-expected.txt: Removed.
  • inspector/profiler/webgl/webgl-profiler-get-error.html: Removed.
  • inspector/progress-bar-expected.txt: Removed.
  • inspector/progress-bar.html: Removed.
  • inspector/snippet-storage-expected.txt: Removed.
  • inspector/snippet-storage.html: Removed.
  • inspector/styles/commit-selector-expected.txt: Removed.
  • inspector/styles/commit-selector.html: Removed.
  • inspector/styles/css-live-edit-expected.txt: Removed.
  • inspector/styles/css-live-edit.html: Removed.
  • inspector/styles/edit-inspector-stylesheet-expected.txt: Removed.
  • inspector/styles/edit-inspector-stylesheet.html: Removed.
  • inspector/styles/edit-value-with-trimmed-url-expected.txt: Removed.
  • inspector/styles/edit-value-with-trimmed-url.html: Removed.
  • inspector/styles/force-pseudo-state-expected.txt: Removed.
  • inspector/styles/force-pseudo-state.html: Removed.
  • inspector/styles/inactive-properties-expected.txt: Removed.
  • inspector/styles/inactive-properties.html: Removed.
  • inspector/styles/lazy-computed-style-expected.txt: Removed.
  • inspector/styles/lazy-computed-style.html: Removed.
  • inspector/styles/media-emulation-expected.txt: Removed.
  • inspector/styles/media-emulation.html: Removed.
  • inspector/styles/media-queries-expected.txt: Removed.
  • inspector/styles/media-queries.html: Removed.
  • inspector/styles/metrics-box-sizing-expected.txt: Removed.
  • inspector/styles/metrics-box-sizing.html: Removed.
  • inspector/styles/paste-property-expected.txt: Removed.
  • inspector/styles/paste-property.html: Removed.
  • inspector/styles/perform-undo-perform-of-mergable-action-expected.txt: Removed.
  • inspector/styles/perform-undo-perform-of-mergable-action.html: Removed.
  • inspector/styles/protocol-css-regions-commands-expected.txt: Removed.
  • inspector/styles/protocol-css-regions-commands.html: Removed.
  • inspector/styles/selector-line-expected.txt: Removed.
  • inspector/styles/selector-line.html: Removed.
  • inspector/styles/show-user-agent-styles-expected.txt: Removed.
  • inspector/styles/show-user-agent-styles.html: Removed.
  • inspector/styles/styles-add-new-rule-expected.txt: Removed.
  • inspector/styles/styles-add-new-rule.html: Removed.
  • inspector/styles/styles-cancel-editing-expected.txt: Removed.
  • inspector/styles/styles-cancel-editing.html: Removed.
  • inspector/styles/styles-change-node-while-editing-expected.txt: Removed.
  • inspector/styles/styles-change-node-while-editing.html: Removed.
  • inspector/styles/styles-commit-editing-expected.txt: Removed.
  • inspector/styles/styles-commit-editing.html: Removed.
  • inspector/styles/styles-edit-property-after-invalid-rule-expected.txt: Removed.
  • inspector/styles/styles-edit-property-after-invalid-rule.html: Removed.
  • inspector/styles/styles-update-from-js-expected.txt: Removed.
  • inspector/styles/styles-update-from-js.html: Removed.
  • inspector/styles/styles-url-linkify-expected.txt: Removed.
  • inspector/styles/styles-url-linkify.html: Removed.
  • inspector/styles/svg-style-expected.txt: Removed.
  • inspector/styles/svg-style.xhtml: Removed.
  • inspector/styles/up-down-numerics-and-colors-expected.txt: Removed.
  • inspector/styles/up-down-numerics-and-colors.html: Removed.
  • inspector/styles/updates-during-dom-traversal-expected.txt: Removed.
  • inspector/styles/updates-during-dom-traversal.html: Removed.
  • inspector/styles/updates-throttled-expected.txt: Removed.
  • inspector/styles/updates-throttled.html: Removed.
  • inspector/styles/url-color-swatch-expected.txt: Removed.
  • inspector/styles/url-color-swatch.html: Removed.
  • inspector/styles/variables/css-variables-expected.txt: Removed.
  • inspector/styles/variables/css-variables.html: Removed.
  • inspector/styles/vendor-prefixes-expected.txt: Removed.
  • inspector/styles/vendor-prefixes.html: Removed.
  • inspector/syntax-highlight-css-expected.txt: Removed.
  • inspector/syntax-highlight-css.html: Removed.
  • inspector/syntax-highlight-html-expected.txt: Removed.
  • inspector/syntax-highlight-html.html: Removed.
  • inspector/syntax-highlight-javascript-expected.txt: Removed.
  • inspector/syntax-highlight-javascript.html: Removed.
  • inspector/syntax-highlight.js: Removed.
  • inspector/tabbed-editors-history-expected.txt: Removed.
  • inspector/tabbed-editors-history.html: Removed.
  • inspector/tabbed-pane-max-tab-width-calculation-expected.txt: Removed.
  • inspector/tabbed-pane-max-tab-width-calculation.html: Removed.
  • inspector/tabbed-pane-tabs-to-show-expected.txt: Removed.
  • inspector/tabbed-pane-tabs-to-show.html: Removed.
  • inspector/timeline-dfs-expected.txt: Removed.
  • inspector/timeline-dfs.html: Removed.
  • inspector/timeline/timeline-coalescing-expected.txt: Removed.
  • inspector/timeline/timeline-coalescing.html: Removed.
  • inspector/timeline/timeline-enum-stability-expected.txt: Removed.
  • inspector/timeline/timeline-enum-stability.html: Removed.
  • inspector/uisourcecode-revisions-expected.txt: Removed.
  • inspector/uisourcecode-revisions.html: Removed.
  • inspector/user-metrics-expected.txt: Removed.
  • inspector/user-metrics.html: Removed.
  • inspector/utilities-highlight-results-expected.txt: Removed.
  • inspector/utilities-highlight-results.html: Removed.
  • inspector/version-controller-expected.txt: Removed.
  • inspector/version-controller.html: Removed.
  • inspector/view-css-expected.txt: Removed.
  • inspector/view-css.html: Removed.
  • inspector/view-events-expected.txt: Removed.
  • inspector/view-events.html: Removed.
  • inspector/workspace-mapping-expected.txt: Removed.
  • inspector/workspace-mapping.html: Removed.
4:13 PM Changeset in webkit [164514] by jer.noble@apple.com
  • 14 edits
    3 copies
    1 move
    1 add
    1 delete in trunk/Source/WebCore

Make a generic CDMPrivateMediaPlayer and move its CDMSession into platform/.
https://bugs.webkit.org/show_bug.cgi?id=129164

Reviewed by Eric Carlson.

Move the session created by CDMPrivateAVFoundation into platform, and rename
CDMPrivateAVFoundation to CDMPrivateMediaPlayer. Future media engines who want
to support a keysystem from within the media engine can create their own
CDMSession as part of the MediaPlayerPrivate interface.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories):
(WebCore::CDM::createSession):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMPrivate.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:
  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Removed.
  • Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.cpp.

(WebCore::CDMPrivateMediaPlayer::supportsKeySystem):
(WebCore::CDMPrivateMediaPlayer::supportsKeySystemAndMimeType):
(WebCore::CDMPrivateMediaPlayer::supportsMIMEType):
(WebCore::CDMPrivateMediaPlayer::createSession):

  • Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.

(WebCore::CDMPrivateMediaPlayer::create):
(WebCore::CDMPrivateMediaPlayer::~CDMPrivateMediaPlayer):
(WebCore::CDMPrivateMediaPlayer::cdm):
(WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/CDMSession.h: Extracted from CDMPrivateAVFoundation.h.

(WebCore::CDMSessionClient::~CDMSessionClient):
(WebCore::CDMSession::CDMSession):
(WebCore::CDMSession::~CDMSession):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::createSession):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::createSession):

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.

(WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.mm.

(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::releaseKeys):
(WebCore::CDMSessionAVFoundationObjC::update):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):

  • testing/MockCDM.cpp:

(WebCore::MockCDMSession::setClient):
(WebCore::MockCDM::createSession):

  • testing/MockCDM.h:
4:12 PM Changeset in webkit [164513] by jer.noble@apple.com
  • 13 edits in trunk/Source/WebCore

Add a supportsKeySystem media engine factory parameter.
https://bugs.webkit.org/show_bug.cgi?id=129161

Reviewed by Eric Carlson.

Add a new parameter to the MediaPlayerFactory to allow registered media
engines to be queried for keySystem support:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayerFactory::MediaPlayerFactory):
(WebCore::MediaPlayer::supportsKeySystem):

  • platform/graphics/MediaPlayer.h:

Support this new field in MediaPlayerPrivateAVFoundationObjC:

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):

Add an empty field for SupportsKeySystem to the remaining media engines:

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

(WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):

  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::registerMediaEngine):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::registerMediaEngine):

4:10 PM Changeset in webkit [164512] by commit-queue@webkit.org
  • 8 edits
    1 delete in trunk

Web Inspector: Replace binarySearch with lowerBound and upperBound functions
https://bugs.webkit.org/show_bug.cgi?id=118609

Patch by Chi Wai Lau <clau@apple.com> on 2014-02-21
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).

  • UserInterface/BinarySearch.js: Removed.
  • UserInterface/Main.html:
  • UserInterface/Utilities.js:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

LayoutTests:

  • inspector/utilities-expected.txt:
  • inspector/utilities.html:
4:05 PM Changeset in webkit [164511] by dbates@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

[Win] fast/table/col-and-colgroup-offsets.html - offsetHeight differs from Mac results
https://bugs.webkit.org/show_bug.cgi?id=129179

The test col-and-colgroup-offsets.html is failing on the Apple Win Debug (Tests) bot due
to platform-specific numeric differences in the computed offsetHeight of the table cells.
For now, I am landing Windows-specific expected results as the behavior tested by the test
is correct despite the numerical differences. I'll further investigate the Window-specific
difference in <https://bugs.webkit.org/show_bug.cgi?id=129179>.

  • platform/win/fast/table/col-and-colgroup-offsets-expected.txt: Added.
4:01 PM Changeset in webkit [164510] by BJ Burg
  • 11 edits
    1 delete in trunk

Web Inspector: animate breakpoint tree elements when probe samples are received
https://bugs.webkit.org/show_bug.cgi?id=128334

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.
  • UserInterface/BreakpointTreeElement.css: When we want to animateon top of the

static icon, we set the icon image as the icon element's background, and animate
a span on top of the icon element.

(.breakpoint-exception-icon .icon): Moved.
(.breakpoint-generic-line-icon .icon):
(.breakpoint-generic-line-icon .icon > span): Added.
(.data-updated.breakpoint-generic-line-icon .icon > span): Added.

  • UserInterface/BreakpointTreeElement.js:

(WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
(WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
(WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
(WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
(WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
(WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
Add/remove listeners when probe sets change.

(WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
the active data table.

(WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
(WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.

  • UserInterface/Main.html: Remove BreakpointIcons.css.
  • UserInterface/NavigationSidebarPanel.css:

(.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
'position: relative' so child spans can be absolutely positioned.

  • UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data

container. The probe set used to be passed as the data container itself.
(WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):

  • UserInterface/ProbeManager.js:

(WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
(WebInspector.ProbeManager.prototype._breakpointActionsChanged):
(WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):

  • UserInterface/ProbeSet.js:

(WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.

  • UserInterface/TextResourceContentView.js:

(WebInspector.TextResourceContentView.prototype._probeSetsChanged):

LayoutTests:

Adjust probe manager tracing listeners to access the correct data container property.

  • inspector-protocol/resources/probe-helper.js:

(ProbeHelper.installTracingListeners):

3:44 PM Changeset in webkit [164509] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix WebCore's internals after r164505

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

  • testing/Internals.cpp:

(WebCore::Internals::findEditingDeleteButton): The call became ambiguous after r164505.

3:38 PM Changeset in webkit [164508] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Update the visible content rects on zoom
https://bugs.webkit.org/show_bug.cgi?id=129174

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

Generalize _updateVisibleContentRects to also act during the zoom and not only at the end.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewDidZoom:]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView scrollViewDidZoom:]):

3:35 PM Changeset in webkit [164507] by Joseph Pecoraro
  • 25 edits in trunk/Source

Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSValue.mm:

(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

  • inspector/ScriptCallStack.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/ConsoleMessage.h:
  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):

  • inspector/ScriptCallStackFactory.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):

  • page/Console.cpp:

(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

  • UserInterface/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

3:30 PM Changeset in webkit [164506] by dfarler@apple.com
  • 4 edits in trunk/Tools

Make old-run-webkit-tests work with iOS Simulator WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=128622

Reviewed by Simon Fraser.

With this change, we now have layout tests running in both DumpRenderTree
and WebKitTestRunner, with WebKit and WebKit2 used respectively in the iOS
simulator.

  • Scripts/old-run-webkit-tests:

In general, make any specific reference to DumpRenderTree
able to refer to WebKitTestRunner wherever possible:

  • Rename functions to remove DRT-specific naming.
  • Name FIFOs after the tool that is being used.

-- Clean up FIFO creation code
Other necessary changes:

  • Allow use of an ios-sim-wk2 platform.
  • Clean up platform hierarchy creation where the simulator platform behavior differed.
  • WebKitTestRunner/TestController.cpp:

Open FIFOs to get dumps out of the simulator as we do in DumpRenderTree.
(WTR::TestController::TestController):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

Copy the injected bundle into the app bundle.

2:47 PM Changeset in webkit [164505] by benjamin@webkit.org
  • 18 edits in trunk/Source

jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
https://bugs.webkit.org/show_bug.cgi?id=128893

Reviewed by Darin Adler.

Source/WebCore:

The declaration of TreeScope::getElementById() was taking an AtomicString as the parameter.
Because of this, all the call sites manipulating String were creating and keeping alive an AtomicString
to make the call.

This had two negative consequences:
-The call sites were ref-ing the ID's atomic string for no reason.
-When there is no ID associated with the input string, an atomic string was created for the sole

purpose of failing the query. Since IDs are stored as AtomicString, if there is not an existing
AtomicString for the input, there is no reason to query anything.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::findAtomicString): Update this after the rename.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:

Now that there are two overloads for TreeScope::getElementById(), the conversion from NSString*
is ambiguous. I add the keyword ObjCExplicitAtomicString to force an explicit conversion to AtomicString.

  • dom/Document.idl:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById):
When getting an AtomicString, the case of a empty string is not important, use isNull() instead.
When getting a String, get the corresponding AtomicString if any and use that for getting the element.

  • dom/TreeScope.h:
  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
Solve the ambiguous call.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):
This is a wonderful candidate for substringSharingImpl. The substring does not survive the call since
the new getElementById never create any AtomicString.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::getElementById):
It looks like there are opportunities to get faster here, Ryosuke should have a look.

  • svg/SVGSVGElement.h:
  • xml/XMLTreeViewer.cpp:

(WebCore::XMLTreeViewer::transformDocumentToTreeView):
Unrelated cleanup: noStyleMessage was useless.

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::pageNumberForElementById): Remove the explicit conversion to use the right overload.

Source/WTF:

AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
be called under specific conditions.
The method is renamed to findStringWithHash().

The new AtomicString::find is generic and does not require any propery on the input.

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::findStringWithHash):
(WTF::AtomicString::findSlowCase):

  • wtf/text/AtomicString.h:

(WTF::AtomicString::find):

2:38 PM Changeset in webkit [164504] by dbates@webkit.org
  • 6 edits
    2 adds in trunk

COL element in table has 0 for offsetWidth
https://bugs.webkit.org/show_bug.cgi?id=15277

Reviewed by David Hyatt.

Source/WebCore:

Implements offset{Left, Top, Width, Height} for table columns and column groups
per section Extensions to the HTMLElement Interface of the CSSOM View spec,
<http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface> (Draft 17 December 2013).

For now, we fail almost all of the offset{Height, Top} sub-tests in the included test
for the separate border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

Test: fast/table/col-and-colgroup-offsets.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::RenderTable): Initialize cached column offset top and offset height.
We cache these offsets since they are the same for all columns in the table.
(WebCore::RenderTable::invalidateCachedColumns): Clear cached effective column index map.
(WebCore::RenderTable::invalidateCachedColumnOffsets): Added.
(WebCore::RenderTable::layout): Invalidate cached column offsets as the location or height
of one or more sections may have changed.
(WebCore::RenderTable::updateColumnCache): Modified to build effective column index map.
(WebCore::RenderTable::effectiveIndexOfColumn): Added.
(WebCore::RenderTable::offsetTopForColumn): Added.
(WebCore::RenderTable::offsetLeftForColumn): Added.
(WebCore::RenderTable::offsetWidthForColumn): Added.
(WebCore::RenderTable::offsetHeightForColumn): Added.

  • rendering/RenderTable.h: Make isTableColumnGroupWithColumnChildren() const.
  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::offsetLeft): Added; turns around and calls RenderTable::offsetLeftForColumn().
(WebCore::RenderTableCol::offsetTop): Added; turns around and calls RenderTable::offsetTopForColumn().
(WebCore::RenderTableCol::offsetWidth): Added; turns around and calls RenderTable::offsetWidthForColumn().
(WebCore::RenderTableCol::offsetHeight): Added; turns around and calls RenderTable::offsetHeightForColumn().

  • rendering/RenderTableCol.h:

LayoutTests:

Added test to ensure that offset{Left, Top, Width, Height} return correct results
for table columns and column groups.

For now, we fail almost all of the offset{Height, Top} sub-tests for the separate
border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

  • fast/table/col-and-colgroup-offsets-expected.txt: Added.
  • fast/table/col-and-colgroup-offsets.html: Added.
2:37 PM Changeset in webkit [164503] by oliver@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Add extra space to op_call and related opcodes
https://bugs.webkit.org/show_bug.cgi?id=129170

Reviewed by Mark Lam.

No change in behaviour, just some refactoring to add an extra
slot to the op_call instructions, and refactoring to make similar
changes easier in future.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct):

  • dfg/DFGByteCodeParser.cpp:

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

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
2:34 PM Changeset in webkit [164502] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for iOS after r164498.

Unreviewed.

  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::buffered):

2:33 PM Changeset in webkit [164501] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Disallow the use of -webkit-user-modify on shadow pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=129144

Reviewed by Geoffrey Garen.

Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.

We've already had rules to do this in html.css but just hard code it into the engine
in order to eliminate the all uses of -webkit-user-modify in html.css.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • css/html.css:

(input::-webkit-textfield-decoration-container):
(input::-webkit-clear-button):
(input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-decoration):
(input[type="search"]::-webkit-search-results-decoration):
(input[type="search"]::-webkit-search-results-button):
(input::-webkit-inner-spin-button):
(input::-webkit-input-speech-button):
(input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
(input[type="file"]::-webkit-file-upload-button):
(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-slider-runnable-track):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="color"]::-webkit-color-swatch-wrapper):
(input[type="color"]::-webkit-color-swatch):
(::-webkit-validation-bubble):
(::-webkit-validation-bubble-message):
(::-webkit-validation-bubble-text-block):
(::-webkit-validation-bubble-heading):
(::-webkit-validation-bubble-arrow):
(::-webkit-validation-bubble-arrow-clipper):
(meter::-webkit-meter-inner-element):
(meter::-webkit-meter-bar):
(meter::-webkit-meter-optimum-value):
(meter::-webkit-meter-suboptimum-value):
(meter::-webkit-meter-even-less-good-value):
(progress::-webkit-progress-inner-element):
(progress::-webkit-progress-bar):
(progress::-webkit-progress-value):

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

gatherFromOtherThread() needs to align the sp before gathering roots.
<https://webkit.org/b/129169>

Reviewed by Geoffrey Garen.

The GC scans the stacks of other threads using MachineThreads::gatherFromOtherThread().
gatherFromOtherThread() defines the range of the other thread's stack as
being bounded by the other thread's stack pointer and stack base. While
the stack base will always be aligned to sizeof(void*), the stack pointer
may not be. This is because the other thread may have just pushed a 32-bit
value on its stack before we suspended it for scanning.

The fix is to round the stack pointer up to the next aligned address of
sizeof(void*) and start scanning from there. On 64-bit systems, we will
effectively ignore the 32-bit word at the bottom of the stack (top of the
stack for stacks growing up) because it cannot be a 64-bit pointer anyway.
64-bit pointers should always be stored on 64-bit aligned boundaries (our
conservative scan algorithm already depends on this assumption).

On 32-bit systems, the rounding is effectively a no-op.

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddSpan):

  • Hardened somne assertions so that we can catch misalignment issues on release builds as well.
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromOtherThread):

2:26 PM Changeset in webkit [164499] by Joseph Pecoraro
  • 2 edits in trunk/Tools

run-webkit-httpd fails to find httpd configuation file.

Reviewed by Ryosuke Niwa.

  • Scripts/webkitperl/httpd.pm:

(getHTTPDConfigPathForTestDirectory):

2:04 PM Changeset in webkit [164498] by eric.carlson@apple.com
  • 41 edits
    2 adds in trunk

Fix TimeRanges layering violations
https://bugs.webkit.org/show_bug.cgi?id=128717

Reviewed by NOBODY (OOPS!).

Source/WebCore:

No new tests, no functionality changed.

  • CMakeLists.txt:
  • GNUmakefile.list.am: Add PlatformTimeRanges.
  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::buffered): TimeRanges -> PlatformTimeRanges.

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): TimeRanges* -> TimeRanges&.

  • WebCore.exp.in: Update for signature changes.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj: Add PlatformTimeRanges.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::percentLoaded): Create TimeRanges from PlatformTimeRanges.
(WebCore::HTMLMediaElement::buffered): Ditto.
(WebCore::HTMLMediaElement::seekable): Ditto.

  • html/MediaController.cpp:

(MediaController::buffered): TimeRanges* -> TimeRanges&.
(MediaController::seekable): Ditto.
(MediaController::played): Ditto.

Move all of the logic into PlatformTimeRanges. Change API to take TimeRanges& instead of TimeRanges*.

  • html/TimeRanges.cpp:

(WebCore::TimeRanges::create): Move to .cpp from .h.
(WebCore::TimeRanges::TimeRanges): Initialize the PlatformTimeRanges member variable.
(WebCore::TimeRanges::start): Passthrough to PlatformTimeRanges.
(WebCore::TimeRanges::end): Ditto.
(WebCore::TimeRanges::invert): Ditto.
(WebCore::TimeRanges::copy): Ditto.
(WebCore::TimeRanges::intersectWith): Ditto.
(WebCore::TimeRanges::unionWith): Ditto.
(WebCore::TimeRanges::length): Ditto.
(WebCore::TimeRanges::add): Ditto.
(WebCore::TimeRanges::contain): Ditto.
(WebCore::TimeRanges::find): Ditto.
(WebCore::TimeRanges::nearest): Ditto.
(WebCore::TimeRanges::totalDuration): Ditto.

  • html/TimeRanges.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::buffered): TimeRanges -> PlatformTimeRanges.
(WebCore::MediaPlayer::buffered): Ditto.
(WebCore::MediaPlayer::seekable): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/MediaSourcePrivateClient.h:
  • platform/graphics/PlatformTimeRanges.cpp: Added.
  • platform/graphics/PlatformTimeRanges.h: Added.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::buffered): TimeRanges -> PlatformTimeRanges.
(WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Drive-by fix to log

FunctionType notifications. ASSERT when passed an unknown notification.

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

(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges): TimeRanges -> PlatformTimeRanges.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges): Ditto.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::buffered): Ditto.

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

(WebCore::MediaPlayerPrivateQTKit::buffered): Ditto.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::buffered): Ditto.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
  • platform/graphics/wince/MediaPlayerPrivateWinCE.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::buffered): Ditto.
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: TimeRanges::create(void) for Internals.

Tools:

  • TestWebKitAPI/Tests/WebCore/TimeRanges.cpp: TimeRanges* -> TimeRanges&.

(TestWebKitAPI::TEST):

1:56 PM Changeset in webkit [164497] by enrica@apple.com
  • 18 edits in trunk/Source

Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

../WebCore:

Adding some exports.

  • WebCore.exp.in:

../WebKit2:

This is the remaining work on block selections for iOS in WK2.
Once a block selection has been created with a long press gesture
on a selectable area, we can interact with it by touching the four
handles at the top, right, bottom and left side of the selection box.
Expanding or shrinking a block selection requires finding the next/previous
block in the direction of the movement, depending on the handle we
are interacting with.
Every time a new block is selected, we compute the thresholds required
to trigger another block change. The thresholds are sent back to the
UIProcess that will use this information to decide when to activate
the new selection, either bigger or smaller.
This patch also fixes a bug in selectWithTwoTouches where the points
were not mapped to the active frame.

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

(WebKit::PageClientImpl::didUpdateBlockSelectionWithTouches):

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _didUpdateBlockSelectionWithTouches:withFlags:growThreshold:shrinkThreshold:]):

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

(-[WKInteractionView hasSelectablePositionAtPoint:]):
(-[WKInteractionView clearSelection]):
(toWKHandlePosition):
(-[WKInteractionView _didUpdateBlockSelectionWithTouches:WebKit::withFlags:WebKit::growThreshold:shrinkThreshold:]):
(-[WKInteractionView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):

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

(WebKit::WebPageProxy::updateBlockSelectionWithTouches):
(WebKit::WebPageProxy::didUpdateBlockSelectionWithTouches):

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

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::WebPage::selectWithGesture):
(WebKit::distanceBetweenRectsForPosition):
(WebKit::rectsEssentiallyTheSame):
(WebKit::containsRange):
(WebKit::unionDOMRanges):
(WebKit::computeEdgeCenter):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
(WebKit::shouldExpand):
(WebKit::WebPage::changeBlockSelection):
(WebKit::WebPage::updateBlockSelectionWithTouches):
(WebKit::WebPage::clearSelection):
(WebKit::WebPage::selectWithTwoTouches):
(WebKit::WebPage::getPositionInformation):

1:52 PM Changeset in webkit [164496] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Added a GetMyArgumentsLengthSafe and added a speculation check.
https://bugs.webkit.org/show_bug.cgi?id=129051

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-21
Reviewed by Filip Pizlo.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

1:29 PM Changeset in webkit [164495] by benjamin@webkit.org
  • 9 edits in trunk

'mouseenter' mouse compat event not fired when listeners for touch events
https://bugs.webkit.org/show_bug.cgi?id=128534

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-21
Reviewed by Andreas Kling.

Source/WebCore:

The code dispatching mouseenter and mouseleave events was making the assumption that
only mouse move would cause Document::updateHoverActiveState.

This is not true in some cases. In the case of this bug, the first touch handler sets
the hover state. From there, the code handling enter/leave is in an inconsistent state.

This patch changes the delivery of mouse enter/leave events to be done through the regular
processing of mouse events. The update is done with the mouseover and mouseout events.

  • dom/Document.cpp:

(WebCore::Document::prepareMouseEvent):
(WebCore::Document::updateHoverActiveState):

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

(WebCore::nearestCommonHoverAncestor):
(WebCore::hierarchyHasCapturingEventListeners):
(WebCore::EventHandler::updateMouseEventTargetNode):

LayoutTests:

The existing tests for mouseenter/mouseleave had very poor readability which made them
useless for debugging.
This updates them to log what cause the events, and log all the events everywhere on the page.

  • fast/events/mouseenter-mouseleave-capture-expected.txt:
  • fast/events/mouseenter-mouseleave-capture.html:
  • fast/events/mouseenter-mouseleave-expected.txt:
  • fast/events/mouseenter-mouseleave.html:
1:26 PM Changeset in webkit [164494] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Win][LLINT] Many JSC stress test failures.
https://bugs.webkit.org/show_bug.cgi?id=129155

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-21
Reviewed by Michael Saboff.

Intel syntax has reversed operand order compared to AT&T syntax, so we need to swap the operand order, in this case on floating point operations.
Also avoid using the reverse opcode (e.g. fdivr), as this puts the result at the wrong position in the floating point stack.
E.g. "divd ft0, ft1" would translate to fdivr st, st(1) (Intel syntax) on Windows, but this puts the result in st, when it should be in st(1).

  • offlineasm/x86.rb: Swap operand order on Windows.
12:37 PM Changeset in webkit [164493] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

DFG write barriers should do more speculations
https://bugs.webkit.org/show_bug.cgi?id=129160

Reviewed by Mark Hahnenberg.

Replace ConditionalStoreBarrier with the cheapest speculation that you could do
instead.

Miniscule speed-up on some things. It's a decent difference in code size, though.

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):

  • bytecode/SpeculatedType.h:

(JSC::isNotCellSpeculation):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertPhantomCheck):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateOther):
(JSC::DFG::Node::shouldSpeculateNotCell):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):

12:37 PM Changeset in webkit [164492] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

Crash reloading page with position: fixed content
https://bugs.webkit.org/show_bug.cgi?id=129119
<rdar://problem/16127090>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::removeDestroyedNodes):
Check the node's ID against the latched node's ID before the node is
removed from the tree.

LayoutTests:

  • platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html: Added.
12:18 PM Changeset in webkit [164491] by Joseph Pecoraro
  • 25 edits in trunk/Source

Revert r164486, causing a number of test failures.

Source/JavaScriptCore:

Unreviewed rollout.

Source/WebCore:

Unreviewed rollout.

Source/WebInspectorUI:

Unreviewed rollout.

11:51 AM WebInspectorTests created by BJ Burg
explain how inspector protocol tests work
11:48 AM Changeset in webkit [164490] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Revive SABI (aka shouldAlwaysBeInlined)
https://bugs.webkit.org/show_bug.cgi?id=129159

Reviewed by Mark Hahnenberg.

This is a small Octane speed-up.

  • jit/Repatch.cpp:

(JSC::linkFor): This code was assuming that if it's invoked then the caller is a DFG code block. That's wrong, since it's now used by all of the JITs.

11:38 AM Changeset in webkit [164489] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

StyleResolver::loadPendingImage() should take a reference to StylePendingImage
<http://webkit.org/b/129021>

Reviewed by Brent Fulgham.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage): Change pendingImage
parameter to a reference.
(WebCore::StyleResolver::loadPendingShapeImage): Update to use
references.
(WebCore::StyleResolver::loadPendingImages): Ditto.

  • css/StyleResolver.h:

(WebCore::StyleResolver::loadPendingImage): Change pendingImage
parameter to a reference.

11:28 AM Changeset in webkit [164488] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make sure to invoke the completion handler for JS alerts
https://bugs.webkit.org/show_bug.cgi?id=129158

Reviewed by Alexey Proskuryakov.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

11:17 AM Changeset in webkit [164487] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Web Inspector: update check-webkit-style to flag single quotes in WebInspectorUI projects
https://bugs.webkit.org/show_bug.cgi?id=128422

Patch by Diego Pino García <Diego Pino Garcia> on 2014-02-21
Reviewed by Joseph Pecoraro.

  • Scripts/webkitpy/style/checkers/js.py:

(JSChecker.init):
(JSChecker.check):
(SingleQuoteChecker):
(SingleQuoteChecker.init):
(SingleQuoteChecker.check):

  • Scripts/webkitpy/style/checkers/js_unittest.py:

(JSTestCase.assertError.error_for_test):
(JSTestCase.assertError):
(JSTestCase.test_no_error):
(JSTestCase.test_error):

11:14 AM Changeset in webkit [164486] by Joseph Pecoraro
  • 25 edits in trunk/Source

Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Source/JavaScriptCore:

Reviewed by Timothy Hatcher.

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSValue.mm:

(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

  • inspector/ScriptCallStack.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/ConsoleMessage.h:
  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):

  • inspector/ScriptCallStackFactory.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):

  • page/Console.cpp:

(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

Reviewed by Timothy Hatcher.

  • UserInterface/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

11:12 AM WikiStart edited by BJ Burg
add web inspector tests link (diff)
8:51 AM Changeset in webkit [164485] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fixing the !ENABLE(SVG_FONTS) build
https://bugs.webkit.org/show_bug.cgi?id=129150

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-02-21
Reviewed by Anders Carlsson.

No new tests required.

  • svg/SVGAltGlyphElement.cpp:
  • svg/SVGAltGlyphElement.h:
  • svg/svgtags.in:
8:45 AM Changeset in webkit [164484] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Modernize JSGlobalLock and JSLockHolder
https://bugs.webkit.org/show_bug.cgi?id=129105

Reviewed by Michael Saboff.

Use std::mutex and std::thread::id where possible.

  • runtime/JSLock.cpp:

(JSC::GlobalJSLock::GlobalJSLock):
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::GlobalJSLock::initialize):
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):

  • runtime/JSLock.h:
7:53 AM Changeset in webkit [164483] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: scrollbar may appear when selecting a stop in gradient editor
https://bugs.webkit.org/show_bug.cgi?id=129149

Reviewed by Timothy Hatcher.

Ensure the angle input is not focused as we update the size of the gradient editor's
popover content since, if it were, it'd make a scrollbar appear as we animate the
popover's frame to fit its new content.

  • UserInterface/CodeMirrorGradientEditingController.js:

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):

7:29 AM Changeset in webkit [164482] by stavila@adobe.com
  • 23 edits in trunk/Source/WebCore

[CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead of the generic RenderRegion whenever possible
https://bugs.webkit.org/show_bug.cgi?id=128599

Reviewed by Andrei Bucur.

Use the named flow specific RenderNamedFlowFragment instead of the generic RenderRegion, whenever possible.
Move named flow specific methods from RenderRegion to RenderNamedFlowFragment.

No new tests required.

  • dom/Element.cpp:

(WebCore::Element::renderNamedFlowFragment):
(WebCore::Element::webkitRegionOverset):
(WebCore::Element::webkitGetRegionFlowRanges):

  • dom/Element.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForRegions):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

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

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::getRanges):

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

(WebCore::RenderNamedFlowThread::updateWritingMode):
(WebCore::compareRenderNamedFlowFragments):
(WebCore::addFragmentToList):
(WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::getRanges):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::paint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

3:26 AM Changeset in webkit [164481] by abucur@adobe.com
  • 4 edits
    14 adds in trunk

[CSS Regions] Regions don't paint correctly in new-multicol elements
https://bugs.webkit.org/show_bug.cgi?id=120711

Reviewed by David Hyatt.

Source/WebCore:

This patch implements basic support for regions inside multi-column elements.
Currently, the painting and hit-testing logic of CSS Regions is not aware of
enclosing multi-column elements. The change is integrated at a layer level by
making use of the pre-computed layer fragments during the painting and hit-testing
phases for regions.

There are limitations such that self painting layers found inside the named flow
thread layer will not be correctly processed because they don't go through the
layer fragment collection step. This is not trivial to implement because the enclosing
pagination layer provided by the multi-column element is not visibile from inside
the named flow thread layer and they reside in different coordinate systems.

A side effect of this patch is the fix of regions incorrect clipping in certain
cases (when both a region and its container clip their overflow, the region's
content is visible outside the container).

Tests: fast/regions/region-clipping.html

fast/regions/regions-in-multicol-bt.html
fast/regions/regions-in-multicol-hover-overflow.html
fast/regions/regions-in-multicol-hover.html
fast/regions/regions-in-multicol-lr.html
fast/regions/regions-in-multicol-rl.html
fast/regions/regions-in-multicol.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
(WebCore::RenderLayer::hitTestFlowThreadIfRegionForFragments):

  • rendering/RenderLayer.h:

LayoutTests:

Add tests for regions in multi-column elements and a test that verifies
regions are correctly clipped by their containers when both have hidden
overflow.
For the non horizontal-tb writing modes tests there's no overflow after the
last region because it's not rendered correctly yet in a new column.

  • fast/regions/region-clipping-expected.html: Added.
  • fast/regions/region-clipping.html: Added.
  • fast/regions/regions-in-multicol-bt-expected.html: Added.
  • fast/regions/regions-in-multicol-bt.html: Added.
  • fast/regions/regions-in-multicol-expected.html: Added.
  • fast/regions/regions-in-multicol-hover-expected.html: Added.
  • fast/regions/regions-in-multicol-hover-overflow-expected.html: Added.
  • fast/regions/regions-in-multicol-hover-overflow.html: Added.
  • fast/regions/regions-in-multicol-hover.html: Added.
  • fast/regions/regions-in-multicol-lr-expected.html: Added.
  • fast/regions/regions-in-multicol-lr.html: Added.
  • fast/regions/regions-in-multicol-rl-expected.html: Added.
  • fast/regions/regions-in-multicol-rl.html: Added.
  • fast/regions/regions-in-multicol.html: Added.
1:19 AM Changeset in webkit [164480] by commit-queue@webkit.org
  • 46 edits in trunk

[CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=128805

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

Source/WebCore:

The spec defines the mix-blend-mode property. This means that the
prefixed version should be -webkit-mix-blend-mode, instead of
-webkit-blend-mode.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

LayoutTests:

The spec defines the mix-blend-mode property. This means that the
prefixed version should be -webkit-mix-blend-mode, instead of
-webkit-blend-mode. Update all tests accordingly.

  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
  • css3/compositing/blend-mode-layers.html:
  • css3/compositing/blend-mode-overflow.html:
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
  • css3/compositing/blend-mode-property-expected.txt:
  • css3/compositing/blend-mode-property-parsing-expected.txt:
  • css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
  • css3/compositing/blend-mode-reflection.html:
  • css3/compositing/blend-mode-simple-composited.html:
  • css3/compositing/blend-mode-simple.html:
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
  • css3/compositing/resources/red-circle.svg:
  • css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:

(testInvalidFilterRule):

  • css3/compositing/script-tests/blend-mode-property-parsing.js:

(testBlendModeRule):

  • css3/compositing/script-tests/blend-mode-property.js:

(testblendmode):

  • css3/compositing/svg-blend-color-burn.html:
  • css3/compositing/svg-blend-color-dodge.html:
  • css3/compositing/svg-blend-color.html:
  • css3/compositing/svg-blend-darken.html:
  • css3/compositing/svg-blend-difference.html:
  • css3/compositing/svg-blend-exclusion.html:
  • css3/compositing/svg-blend-hard-light.html:
  • css3/compositing/svg-blend-hue.html:
  • css3/compositing/svg-blend-layer-blend.html:
  • css3/compositing/svg-blend-layer-clip-path.html:
  • css3/compositing/svg-blend-layer-filter.html:
  • css3/compositing/svg-blend-layer-mask.html:
  • css3/compositing/svg-blend-layer-opacity.html:
  • css3/compositing/svg-blend-layer-shadow.html:
  • css3/compositing/svg-blend-lighten.html:
  • css3/compositing/svg-blend-luminosity.html:
  • css3/compositing/svg-blend-multiply-alpha.html:
  • css3/compositing/svg-blend-multiply.html:
  • css3/compositing/svg-blend-normal.html:
  • css3/compositing/svg-blend-overlay.html:
  • css3/compositing/svg-blend-saturation.html:
  • css3/compositing/svg-blend-screen.html:
  • css3/compositing/svg-blend-soft-light.html:
  • transitions/blendmode-transitions-expected.txt:
  • transitions/blendmode-transitions.html:
12:57 AM Changeset in webkit [164479] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Bindings tests rebaseline after r164473.

  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj mutablePoint]):
(-[DOMTestObj immutablePoint]):
(-[DOMTestObj mutablePointFunction]):
(-[DOMTestObj immutablePointFunction]):

  • bindings/scripts/test/ObjC/DOMTestTypedefs.mm:

(-[DOMTestTypedefs immutablePointFunction]):

12:29 AM Changeset in webkit [164478] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Remove removed symbol from exports list.

  • WebCore.exp.in:

Feb 20, 2014:

11:46 PM Changeset in webkit [164477] by ChangSeok Oh
  • 16 edits
    2 moves
    4 adds
    1 delete in trunk

Rename EXT_draw_buffers to WEBGL_draw_buffers
https://bugs.webkit.org/show_bug.cgi?id=128894

Reviewed by Dean Jackson.

Source/WebCore:

I noticed the related spec has changed. Accordingly chromium also changed its implementation
to meet the spec. So here I'd like to apply it to webkit as well.

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

Test: fast/canvas/webgl/webgl-draw-buffers.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):

  • html/canvas/EXTDrawBuffers.idl: Removed.
  • html/canvas/WebGLDrawBuffers.cpp: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.cpp.

(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::~WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::getName):
(WebCore::WebGLDrawBuffers::create):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLDrawBuffers.h: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.h.
  • html/canvas/WebGLDrawBuffers.idl: Added.
  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContext::supportsDrawBuffers):

  • html/canvas/WebGLRenderingContext.h:

LayoutTests:

webgl-draw-buffers.html came from Khronos's webgl conformace tests. It requires
some new apis in webgl-test-utils.js so that it is updated as well. The attached
test results are for mac. But they're expected to fail since EXT_draw_buffers are
disabled with some reason. See WebGLDrawBuffers::supported. So I add a line
for webgl-draw-buffers.html to mac/TestExpectations.

  • fast/canvas/webgl/resources/webgl-test-utils.js:

(WebGLTestUtils):
(WebGLTestUtils.):

  • fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
  • fast/canvas/webgl/webgl-draw-buffers.html: Added.
  • platform/mac-mountainlion/fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
  • platform/mac/TestExpectations:
10:45 PM Changeset in webkit [164476] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update test expectations after r164449.

10:40 PM Changeset in webkit [164475] by rniwa@webkit.org
  • 10 edits in trunk

m_ancestorDisabledState should never be unknown
https://bugs.webkit.org/show_bug.cgi?id=129084

Reviewed by Benjamin Poulain.

Source/WebCore:

In order to resolve the bug 129035, a text form control elements needs to synchronously change
its inner text element's editability by setting or unsetting contenteditable content attribute.
Before this patch, we could not do this because editability of a text form control dependent on
its disabled-ness which was only computed lazily via updateAncestorDisabledState().

This patch makes HTMLFieldSetElement and HTMLFormControlElement update this state synchronously.
To avoid O(k) DOM traversal, where k is the depth of the tree, in insertedInto and removedFrom of
HTMLFormControlElement on most pages, a new document-level flag, m_disabledFieldsetElementsCount,
has been added to indicate whether the document contains any disabled fieldset or not.

Also renamed the misleadingly named disabledAttributeChanged to disabledStateChanged, and added
new function of the same name (disabledAttributeChanged) to be used by HTMLFieldSetElement
for keeping the document-level flag up-to-date upon disabled attribute changes.

Tests: fast/forms/fieldset/fieldset-disabled-2.html

  • dom/Document.cpp:

(WebCore::Document::Document): Initializes newly added m_disabledFieldsetElementsCount.
(WebCore::Document::~Document): Assert that we've done house keeping right.

  • dom/Document.h:

(WebCore::Document::hasDisabledFieldsetElement): Added.
(WebCore::Document::addDisabledFieldsetElement): Added.
(WebCore::Document::removeDisabledFieldsetElement): Added.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::~HTMLFieldSetElement): Removes itself from the owner document.

(WebCore::updateFromControlElementsAncestorDisabledStateUnder): Added. Updates startNode and
its descendants' ancestor disabled flag. We don't update controls under another disabled
fieldset element since disabled-ness of those controls aren't affected by startNode.

(WebCore::HTMLFieldSetElement::disabledAttributeChanged): Call addDisabledFieldsetElement and
removeDisabledFieldsetElement to update the owner document's flag.

(WebCore::HTMLFieldSetElement::disabledStateChanged): Renamed from disabledAttributeChanged.
Enable form control elements under the first legend element and disable or enable other
descendent form controls in accordance with the presence of disabled content attribute.

(WebCore::HTMLFieldSetElement::childrenChanged): Update disabled-ness of form controls under
child legend elements because controls aren't disabled in the first legend element, and adding
or removing child elements may have changed the first legend element.

(WebCore::HTMLFieldSetElement::didMoveToNewDocument): Update the flag on the owner document.

  • html/HTMLFieldSetElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor): Returns boolean instead of
updating m_ancestorDisabledState internally. Also renamed from updateAncestorDisabledState.

(WebCore::HTMLFormControlElement::setAncestorDisabled): Replaced ancestorDisabledStateWasChanged.
This function updates m_disabledByAncestorFieldset and calls disabledAttributeChanged as needed.

(WebCore::HTMLFormControlElement::disabledAttributeChanged): Added. Calls disabledStateChanged.
(WebCore::HTMLFormControlElement::disabledStateChanged): Renamed from disabledAttributeChanged.

(WebCore::HTMLFormControlElement::insertedInto): Update m_disabledByAncestorFieldset if there is
a possibility (i.e. the document contains any disabled fieldset element) that this form control
is inserted under a disabled fieldset element.

(WebCore::HTMLFormControlElement::removedFrom): If this form control element is not disabled by
a fieldset ancestor, then there is nothing to do. If it is, then check to see if the element is
still disabled now that we've lost some ancestors.

(WebCore::HTMLFormControlElement::isDisabledFormControl): No longer updates m_ancestorDisabledState
lazily since m_disabledByAncestorFieldset is never ambiguous now.

  • html/HTMLFormControlElement.h:

(WebCore::HTMLFormControlElement::disabledByAncestorFieldset): Added.

LayoutTests:

Added more test cases.

  • fast/forms/fieldset/fieldset-disabled-2-expected.txt:
  • fast/forms/fieldset/fieldset-disabled-2.html:
10:32 PM Changeset in webkit [164474] by Alan Bujtas
  • 16 edits in trunk/Source

Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible.
https://bugs.webkit.org/show_bug.cgi?id=129137

Reviewed by Simon Fraser.

No change in behavior.

Source/WebCore:

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::createDeletionUI):

  • page/Page.cpp:
  • page/Page.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::GraphicsContext):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

  • rendering/RenderBoxModelObject.cpp:

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

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::drawPlatformResizerImage):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):

Source/WebKit2:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getFindIndicatorBitmapAndRect):

10:13 PM Changeset in webkit [164473] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Stop generating Objective-C bindings for the SVG DOM
<http://webkit.org/b/129107>

Reviewed by Timothy Hatcher.

Bug 114076 stopped compiling the Objective-C bindings for the
SVG DOM, but we continued to generate the header and source
files after that landed in r147822. This patch also stops
generating the unused header and source files.

  • DerivedSources.make:
  • Split BINDING_IDLS into NON_SVG_BINDING_IDLS and SVG_BINDING_IDLS so that they may operated on separately.
  • Define BINDING_IDLS again as the full list of IDL files.
  • Rename DOM_CLASSES to JS_DOM_CLASSES so that JavaScript bindings are still generated for all IDL files.
  • Add OBJC_DOM_CLASSES so that Objective-C bindings are only generated for non-SVG IDL files.
  • bindings/scripts/CodeGeneratorObjC.pm:

(GetBaseClass):
(GetPropertyAttributes):
(AddIncludesForType):
(GenerateHeader):
(GenerateImplementation):

  • Remove support for SVG classes.
10:07 PM Changeset in webkit [164472] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

virtualForWithFunction() should not throw an exception with a partially initialized frame.
<https://webkit.org/b/129134>

Reviewed by Michael Saboff.

Currently, when JITOperations.cpp's virtualForWithFunction() fails to
prepare the callee function for execution, it proceeds to throw the
exception using the callee frame which is only partially initialized
thus far. Instead, it should be throwing the exception using the caller
frame because:

  1. the error happened "in" the caller while preparing the callee for execution i.e. the caller frame is the top fully initialized frame on the stack.
  2. the callee frame is not fully initialized yet, and the unwind mechanism cannot depend on the data in it.
  • jit/JITOperations.cpp:
10:02 PM Changeset in webkit [164471] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

RenderBox::updateShapeOutsideInfoAfterStyleChange shows up on profiles
https://bugs.webkit.org/show_bug.cgi?id=129075

Reviewed by Dean Jackson.

updateShapeOutsideInfoAfterStyleChange() showed up on profiles in content
with no shapes. Avoid calling this if no style has shapeOutside().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

9:27 PM Changeset in webkit [164470] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add a missing piece of r164469

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

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewWillBeginDragging:]):
I forgot to duplicate the change from WKViewIOS in r164469.

9:22 PM Changeset in webkit [164469] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebKit2

WKInteractionView always blocks the main thread when sending touch events
https://bugs.webkit.org/show_bug.cgi?id=129059

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20
Reviewed by Enrica Casucci.

Add the asynchronous dispatching to WebKit2.

  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::uniqueId):

  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):

  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::doneWithTouchEvent):

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

(-[WKContentView willStartUserTriggeredScroll]):
(-[WKContentView willStartUserTriggeredZoom]):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):

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

(-[WKInteractionView _webTouchEventsRecognized:]):
(-[WKInteractionView _webTouchEvent:WebKit::preventsNativeGestures:]):
(-[WKInteractionView _willStartUserTriggeredScrollingOrZooming]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView scrollViewWillBeginDragging:]):

  • WebKit2.xcodeproj/project.pbxproj:
8:59 PM Changeset in webkit [164468] by ChangSeok Oh
  • 6 edits in trunk/Source/WebCore

Remove unused chromium stuff in Extensions3D
https://bugs.webkit.org/show_bug.cgi?id=129086

Reviewed by Anders Carlsson.

Remove GL_CHROMIUM_copy_texture and GL_CHROMIUM_flipy interfaces since they are used nowhere.

No new tests since no functionality changed.

  • platform/graphics/Extensions3D.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:
  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:
  • platform/graphics/opengl/Extensions3DOpenGLES.h:
8:55 PM Changeset in webkit [164467] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[iOS] Assert / crash trying to draw empty checked input
https://bugs.webkit.org/show_bug.cgi?id=129138

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-20
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/forms/checkbox-empty-size.html

  • rendering/RenderThemeIOS.mm:

(WebCore::shortened):
Avoid a divide by 0, but checking for the condition upfront.

LayoutTests:

  • fast/forms/checkbox-empty-size-expected.txt: Added.
  • fast/forms/checkbox-empty-size.html: Added.
8:53 PM Changeset in webkit [164466] by benjamin@webkit.org
  • 11 edits in trunk/Source

Start fixing the view states driven by the WKScrollView
https://bugs.webkit.org/show_bug.cgi?id=129140

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20
Reviewed by Tim Horton and Simon Fraser.

Source/WebCore:

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

(WebCore::TileController::scaledExposedRect):
That comment was more confusing than helping. FrameView-relative coordinates should not need
scaling.

Source/WebKit2:

WKScrollView creates a "window" over WKContentView with an area that is exposed,
an area that is unobcured and with a certain scale.

Instead of having 3 loosely related paths for updating WKContentView
when the content "window" change, everything is consolidated behind the
single API -[WKContentView didUpdateVisibleRect:unobscuredRect:scale:].

This patch only fixes the content updates from the UI process side to keep things simple.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndDecelerating:]):
(-[WKWebView scrollViewDidScrollToTop:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateContentWindow]):
(-[WKWebView _setObscuredInsets:]):

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

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:]):
(-[WKContentView _updateFixedPositionRect]):
(-[WKContentView didFinishScrolling]):
(-[WKContentView didZoomToScale:]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView contentView:didCommitLayerTree:]):
(-[WKView _didFinishScrolling]):
(-[WKView scrollViewDidEndDragging:willDecelerate:]):
(-[WKView scrollViewDidEndDecelerating:]):
(-[WKView scrollViewDidScrollToTop:]):
(-[WKView scrollViewDidScroll:]):
(-[WKView scrollViewDidEndZooming:withView:atScale:]):
Scrolling is modified to take into account the view position and the obcured content.
Instead of driving the scrolling position from the UIScrollView delegate callbacks,
we use changes in unobscured rect to find changes in "content visible scroll position".

WebPageProxy::didFinishScrolling() is removed. All the scrollOffset updates now go through
the ScrollingCoordinator.

(-[WKView _frameOrBoundsChanged]):
(-[WKView _updateContentWindow]):
(-[WKView _setObscuredInsets:]):

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

(WebKit::WebPageProxy::unobscuredContentRect):
(WebKit::WebPageProxy::setUnobscuredContentRect):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:
8:04 PM Changeset in webkit [164465] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Start to use std::unique_ptr for DragImageLoader
https://bugs.webkit.org/show_bug.cgi?id=129078

Reviewed by Ryosuke Niwa.

As a step to use std::unique_ptr, this patch replace uses of OwnPtr and PassOwnPtr
in the DragImageLoader class with std::unique_ptr. Besides DragImageLoader is set to
non-copyable class.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::setDragImage):

  • dom/Clipboard.h:
7:10 PM Changeset in webkit [164464] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a build warning by moving some WKWebView methods from the private category to WKWebView itself.

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):

6:53 PM Changeset in webkit [164463] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DefaultGCActivityCallback::doWork() should reschedule if GC is deferred.
<https://webkit.org/b/129131>

Reviewed by Mark Hahnenberg.

Currently, DefaultGCActivityCallback::doWork() does not check if the GC
needs to be deferred before commencing. As a result, the GC may crash
and/or corrupt data because the VM is not in the consistent state needed
for the GC to run. With this fix, doWork() now checks if the GC is
supposed to be deferred and re-schedules if needed. It only commences
with GC'ing when it's safe to do so.

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::doWork):

6:13 PM Changeset in webkit [164462] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

ASSERT on touches callbacks after r164409 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=129135

Reviewed by Alexey Proskuryakov.

The change used incorrecly true and false in TouchesCallbacks and
ImageCallback. It also reintroduced isMainThread() which doesn't work
for iOS.

  • UIProcess/GenericCallback.h:

(WebKit::CallbackBase::generateCallbackID):
(WebKit::ImageCallback::performCallbackWithReturnValue):
(WebKit::ImageCallback::invalidate):

  • UIProcess/WebPageProxy.h:

(WebKit::TouchesCallback::performCallbackWithReturnValue):
(WebKit::TouchesCallback::invalidate):

6:01 PM Changeset in webkit [164461] by ggaren@apple.com
  • 5 edits in trunk

Math.imul gives wrong results
https://bugs.webkit.org/show_bug.cgi?id=126345

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Don't truncate non-int doubles to 0 -- that's just not how ToInt32 works.
Instead, take a slow path that will do the right thing.

  • jit/ThunkGenerators.cpp:

(JSC::imulThunkGenerator):

LayoutTests:

Test this edge case of a double just outside the int range.

  • js/dom/imul-expected.txt:
  • js/dom/script-tests/imul.js:
5:50 PM Changeset in webkit [164460] by andersca@apple.com
  • 6 edits
    3 adds in trunk/Source/WebKit2

We need something like WKPageUIClient in the Obj-C API
https://bugs.webkit.org/show_bug.cgi?id=129123
<rdar://problem/15338439>

Reviewed by Sam Weinig.

  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h: Added.
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView UIDelegate]):
(-[WKWebView setUIDelegate:]):

  • UIProcess/Cocoa/UIClient.h: Added.
  • UIProcess/Cocoa/UIClient.mm: Added.

(WebKit::UIClient::UIClient):
(WebKit::UIClient::~UIClient):
(WebKit::UIClient::delegate):
(WebKit::UIClient::setDelegate):
(WebKit::UIClient::runJavaScriptAlert):
(WebKit::UIClient::runJavaScriptConfirm):
(WebKit::UIClient::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::uiClient):

  • WebKit2.xcodeproj/project.pbxproj:
5:20 PM Changeset in webkit [164459] by fpizlo@apple.com
  • 15 edits
    2 adds in trunk/Source/JavaScriptCore

DFG should do its own static estimates of execution frequency before it starts creating OSR entrypoints
https://bugs.webkit.org/show_bug.cgi?id=129129

Reviewed by Geoffrey Garen.

We estimate execution counts based on loop depth, and then use those to estimate branch
weights. These weights then get carried all the way down to LLVM prof branch_weights
meta-data.

This is better than letting LLVM do its own static estimates, since by the time we
generate LLVM IR, we may have messed up the CFG due to OSR entrypoint creation. Of
course, it would be even better if we just slurped in some kind of execution counts
from profiling, but we don't do that, yet.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::BasicBlock):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGBlockInsertionSet.cpp:

(JSC::DFG::BlockInsertionSet::insert):
(JSC::DFG::BlockInsertionSet::insertBefore):

  • dfg/DFGBlockInsertionSet.h:
  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCriticalEdgeBreakingPhase.cpp:

(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):

  • dfg/DFGNaturalLoops.h:

(JSC::DFG::NaturalLoops::loopDepth):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGStaticExecutionCountEstimationPhase.cpp: Added.

(JSC::DFG::StaticExecutionCountEstimationPhase::StaticExecutionCountEstimationPhase):
(JSC::DFG::StaticExecutionCountEstimationPhase::run):
(JSC::DFG::StaticExecutionCountEstimationPhase::applyCounts):
(JSC::DFG::performStaticExecutionCountEstimation):

  • dfg/DFGStaticExecutionCountEstimationPhase.h: Added.
5:14 PM Changeset in webkit [164458] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Move the image controls setting to Settings.in
https://bugs.webkit.org/show_bug.cgi?id=129126

Reviewed by Tim Horton.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:
  • page/Settings.in:
4:39 PM Changeset in webkit [164457] by beidson@apple.com
  • 18 edits
    8 adds in trunk

Add very basic image control rendering
https://bugs.webkit.org/show_bug.cgi?id=129080

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/images/image-controls-basic.html

This patch is groundwork that adds a very basic image control that can render on top of images.

  • dom/Node.h:

(WebCore::Node:: isImageControlsRootElement): Returns false, unless you are an ImageControls object.

  • html/HTMLAttributeNames.in:

Teach HTMLImageElement how to understand an experimental attribute to install controls,
how to actually build the DOM to attach to the shadow root, how to tear that DOM down,
and how to make sure that Renderers are created for that DOM:

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::updateImageControls):
(WebCore::HTMLImageElement::createImageControls):
(WebCore::HTMLImageElement::destroyImageControls):
(WebCore::HTMLImageElement::hasImageControls):
(WebCore::HTMLImageElement::childShouldCreateRenderer):

  • html/HTMLImageElement.h:

(WebCore::HTMLImageElement::hasShadowControls): For RenderImage to query when it is constructed.

Add a generic, platform independent ImageControls root element that does nothing:

  • html/shadow/ImageControlsRootElement.cpp: Added.

(WebCore::ImageControlsRootElement::maybeCreate):
(WebCore::ImageControlsRootElement::ImageControlsRootElement):
(WebCore::ImageControlsRootElement::~ImageControlsRootElement):

  • html/shadow/ImageControlsRootElement.h: Added.

Add a Mac-specific ImageControls root element that renders a 20x20 red box (for now):

  • html/shadow/mac/ImageControlsRootElementMac.cpp: Added.

(WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::~ImageControlsRootElementMac):
(WebCore::ImageControlsRootElement::maybeCreate):
(WebCore::ImageControlsRootElementMac::maybeCreate):

  • html/shadow/mac/ImageControlsRootElementMac.h: Added.

Since much of the RenderMedia::layout() method is now required for RenderImage as well,
move the logic to RenderImage. The extra work is controlled by a bool flag that will always
be set for RenderMedias but will only be set for certain RenderImages:

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::canHaveChildren):
(WebCore::RenderImage::layout):
(WebCore::RenderImage::layoutShadowControls):

  • rendering/RenderImage.h:

(WebCore::RenderImage::setHasShadowControls):
(WebCore::RenderImage::shadowControlsNeedCustomLayoutMetrics):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::RenderMedia):

  • rendering/RenderMedia.h:

(WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics):

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Expose the imageControlsEnabled setting to WebKit1 so DRT can use it.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences imageControlsEnabled]):
(-[WebPreferences setImageControlsEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Expose the

imageControlsEnabled setting to WKTR.

LayoutTests:

  • fast/images/image-controls-basic.html: Added.
  • platform/mac/fast/images/image-controls-basic-expected.txt: Added.
4:00 PM Changeset in webkit [164456] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

FTL may not see a compact_unwind section if there weren't any stackmaps
https://bugs.webkit.org/show_bug.cgi?id=129125

Reviewed by Geoffrey Garen.

It's OK to not have an unwind section, so long as the function also doesn't have any
OSR exits.

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLUnwindInfo.cpp:

(JSC::FTL::UnwindInfo::parse):

  • ftl/FTLUnwindInfo.h:
3:46 PM Changeset in webkit [164455] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Add magnification and swiping properties to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129117

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Move allowsBackForwardNavigationGestures out of a Mac-only block.

  • UIProcess/API/Cocoa/WKWebView.h:

Add allowsBackForwardNavigationGestures to WKWebView for both platforms.
Add magnification properties to WKWebView for Mac.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView contentView:didCommitLayerTree:WebKit::]):
(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):
(-[WKWebView setAllowsMagnification:]):
(-[WKWebView allowsMagnification]):
(-[WKWebView setMagnification:]):
(-[WKWebView magnification]):
(-[WKWebView setMagnification:centeredAtPoint:]):
For iOS, copy implementations from WKViewIOS.
For Mac, forward to the inner WKView.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView setAllowsBackForwardNavigationGestures:]):
Fix the logic to tear down the ViewGestureController.

  • UIProcess/API/mac/WKView.mm:

(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
(-[WKView magnification]):
Use CG types for API.

3:34 PM Changeset in webkit [164454] by mrowe@apple.com
  • 5 edits
    5 copies in trunk

Roll depsHHHHChangeLogs.

3:22 PM WebKitGTK/Chroot edited by Andres Gomez
Formatting … (diff)
3:20 PM WebKitGTK/Chroot edited by Andres Gomez
(diff)
3:15 PM WebKitGTK/Chroot edited by Andres Gomez
Resorted pulse audio connection methods from a chroot (diff)
3:12 PM Changeset in webkit [164453] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

WKPage's setBackgroundExtendsBeyondPage API should be exposed through WKView and
WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129120

Reviewed by Anders Carlsson.

While we’re in this code, fix up the pageExtendedBackgroundColor to match.

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

(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _setBackgroundExtendsBeyondPage:]):
(-[WKWebView _backgroundExtendsBeyondPage]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _pageExtendedBackgroundColor]):
(-[WKView _setBackgroundExtendsBeyondPage:]):
(-[WKView _backgroundExtendsBeyondPage]):

3:12 PM Changeset in webkit [164452] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

An unresolved WebGL Context should operate normally until used
https://bugs.webkit.org/show_bug.cgi?id=129110

Reviewed by Brent Fulgham.

Add the ability to create a special instance of WebGLRenderingContext,
that appears normal but won't actually do anything if asked. This will
be created in the case of the WebGLLoadPolicy being "pending" and helps
in the case of pages that feature detect by creating a context and
immediately deleting it.

Note that the context doesn't actually try to recover from this state
yet, although that would be a nice addition. When asked to do something
it could actually try to create the GraphicsContext3D. However, if it
fails it would then have to fire a context lost.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext): Move the load policy code out of getContext.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create): Add the ability to create a pending context.
(WebCore::WebGLRenderingContext::WebGLRenderingContext): New constructor for a pending context.
(WebCore::WebGLRenderingContext::~WebGLRenderingContext): Only delete if not pending.
(WebCore::WebGLRenderingContext::destroyGraphicsContext3D): Ditto.
(WebCore::WebGLRenderingContext::clearIfComposited): Everything below is about checking the
pending state before doing anything, and triggering a resolution if necessary.
(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::checkObjectToBeBound):
(WebCore::WebGLRenderingContext::blendColor):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::clearColor):
(WebCore::WebGLRenderingContext::clearDepth):
(WebCore::WebGLRenderingContext::clearStencil):
(WebCore::WebGLRenderingContext::colorMask):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::createBuffer):
(WebCore::WebGLRenderingContext::createFramebuffer):
(WebCore::WebGLRenderingContext::createTexture):
(WebCore::WebGLRenderingContext::createProgram):
(WebCore::WebGLRenderingContext::createRenderbuffer):
(WebCore::WebGLRenderingContext::createShader):
(WebCore::WebGLRenderingContext::cullFace):
(WebCore::WebGLRenderingContext::deleteObject):
(WebCore::WebGLRenderingContext::depthFunc):
(WebCore::WebGLRenderingContext::depthMask):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::validateDrawArrays):
(WebCore::WebGLRenderingContext::validateDrawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::finish):
(WebCore::WebGLRenderingContext::flush):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::frontFace):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getContextAttributes):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
(WebCore::WebGLRenderingContext::getShaderSource):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::isBuffer):
(WebCore::WebGLRenderingContext::isContextLostOrPending):
(WebCore::WebGLRenderingContext::isEnabled):
(WebCore::WebGLRenderingContext::isFramebuffer):
(WebCore::WebGLRenderingContext::isProgram):
(WebCore::WebGLRenderingContext::isRenderbuffer):
(WebCore::WebGLRenderingContext::isShader):
(WebCore::WebGLRenderingContext::isTexture):
(WebCore::WebGLRenderingContext::lineWidth):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::polygonOffset):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::releaseShaderCompiler):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::sampleCoverage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMask):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::stencilOp):
(WebCore::WebGLRenderingContext::stencilOpSeparate):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::forceLostContext):
(WebCore::WebGLRenderingContext::forceRestoreContext):
(WebCore::WebGLRenderingContext::platformLayer):
(WebCore::WebGLRenderingContext::removeSharedObject):
(WebCore::WebGLRenderingContext::addSharedObject):
(WebCore::WebGLRenderingContext::removeContextObject):
(WebCore::WebGLRenderingContext::addContextObject):
(WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
(WebCore::WebGLRenderingContext::stop):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
(WebCore::WebGLRenderingContext::vertexAttribDivisor):

  • html/canvas/WebGLRenderingContext.h:
3:11 PM Changeset in webkit [164451] by dino@apple.com
  • 18 edits in trunk

Add an unresolved WebGLPolicy and an API to resolve it
https://bugs.webkit.org/show_bug.cgi?id=129109

Reviewed by Anders Carlsson.

Source/WebCore:

Add a third WebGLLoadPolicy which is "pending" allowing the page
to go ahead with creating the WebGLRenderingContext and resolve the policy
at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext): WebGLBlock -> WebGLBlockCreation

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::webGLPolicyForURL): WebGLAllow -> WebGLAllowCreation.
(WebCore::FrameLoaderClient::resolveWebGLPolicyForURL): New method.

  • loader/FrameLoaderTypes.h: Add WebGLPendingCreation.

Source/WebKit2:

Add a third WebGLLoadPolicy which is "pending" allowing the page
to go ahead with creating the WebGLRenderingContext and resolve the policy
at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::webGLLoadPolicy): New return value.
(API::LoaderClient::resolveWebGLLoadPolicy): New method definition.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toWebGLLoadPolicy): Change names of return types.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient): New stubs.

  • UIProcess/API/C/WKPageLoaderClient.h: New policy type kWKWebGLLoadPolicyPending.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resolveWebGLPolicyForURL): New method.

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

(WebKit::WebFrameLoaderClient::webGLPolicyForURL):
(WebKit::WebFrameLoaderClient::resolveWebGLPolicyForURL):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::webGLPolicyForURL):
(WebKit::WebPage::resolveWebGLPolicyForURL):

  • WebProcess/WebPage/WebPage.h:

Tools:

Add a new entry for resolveWebGLLoadPolicy.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):

3:04 PM Changeset in webkit [164450] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Make it possible to reply asynchronously to JavaScript panels and alerts
https://bugs.webkit.org/show_bug.cgi?id=129116

Reviewed by Dan Bernstein.

  • Scripts/webkit2/LegacyMessageReceiver-expected.cpp:

(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send):

  • Scripts/webkit2/MessageReceiver-expected.cpp:

(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send):

  • Scripts/webkit2/messages.py:

(generate_message_handler):

  • UIProcess/API/APIUIClient.h:

(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
3:04 PM Changeset in webkit [164449] by Alan Bujtas
  • 11 edits
    4 adds in trunk

Subpixel rendering: Enable compositing RenderLayer painting on device pixel position.
https://bugs.webkit.org/show_bug.cgi?id=128509

Reviewed by Simon Fraser.

GraphicsLayer is now positioned on device pixel boundary. This enables us to put
compositing layers on a subpixel position and animate them with device pixel
precision.

Source/WebCore:

Tests: fast/sub-pixel/compositing-layers-on-subpixel-position.html

fast/sub-pixel/simple-clipping.html

  • platform/LayoutUnit.h:

(WebCore::ceilToDevicePixel):

  • platform/graphics/LayoutPoint.h:

(WebCore::flooredForPainting):
(WebCore::ceiledForPainting):

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingRectForPainting):

  • platform/graphics/LayoutRect.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::clipBox):
(WebCore::pixelFractionForLayerPainting):
(WebCore::calculateDevicePixelOffsetFromRenderer):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • TestExpectations:
  • fast/sub-pixel/compositing-layers-on-subpixel-position-expected.html: Added.
  • fast/sub-pixel/compositing-layers-on-subpixel-position.html: Added.
  • fast/sub-pixel/simple-clipping-expected.html: Added.
  • fast/sub-pixel/simple-clipping.html: Added.
  • platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
2:55 PM Changeset in webkit [164448] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CopiedBlock::pin can call into fastFree while forbidden
https://bugs.webkit.org/show_bug.cgi?id=128654

Reviewed by Oliver Hunt.

A FullCollection that skips copying doesn't clear the CopyWorkList of the all the surviving
CopiedBlocks because we currently only call didSurviveGC() at the beginning of FullCollections.

EdenCollections always do copying, therefore they always clear all CopyWorkLists.

The fix is to call didSurviveGC() for all surviving CopiedBlocks at the end of FullCollections
as well at the beginning.

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::didSurviveGC):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::doneCopying):

2:53 PM Changeset in webkit [164447] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add a JSC option to disable EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=128849

Reviewed by Mark Lam.

This will help quickly identify whether or not GenGC is responsible for a
particular crash by prematurely collecting a live object.

  • heap/Heap.cpp:

(JSC::Heap::collect):
(JSC::Heap::shouldDoFullCollection):

  • heap/Heap.h:
  • runtime/Options.h:
2:09 PM Changeset in webkit [164446] by graouts@webkit.org
  • 8 edits
    10 adds in trunk/Source/WebInspectorUI

Web Inspector: rich editing of CSS gradients
https://bugs.webkit.org/show_bug.cgi?id=119686

Reviewed by Timothy Hatcher.

Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController
to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget
allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit
the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing.

  • Localizations/en.lproj/localizedStrings.js:

New localized strings for the content of the gradient editing controller popover.

  • UserInterface/CodeMirrorAdditions.js:

New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and
looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient.
In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing
parenthesis since there can be nested opening and closing parentheses as colors are specified for stops.

  • UserInterface/CodeMirrorGradientEditingController.css: Added.

(.gradient-editing-controller):
(.gradient-editing-controller.edits-color):
(.gradient-editing-controller.radial-gradient):
(.gradient-editing-controller.edits-color.radial-gradient):
(.gradient-editing-controller select):
(.gradient-editing-controller .gradient-slider):
(.gradient-editing-controller .color-picker):
(.gradient-editing-controller > .color-picker > .slider):
(.gradient-editing-controller > .color-picker > .brightness):
(.gradient-editing-controller > .color-picker > .opacity):
(.gradient-editing-controller > label):
(.gradient-editing-controller.radial-gradient > label):
(.gradient-editing-controller.edits-color > label):
(.gradient-editing-controller > label > input):

  • UserInterface/CodeMirrorGradientEditingController.js: Added.

(WebInspector.CodeMirrorGradientEditingController):
(WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us
to customize the popover's appearance, mostly to control how it attaches to the gradient
strings in the editor.

(WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent):
Event handler for changes in the <select> governing gradient type and <input> for the angle.

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange):
Implementation of a GradientSlider delegation method, we use this to update the .text property
in order to propagate the stops change to the editor.

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
Implementation of a GradientSlider delegation method, we use this to control the display of the
ColorPicker used to edit the color of a selected stop.

(WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value.

(WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent):
Deal with changes in the <select> for the type, preserving the stops list from one gradient type
to the other. Gradient type-specific information (angle for linear gradients, sizing for radial
gradients) is lost as we toggle between gradient types.

(WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged):
Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and
and update the .text property in order to propagate the stops change to the editor.

(WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType):
As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show
the angle <input> which is only relevant for linear gradients.

  • UserInterface/ColorPicker.js:

(WebInspector.ColorPicker):
Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider.

(WebInspector.ColorPicker.prototype.get colorWheel):
Expose the ColorWheel such that it can be sized by ColorPicker clients.

(WebInspector.ColorPicker.prototype._updateColor):
Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version
of the color even though the base format was HSL.

  • UserInterface/Gradient.js: Added.

Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case
of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the
sizing information as a string and parse only the gradient stops as the sizing information is only useful to show
in an editor if attached to an element with metrics.

Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement
the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles
and color stop offsets and only print those as necessary and use shorthands when possible.

(WebInspector.Gradient.fromString):
(WebInspector.Gradient.stopsWithComponents):
(WebInspector.Gradient.stringFromStops):
(WebInspector.LinearGradient):
(WebInspector.LinearGradient.linearGradientWithComponents):
(WebInspector.LinearGradient.prototype.copy):
(WebInspector.LinearGradient.prototype.toString):
(WebInspector.RadialGradient):
(WebInspector.RadialGradient.radialGradientWithComponents):
(WebInspector.RadialGradient.prototype.copy):
(WebInspector.RadialGradient.prototype.toString):

  • UserInterface/GradientSlider.css: Added.

(.gradient-slider):
(.gradient-slider > canvas):
(.gradient-slider > .add-area):
(.gradient-slider-knob):
(.gradient-slider-knob.shadow):
(.gradient-slider-knob.selected):
(.gradient-slider-knob.detaching):
(.gradient-slider-knob.fade-out):
(.gradient-slider-knob > div):
(.gradient-slider-knob > img):

  • UserInterface/GradientSlider.js: Added.

Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element
that draws the gradient as a linear gradient from left to right with checkers in the background to correctly
display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided
stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to
detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only
one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob.

(WebInspector.GradientSlider):
(WebInspector.GradientSlider.prototype.get element):
(WebInspector.GradientSlider.prototype.get stops):
(WebInspector.GradientSlider.prototype.set stops):
(WebInspector.GradientSlider.prototype.get selectedStop):
(WebInspector.GradientSlider.prototype.handleEvent):
(WebInspector.GradientSlider.prototype.handleKeydownEvent):
(WebInspector.GradientSlider.prototype.knobXDidChange):
(WebInspector.GradientSlider.prototype.knobCanDetach):
(WebInspector.GradientSlider.prototype.knobWillDetach):
(WebInspector.GradientSlider.prototype.knobSelectionChanged):
(WebInspector.GradientSlider.prototype._handleMouseover):
(WebInspector.GradientSlider.prototype._handleMousemove):
(WebInspector.GradientSlider.prototype._handleMouseout):
(WebInspector.GradientSlider.prototype._handleClick):
(WebInspector.GradientSlider.prototype._updateShadowKnob):
(WebInspector.GradientSlider.prototype._sortStops):
(WebInspector.GradientSlider.prototype._updateStops):
(WebInspector.GradientSlider.prototype._updateCanvas):
(WebInspector.GradientSlider.prototype._updateKnobs):
(WebInspector.GradientSliderKnob):
(WebInspector.GradientSliderKnob.prototype.get element):
(WebInspector.GradientSliderKnob.prototype.get stop):
(WebInspector.GradientSliderKnob.prototype.set stop):
(WebInspector.GradientSliderKnob.prototype.get x):
(WebInspector.GradientSliderKnob.prototype.set x):
(WebInspector.GradientSliderKnob.prototype.get y):
(WebInspector.GradientSliderKnob.prototype.set y):
(WebInspector.GradientSliderKnob.prototype.get wellColor):
(WebInspector.GradientSliderKnob.prototype.set wellColor):
(WebInspector.GradientSliderKnob.prototype.get selected):
(WebInspector.GradientSliderKnob.prototype.set selected):
(WebInspector.GradientSliderKnob.prototype.handleEvent):
(WebInspector.GradientSliderKnob.prototype._handleMousedown):
(WebInspector.GradientSliderKnob.prototype._handleMousemove):
(WebInspector.GradientSliderKnob.prototype._handleMouseup):
(WebInspector.GradientSliderKnob.prototype._handleTransitionEnd):
(WebInspector.GradientSliderKnob.prototype._updateTransform):

  • UserInterface/Images/Checkers.svg: Added.

New asset to draw checkers for color wells.

  • UserInterface/Images/GradientStop.png: Added.
  • UserInterface/Images/GradientStop@2x.png: Added.
  • UserInterface/Images/GradientStopSelected.png: Added.
  • UserInterface/Images/GradientStopSelected@2x.png: Added.

New assets used by the gradient slider.

  • UserInterface/Main.html:

Link to the new source files.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Also recognize gradient markers as valid editable markers.

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.createGradientMarkers):
Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses
that have no knowledge of CodeMirror.

(WebInspector.TextEditor.prototype.editingControllerForMarker):
Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type.

  • UserInterface/TextMarker.js:

Add the WebInspector.TextMarker.Type.Gradient type.

2:07 PM Changeset in webkit [164445] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r164417): ASSERTION FAILED: isBranch() in X86 32 bit build
https://bugs.webkit.org/show_bug.cgi?id=129118

Reviewed by Filip Pizlo.

Changed 32 bit version of SpeculativeJIT::compile handling of Jump nodes to match
what is in the 64 bit build.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

1:29 PM Changeset in webkit [164444] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

[Automake] Collect the JavaScript files required for JSC builtins through a wildcard
https://bugs.webkit.org/show_bug.cgi?id=129115

Reviewed by Oliver Hunt.

  • GNUmakefile.list.am: Simplify adding new JavaScriptCore builtins by using a wildcard

to gather all the JavaScript files instead of listing each file explicitly.

12:57 PM Changeset in webkit [164443] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Replace uses of deprecated POSIX index() with strchr() in ObjcRuntimeExtras.h
https://bugs.webkit.org/show_bug.cgi?id=128610

Reviewed by Anders Carlsson.

index() is deprecated in favor of strchr() so we should use the latter.

  • API/JSWrapperMap.mm:

(selectorToPropertyName):

  • API/ObjcRuntimeExtras.h:

(parseObjCType):

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

FTL should not emit stack overflow checks in leaf functions
https://bugs.webkit.org/show_bug.cgi?id=129085

Reviewed by Michael Saboff.

Miniscule (0.5%) speed-up on V8v7.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::didOverflowStack):

12:01 PM Changeset in webkit [164441] by Bem Jones-Bey
  • 21 edits in trunk/Source/WebCore

Rename border/padding/margin width/height to horizontal/vertical extent on RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=129043

Reviewed by David Hyatt.

Using horizontal extent instead of width and vertical extent instead
of height makes it more obvious that these are measurements of both
border/margin/padding sides, not just one.

As David Hyatt put it: "I dislike using terms like 'width' since it
could be confused with the actual border-width CSS name, i.e., a
person new to this code would think the method was returning the pixel
width of a single border."

No new tests, no behavior change.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):

  • inspector/InspectorOverlay.cpp:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::repaintLayerRectsForImage):
(WebCore::RenderBox::positionForPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::horizontalBorderExtent):
(WebCore::RenderBoxModelObject::verticalBorderExtent):
(WebCore::RenderBoxModelObject::verticalBorderAndPaddingExtent):
(WebCore::RenderBoxModelObject::horizontalBorderAndPaddingExtent):
(WebCore::RenderBoxModelObject::verticalMarginExtent):
(WebCore::RenderBoxModelObject::horizontalMarginExtent):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::computePreferredLogicalWidths):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
(WebCore::RenderFlexibleBox::computeNextFlexLine):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::localCaretRect):
(WebCore::RenderInline::generateCulledLineBoxRects):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computePreferredLogicalWidths):
(WebCore::RenderListBox::computeLogicalHeight):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::computePreferredLogicalWidths):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::trackPieceRectWithMargins):

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::computePreferredLogicalWidths):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computeLogicalHeight):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout):

  • rendering/line/LineLayoutState.h:

(WebCore::FloatWithRect::FloatWithRect):

  • rendering/shapes/ShapeInfo.cpp:

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

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::updateCachedBoundaries):

11:40 AM Changeset in webkit [164440] by Bem Jones-Bey
  • 6 edits in trunk/Source/WebCore

Rename RenderBlockFlow::clearFloats and RenderBlockFlow::newLine to be more accurate
https://bugs.webkit.org/show_bug.cgi?id=128991

Reviewed by David Hyatt.

Rename clearFloats to rebuildFloatingObjectSetFromIntrudingFloats
since it does just that.

Rename newLine to clearFloats because it actually does what the CSS
spec calls clearing floats. This also matches clearFloatsIfNeeded.

This also removes a FIXME comment that points to a bug that has
already been fixed.

This patch is based on a Blink patch by leviw:
https://src.chromium.org/viewvc/blink?revision=158598&view=revision

No new tests, no behavior change.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::clearFloats):

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

(WebCore::RenderBlockFlow::layoutRunsAndFloats):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleFloat):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

11:40 AM Changeset in webkit [164439] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Dynamically generated JSExport protocols added to a class results in a crash
https://bugs.webkit.org/show_bug.cgi?id=129108

Reviewed by Oliver Hunt.

We're not getting any information from the runtime about the types of the methods on
these protocols because they didn't exist at compile time. We should handle this gracefully.

  • API/ObjCCallbackFunction.mm:

(objCCallbackFunctionForInvocation):

  • API/tests/JSExportTests.mm:

(+[JSExportTests exportDynamicallyGeneratedProtocolTest]):
(runJSExportTests):

11:31 AM Changeset in webkit [164438] by commit-queue@webkit.org
  • 29 edits
    1 delete in trunk/Source

WebKitGTK+ should stop using COMPILE_ASSERT_MATCHING_ENUM macros
https://bugs.webkit.org/show_bug.cgi?id=127800

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-02-20
Reviewed by Martin Robinson.

Source/WebKit:

  • PlatformGTK.cmake: Removed AssertMatchingEnums.cpp

Source/WebKit/gtk:

  • GNUmakefile.am: Removed AssertMatchingEnums.cpp
  • WebCoreSupport/AssertMatchingEnums.cpp: Removed.
  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Defined and applied type conversions.

(toWebCoreFindOptions):
(DumpRenderTreeSupportGtk::findString):

  • WebCoreSupport/FrameLoaderClientGtk.cpp: Defined and applied type conversions.

(WebKit::toWebKitNetworkError):
(WebKit::FrameLoaderClient::dispatchDidFailLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoad):
(WebKit::FrameLoaderClient::shouldFallBack):

  • webkit/webkitwebnavigationaction.cpp: Defined and applied type conversions.

(WebKit::kit):
(WebKit::core):

  • webkit/webkitwebsettings.cpp: Defined and applied type conversions.

(WebKit::core):

  • webkit/webkitwebview.cpp: Defined and applied type conversions.

(copyGtkTargetListConvertingWebCoreEnumValuesToWebKitEnumValues):
(webkit_web_view_dispose):
(webkit_web_view_init):
(webkit_web_view_get_copy_target_list):
(webkit_web_view_get_paste_target_list):

  • webkit/webkitwebviewprivate.h: Added targetList private field, which mirrors PasteboardHelper::defaultPasteboardHelper()->targetList() but with the flags converted to WebKitWebViewTargetInfo

Source/WebKit2:

  • UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Defined and applied type conversions.

(webkit_authentication_request_get_scheme):

  • UIProcess/API/gtk/WebKitCookieManager.cpp: Defined and applied type conversions.

(toWebKitCookieAcceptPolicy):
(toHTTPCookieAcceptPolicy):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkitCookieManagerGetAcceptPolicyCallback):

  • UIProcess/API/gtk/WebKitCredential.cpp: Defined and applied type conversions.

(toWebKitCredentialPersistence):
(toWebCoreCredentialPersistence):
(webkit_credential_new):
(webkit_credential_get_persistence):

  • UIProcess/API/gtk/WebKitDownload.cpp: Defined and applied type conversions.

(webkitDownloadFailed):

  • UIProcess/API/gtk/WebKitError.cpp: Defined and applied type conversions.
  • UIProcess/API/gtk/WebKitFindController.cpp: Defined and applied type conversions.

(toWebKitFindOptions):
(webKitFindControllerPerform):
(webkit_find_controller_search_next):
(webkit_find_controller_search_previous):

  • UIProcess/API/gtk/WebKitFindController.h: Added new private fields to the enum, needed to match conversions.
  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Defined and applied type conversions.

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitLoaderClient.cpp: Defined and applied type conversions.

(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):

  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Defined and applied type conversions.
  • UIProcess/API/gtk/WebKitPolicyClient.cpp: Defined and applied type conversions.

(toWebKitNavigationType):
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):

  • UIProcess/API/gtk/WebKitPrintOperation.cpp: Defined and applied type conversions.

(drawPagesForPrintingCompleted):

  • UIProcess/API/gtk/WebKitPrivate.cpp: Defined and applied type conversions.

(toWebKitError):
(toWebCoreError):

  • UIProcess/API/gtk/WebKitPrivate.h: Defined and applied type conversions.
  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Defined and applied type conversions.

(webkit_uri_scheme_request_finish_error):

  • UIProcess/API/gtk/WebKitWebContext.cpp: Defined and applied type conversions.

(toWebKitProcessModel):
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):

  • UIProcess/API/gtk/WebKitWebView.cpp: Defined and applied type conversions.

(toSnapshotRegion):
(webkit_web_view_get_snapshot):

  • UIProcess/API/gtk/WebKitWebViewGroup.cpp: Defined and applied type conversions.

(toWebCoreUserContentInjectedFrames):
(webkit_web_view_group_add_user_style_sheet):

11:19 AM Changeset in webkit [164437] by mhahnenberg@apple.com
  • 2 edits in trunk/LayoutTests

Unskip fast/workers/use-machine-stack.html

Unreviewed test gardening. This was fixed as part of http://trac.webkit.org/changeset/164371,
so we're unskipping it.

10:48 AM Changeset in webkit [164436] by graouts@webkit.org
  • 13 edits
    1 copy in trunk/Source/WebInspectorUI

Web Inspector: create a CodeMirrorEditingController superclass
https://bugs.webkit.org/show_bug.cgi?id=129094

Reviewed by Timothy Hatcher.

Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to
create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers.
Additioanlly, we fix existing issues with such editing by supporting text markers spread across several
lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single
line number.

  • UserInterface/CodeMirrorAdditions.js:

Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better
menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any
line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the
actual characters in the text marker.

We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to
better deal with text markers spread across multiple lines.

  • UserInterface/CodeMirrorColorEditingController.js:

Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController).
We also adopt new interfaces exposed by CodeMirrorEditingController.

(WebInspector.CodeMirrorColorEditingController):
(WebInspector.CodeMirrorColorEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent):
(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):

  • UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js.

New class meant to be subclassed by any future editing controller, and already subclassed by
CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior:

.initialValue: a value we can revert to if the editing is canceled
.cssClassName: a CSS class name that can be added to the editing controller's container
.popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default
.popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects
.popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content
.popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after
being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction
within the popover without changing the serialized value upon showing the popover the very first time.

Additionally, the .value property must be an object supporting .toString() and .copy() method.

Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired
as editing begins and finishes.

(WebInspector.CodeMirrorEditingController):
(WebInspector.CodeMirrorEditingController.prototype.get marker):
(WebInspector.CodeMirrorEditingController.prototype.get range):
(WebInspector.CodeMirrorEditingController.prototype.get value):
(WebInspector.CodeMirrorEditingController.prototype.set value):
(WebInspector.CodeMirrorEditingController.prototype.get delegate):
(WebInspector.CodeMirrorEditingController.prototype.set delegate):
(WebInspector.CodeMirrorEditingController.prototype.get text):
(WebInspector.CodeMirrorEditingController.prototype.set text):
(WebInspector.CodeMirrorEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorEditingController.prototype.get popover):
(WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges):
(WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects):
(WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
(WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
(WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent):

(WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method.

(WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed):
(WebInspector.CodeMirrorEditingController.prototype.didDismissPopover):

  • UserInterface/Geometry.js:

(WebInspector.Rect.unionOfRects):
(WebInspector.Rect.prototype.unionWithRect):
New utilities to get a Rect that is the union of the provided Rect or array of Rects.

(WebInspector.Polygon):
(WebInspector.Polygon.prototype.bounds):
New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class.

  • UserInterface/HoverMenu.css:

(.hover-menu):
(.hover-menu > svg):
(.hover-menu > svg > rect):
(.hover-menu > img):

  • UserInterface/HoverMenu.js:

We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple
Rect and instead support presentation based on an array of Rects where we either:

  • draw a single rounded rectangle if there is only a single Rect provided
  • draw two disconnected open-ended rects if we're provided with two non-overlapping Rects
  • draw a polygon surrounding all provided Rects in all other cases

No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements.

(WebInspector.HoverMenu):
(WebInspector.HoverMenu.prototype.present):
(WebInspector.HoverMenu.prototype.dismiss):
(WebInspector.HoverMenu.prototype.handleEvent):
(WebInspector.HoverMenu.prototype._handleClickEvent):
(WebInspector.HoverMenu.prototype._drawOutline):
(WebInspector.HoverMenu.prototype._addRect):
(WebInspector.HoverMenu.prototype._addPath):
(WebInspector.HoverMenu.prototype._drawSingleLine):
(WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines):
(WebInspector.HoverMenu.prototype._drawOverlappingLines):

  • UserInterface/Main.html:

Link to the new CodeMirrorEditingController class.

  • UserInterface/Main.js:

Expose a new mechanism to deal with window-level handling of keydown events in order to allow
a list of handlers to accept or reject dealing with the provided keydown event based on the order
they were registered, in most recent to oldest registered handler. This allows, for instance, for
a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and
bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies
to compete with handling of keydown events.

(WebInspector.loaded):
(WebInspector.addWindowKeydownListener):
(WebInspector.removeWindowKeydownListener):
(WebInspector._updateWindowKeydownListener):
(WebInspector._sharedWindowKeydownListener):

  • UserInterface/SourceCodeTextEditor.css:

(.hover-menu.color > img):
Update the offset applied to a HoverMenu button based on the change of layout for such buttons which
are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model.

  • UserInterface/SourceCodeTextEditor.js:

Abstrct away the assumption that only a color editing controller may be used to edit text markers in
a source code text editor.

(WebInspector.SourceCodeTextEditor.prototype.hidden):
Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden.
This would happen in the situation where a keyboard shortcut was used to jump to another part of the
Web Inspector UI without using the mouse.

(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of
changed lines and call ._updateEditableMarkers() with the changed range directly instead.

(WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
Adopt the more generic method names rather than color-specific ones.

(WebInspector.SourceCodeTextEditor.prototype._showPopover):
When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression
when debugging, also deal with the possibility of the highlighted range containing multiple lines rather
than assume a single line.

(WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
More generic method name to support future, non-color editing controllers.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Find the outermost marker in the list of markers provided such that a marker containing other markers
shows the UI for the containing marker. For instance, a gradient marker would contain several color
markers and it's preferable to show the editing UI for the whole gradient rather than a specific color.

Additionally, adopt more generic ivars and method names to support future, non-color editing controllers.

(WebInspector.SourceCodeTextEditor.prototype._dismissEditingController):
Support for new parameter instructing that the editing controller dismissal should be instant rather than
animated, which is the default. This is useful when, for instance, the text editor is cleared.

(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
Adopt the more generic method names rather than color-specific ones.

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.rectsForRange):
Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may
draw a more pleasing HoverMenu.

(WebInspector.TextEditor.prototype.createColorMarkers):
Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method.

(WebInspector.TextEditor.prototype.editingControllerForMarker):
Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class.

  • UserInterface/TextMarker.js:

(WebInspector.TextMarker.prototype.get rects):
Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method.

10:23 AM Changeset in webkit [164435] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT in FrameLoader::shouldInterruptLoadForXFrameOptions
https://bugs.webkit.org/show_bug.cgi?id=129081
<rdar://problem/16026440>

Reviewed by Alexey Proskuryakov.

Do not assert if the server sends us a malformed X-Frame-Options header.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):

10:15 AM Changeset in webkit [164434] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[ASan] WebKit1 sources are not compiled using ASAN macros
<http://webkit.org/b/128871>

Reviewed by Brent Fulgham.

  • Configurations/WebKit.xcconfig: Use $inherited for

OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS so that ASAN_OTHER_CFLAGS
and ASAN_OTHER_CPLUSPLUSFLAGS are inherited from
DebugRelease.xcconfig.

9:38 AM Changeset in webkit [164433] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

ASSERTION FAILED: isUInt16() on ARMv7 after r113253.
https://bugs.webkit.org/show_bug.cgi?id=129101

Reviewed by Michael Saboff.

If the immediate value type is encoded then we shouldn't reach this assert.
Check the immediate type to avoid assertion in alignemnt check.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::add):

9:27 AM Changeset in webkit [164432] by graouts@webkit.org
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Popover should animate its frame to display its refreshed content
https://bugs.webkit.org/show_bug.cgi?id=129088

Reviewed by Timothy Hatcher.

When calling .update(), we now check whether we can animate the change of frame provided the
new computed frame to best fit the current content still matches the edge the popover uses
to attach to the target frame. If we find that we can do so, we animate the background frame
of the popover while ensuring the anchor point remains stable during the animation such that
only the popover's frame seems to animate.

  • UserInterface/Geometry.js:

(WebInspector.Rect.prototype.round):
Returns a new Rect with rounded values, using a floor for the position and a ceil for the size.

  • UserInterface/Main.html:

Link to the new UnitBezier.js source file.

  • UserInterface/Popover.js:

(WebInspector.Popover):
Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into
the various calls leading to an update of the popover's background drawing.

(WebInspector.Popover.prototype.set frame):
We no longer round the values of the frame here, instead calling the new .round() method on Rect
in places where we compute a new frame.

(WebInspector.Popover.prototype.set content):
(WebInspector.Popover.prototype.update):
Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the
popover is already visible.

(WebInspector.Popover.prototype._update):
In the situation where there is a preference to animate the frame, as set by the new shouldAnimate
parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to
the target frame remains the same upon computing the new best metrics for the new content size. If
we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame
drawing discretely like we used to.

(WebInspector.Popover.prototype._setAnchorPoint):
New method to ensure we floor the position of the anchor point to ensure, when animating, that the
anchor point remains stationary.

(WebInspector.Popover.prototype._animateFrame):
Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed
value while ensuring the anchor point remains, at all times, the same absolute position such that it
remains stationary during the animation. The spline used to animate the frame is the same that a CSS
transition set with an "ease" timing-function (default value) would use.

(WebInspector.Popover.prototype._drawBackground):
(WebInspector.Popover.prototype._drawFrame):
Adopt new ._edge and ._anchorPoint ivars.

  • UserInterface/UnitBezier.js: Added.

New class used to perform animations using a timing function specified with a cubic Bézier curve. The code
is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file.

(WebInspector.UnitBezier):
(WebInspector.UnitBezier.prototype.solve):
(WebInspector.UnitBezier.prototype._sampleCurveX):
(WebInspector.UnitBezier.prototype._sampleCurveY):
(WebInspector.UnitBezier.prototype._sampleCurveDerivativeX):
(WebInspector.UnitBezier.prototype._solveCurveX):

9:19 AM Changeset in webkit [164431] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: content using a CSS transition within a popover causes the popover to disappear
https://bugs.webkit.org/show_bug.cgi?id=129089

Reviewed by Timothy Hatcher.

Simply check that the element being transitioned is indeed the popover's container before assuming
that the "transitonend" received was for a fade-out transition.

  • UserInterface/Popover.js:

(WebInspector.Popover.prototype.handleEvent):

9:01 AM Changeset in webkit [164430] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WTF

Add StackStats sources to cmake and autotools build files
https://bugs.webkit.org/show_bug.cgi?id=129103

Reviewed by Anders Carlsson.

  • GNUmakefile.list.am:
  • wtf/CMakeLists.txt:
8:43 AM Changeset in webkit [164429] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover
https://bugs.webkit.org/show_bug.cgi?id=129093

Reviewed by Timothy Hatcher.

If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit
such colors.

  • UserInterface/CSSStyleDeclarationTextEditor.js:
7:23 AM Changeset in webkit [164428] by k.czech@samsung.com
  • 3 edits in trunk/Source/WebCore

AX: Use auto to reduce some code in loops
https://bugs.webkit.org/show_bug.cgi?id=129087

Reviewed by Chris Fleizach.

Use auto where appropriate to reduce some code.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:

(webkitAccessibleHypertextGetNLinks):

6:31 AM Changeset in webkit [164427] by Michał Pakuła vel Rutka
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add tests expectations for failing tests and remove ones for
passing tests after r163645, r163614, r164145.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:15 AM WebKitGTK/Chroot edited by Andres Gomez
Added how to restart a user-wide instance of pulse audio (diff)
6:11 AM WebKitGTK/Chroot edited by Andres Gomez
Minor detail to Pulse running user-wide (diff)
6:06 AM WebKitGTK/Chroot edited by Andres Gomez
(diff)
5:52 AM Changeset in webkit [164426] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Unreviewed, rolling out r164422.
http://trac.webkit.org/changeset/164422
https://bugs.webkit.org/show_bug.cgi?id=129102

Causes assertions in
ScriptExecutionContext::canSuspendActiveDOMObjects()
(Requested by zdobersek on #webkit).

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

  • dom/KeyboardEvent.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::publicURLManager):

  • dom/ScriptExecutionContext.h:
  • dom/ScriptRunner.h:
4:29 AM Changeset in webkit [164425] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

Move to using std::unique_ptr for VisitedLinkState, CheckedRadioButtons
https://bugs.webkit.org/show_bug.cgi?id=128967

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the VisitedLinkState and
CheckedRadioButtons classes with std::unique_ptr.

  • dom/CheckedRadioButtons.cpp:

(WebCore::RadioButtonGroup::RadioButtonGroup):
(WebCore::RadioButtonGroup::remove):
(WebCore::CheckedRadioButtons::addButton):
(WebCore::CheckedRadioButtons::removeButton):

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

(WebCore::Document::Document):

  • dom/Document.h:
  • dom/VisitedLinkState.cpp:
  • dom/VisitedLinkState.h:
3:33 AM Changeset in webkit [164424] by Csaba Osztrogonác
  • 212 edits in trunk/Source

Get rid of redundant Platform.h includes
https://bugs.webkit.org/show_bug.cgi?id=128817

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • API/tests/JSNode.c:
  • API/tests/JSNodeList.c:
  • API/tests/minidom.c:
  • API/tests/testapi.c:
  • assembler/MacroAssembler.h:
  • bytecode/ByValInfo.h:
  • bytecode/CallLinkInfo.h:
  • bytecode/CallReturnOffsetToBytecodeOffset.h:
  • bytecode/CodeType.h:
  • bytecode/HandlerInfo.h:
  • bytecode/MethodOfGettingAValueProfile.h:
  • bytecode/PolymorphicAccessStructureList.h:
  • bytecode/PolymorphicPutByIdList.h:
  • bytecode/StructureStubClearingWatchpoint.h:
  • bytecode/StructureStubInfo.h:
  • bytecode/ValueRecovery.h:
  • bytecode/VirtualRegister.h:
  • dfg/DFGAbstractHeap.h:
  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:
  • dfg/DFGAbstractValue.h:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGAllocator.h:
  • dfg/DFGAnalysis.h:
  • dfg/DFGArgumentsSimplificationPhase.h:
  • dfg/DFGArrayMode.h:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGAtTailAbstractState.h:
  • dfg/DFGBackwardsPropagationPhase.h:
  • dfg/DFGBinarySwitch.h:
  • dfg/DFGBlockInsertionSet.h:
  • dfg/DFGBranchDirection.h:
  • dfg/DFGCFAPhase.h:
  • dfg/DFGCFGSimplificationPhase.h:
  • dfg/DFGCPSRethreadingPhase.h:
  • dfg/DFGCSEPhase.h:
  • dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
  • dfg/DFGCapabilities.h:
  • dfg/DFGClobberSet.h:
  • dfg/DFGClobberize.h:
  • dfg/DFGCommon.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGConstantFoldingPhase.h:
  • dfg/DFGCriticalEdgeBreakingPhase.h:
  • dfg/DFGDCEPhase.h:
  • dfg/DFGDesiredIdentifiers.h:
  • dfg/DFGDesiredStructureChains.h:
  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDisassembler.h:
  • dfg/DFGDominators.h:
  • dfg/DFGDriver.h:
  • dfg/DFGEdge.h:
  • dfg/DFGEdgeDominates.h:
  • dfg/DFGEdgeUsesStructure.h:
  • dfg/DFGFailedFinalizer.h:
  • dfg/DFGFiltrationResult.h:
  • dfg/DFGFinalizer.h:
  • dfg/DFGFixupPhase.h:
  • dfg/DFGFlushFormat.h:
  • dfg/DFGFlushLivenessAnalysisPhase.h:
  • dfg/DFGFlushedAt.h:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGInsertionSet.h:
  • dfg/DFGInvalidationPointInjectionPhase.h:
  • dfg/DFGJITCode.h:
  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLICMPhase.h:
  • dfg/DFGLazyJSValue.h:
  • dfg/DFGLivenessAnalysisPhase.h:
  • dfg/DFGLongLivedState.h:
  • dfg/DFGLoopPreHeaderCreationPhase.h:
  • dfg/DFGMinifiedGraph.h:
  • dfg/DFGMinifiedID.h:
  • dfg/DFGMinifiedNode.h:
  • dfg/DFGNaturalLoops.h:
  • dfg/DFGNode.h:
  • dfg/DFGNodeAllocator.h:
  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGOSREntrypointCreationPhase.h:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitBase.h:
  • dfg/DFGOSRExitCompilationInfo.h:
  • dfg/DFGOSRExitCompiler.h:
  • dfg/DFGOSRExitCompilerCommon.h:
  • dfg/DFGOSRExitJumpPlaceholder.h:
  • dfg/DFGPhase.h:
  • dfg/DFGPlan.h:
  • dfg/DFGPredictionInjectionPhase.h:
  • dfg/DFGPredictionPropagationPhase.h:
  • dfg/DFGResurrectionForValidationPhase.h:
  • dfg/DFGSSAConversionPhase.h:
  • dfg/DFGSafeToExecute.h:
  • dfg/DFGSaneStringGetByValSlowPathGenerator.h:
  • dfg/DFGSilentRegisterSavePlan.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGStackLayoutPhase.h:
  • dfg/DFGStructureAbstractValue.h:
  • dfg/DFGThunks.h:
  • dfg/DFGTierUpCheckInjectionPhase.h:
  • dfg/DFGToFTLDeferredCompilationCallback.h:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
  • dfg/DFGTypeCheckHoistingPhase.h:
  • dfg/DFGUnificationPhase.h:
  • dfg/DFGUseKind.h:
  • dfg/DFGValidate.h:
  • dfg/DFGValueRecoveryOverride.h:
  • dfg/DFGValueSource.h:
  • dfg/DFGVariableAccessData.h:
  • dfg/DFGVariableAccessDataDump.h:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.h:
  • dfg/DFGVirtualRegisterAllocationPhase.h:
  • dfg/DFGWatchpointCollectionPhase.h:
  • dfg/DFGWorklist.h:
  • disassembler/Disassembler.h:
  • ftl/FTLAbbreviatedTypes.h:
  • ftl/FTLAbbreviations.h:
  • ftl/FTLAbstractHeap.h:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.h:
  • ftl/FTLCommonValues.h:
  • ftl/FTLCompile.h:
  • ftl/FTLExitArgument.h:
  • ftl/FTLExitArgumentForOperand.h:
  • ftl/FTLExitArgumentList.h:
  • ftl/FTLExitThunkGenerator.h:
  • ftl/FTLExitValue.h:
  • ftl/FTLFail.h:
  • ftl/FTLForOSREntryJITCode.h:
  • ftl/FTLFormattedValue.h:
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.h:
  • ftl/FTLLink.h:
  • ftl/FTLLocation.h:
  • ftl/FTLLowerDFGToLLVM.h:
  • ftl/FTLLoweredNodeValue.h:
  • ftl/FTLOSREntry.h:
  • ftl/FTLOSRExit.h:
  • ftl/FTLOSRExitCompilationInfo.h:
  • ftl/FTLOSRExitCompiler.h:
  • ftl/FTLOutput.h:
  • ftl/FTLSaveRestore.h:
  • ftl/FTLStackMaps.h:
  • ftl/FTLState.h:
  • ftl/FTLSwitchCase.h:
  • ftl/FTLThunks.h:
  • ftl/FTLTypedPointer.h:
  • ftl/FTLValueFormat.h:
  • ftl/FTLValueFromBlock.h:
  • heap/JITStubRoutineSet.h:
  • interpreter/AbstractPC.h:
  • jit/AssemblyHelpers.h:
  • jit/CCallHelpers.h:
  • jit/ClosureCallStubRoutine.h:
  • jit/GCAwareJITStubRoutine.h:
  • jit/HostCallReturnValue.h:
  • jit/JITDisassembler.h:
  • jit/JITStubRoutine.h:
  • jit/JITThunks.h:
  • jit/JITToDFGDeferredCompilationCallback.h:
  • jit/RegisterSet.h:
  • jit/Repatch.h:
  • jit/ScratchRegisterAllocator.h:
  • jit/TempRegisterSet.h:
  • jit/ThunkGenerator.h:
  • llint/LLIntData.h:
  • llint/LLIntEntrypoint.h:
  • llint/LLIntExceptions.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntOpcode.h:
  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.h:
  • llvm/InitializeLLVM.h:
  • llvm/InitializeLLVMPOSIX.h:
  • llvm/LLVMAPI.h:
  • os-win32/inttypes.h:
  • runtime/ArrayStorage.h:
  • runtime/Butterfly.h:
  • runtime/CommonSlowPaths.h:
  • runtime/CommonSlowPathsExceptions.h:
  • runtime/IndexingHeader.h:
  • runtime/JSExportMacros.h:
  • runtime/PropertyOffset.h:
  • runtime/SparseArrayValueMap.h:

Source/WebKit/win:

  • WebDownloadCFNet.cpp:
  • WebDownloadCurl.cpp:
  • WebURLResponse.cpp:

Source/WebKit2:

  • config.h:

Source/WTF:

  • wtf/Assertions.h:
  • wtf/Atomics.h:
  • wtf/ByteOrder.h:
  • wtf/DataLog.h:
  • wtf/DisallowCType.h:
  • wtf/DynamicAnnotations.h:
  • wtf/ExportMacros.h:
  • wtf/FastMalloc.h:
  • wtf/FlipBytes.h:
  • wtf/InlineASM.h:
  • wtf/PrintStream.h:
  • wtf/ProcessID.h:
  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:
2:24 AM Changeset in webkit [164423] by commit-queue@webkit.org
  • 6 edits in trunk

AX: Children Nodes for Canvas objects are not equal to Render Objects.
https://bugs.webkit.org/show_bug.cgi?id=123568

Patch by Artur Moryc <a.moryc@samsung.com> on 2014-02-20
Reviewed by Chris Fleizach.

Source/WebCore:

There is a difference in children nodes taken into account for RenderObject
and for NodeObject types. There is a problem with text nodes that are
focusable for EFL/GTK and therefore are not filtered out in the test like it
happens for the MAC port. Text nodes are eliminated in the
AccessibilityRenderObject::computeAccessibilityIsIgnored() method. The same
approach has been applied to the NodeObject to eliminate text nodes.

Covered by existing tests.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

The canvas-accessibilitynodeobject.html test is not failing anymore.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
1:57 AM Changeset in webkit [164422] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
https://bugs.webkit.org/show_bug.cgi?id=129061

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
but this will be addressed later.

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

  • dom/KeyboardEvent.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::publicURLManager):

  • dom/ScriptExecutionContext.h:
  • dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
1:49 AM Changeset in webkit [164421] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Move to using std::unique_ptr for EventListenerMap, EventTarget
https://bugs.webkit.org/show_bug.cgi?id=129062

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the EventListenerMap and
EventTarget classes with std::unique_ptr.

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::add):

  • dom/EventListenerMap.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • dom/EventTarget.h:
1:46 AM Changeset in webkit [164420] by zandobersek@gmail.com
  • 16 edits in trunk/Source/WebCore

Move to using std::unique_ptr for Document and related classes
https://bugs.webkit.org/show_bug.cgi?id=129063

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in the Document and related classes with std::unique_ptr.

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

(WebCore::Document::Document):
(WebCore::Document::removedLastRef):
(WebCore::Document::selectorQueryCache):
(WebCore::Document::implementation):
(WebCore::Document::formController):
(WebCore::Document::createStyleResolver):
(WebCore::Document::clearStyleResolver):
(WebCore::Document::clearAXObjectCache):
(WebCore::Document::axObjectCache):
(WebCore::Document::setParsing):
(WebCore::Document::styleResolverChanged):
(WebCore::Document::setTransformSource):
(WebCore::Document::accessSVGExtensions):
(WebCore::Document::sharedObjectPoolClearTimerFired):
(WebCore::Document::didAddTouchEventHandler):

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

(WebCore::DocumentEventQueue::DocumentEventQueue):

  • dom/DocumentEventQueue.h:
  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):

  • dom/DocumentMarkerController.h:
  • dom/DocumentSharedObjectPool.cpp:
  • dom/DocumentSharedObjectPool.h:
  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):

  • dom/DocumentStyleSheetCollection.h:
  • dom/DocumentType.h:
  • html/FormController.h:
  • rendering/TextAutosizer.h:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::doEnd):

1:10 AM Changeset in webkit [164419] by mihnea@adobe.com
  • 4 edits in trunk/Source/WebCore

[CSSRegions] Add helper method for region clipping flow content
https://bugs.webkit.org/show_bug.cgi?id=129036

Reviewed by Andrei Bucur.

Add helper method to test whether a region should clip the flow thread content
and use it thoughout the code.
Code refactoring, no functionality change, no new tests.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::shouldClipFlowThreadContent):
(WebCore::RenderRegion::rectFlowPortionForBox):

  • rendering/RenderRegion.h:
12:28 AM Changeset in webkit [164418] by fred.wang@free.fr
  • 9 edits
    6 adds in trunk

Implement the MathML Operator Dictionary.
https://bugs.webkit.org/show_bug.cgi?id=99620

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML Operator Dictionary is implemented and the corresponding mo
attributes are parsed. Currently, only the stretchy property is used for
the visual rendering and the fence/separators properties are used by the
accessibility code. Very basic heuristics to determine the form are also
added.

Tests: mathml/presentation/mo-form-fallback.html

mathml/presentation/mo-form-stretchy.html
mathml/presentation/mo-invalid-attributes.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isMathFenceOperator):
(WebCore::AccessibilityRenderObject::isMathSeparatorOperator):

  • mathml/mathattrs.in:
  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):

  • rendering/mathml/RenderMathMLFenced.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::MathMLOperatorDictionary::ExtractChar):
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::advanceForCharacter):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::shouldAllowStretching):
(WebCore::RenderMathMLOperator::updateStyle):

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

  • mathml/presentation/mo-form-fallback-expected.html: Added.
  • mathml/presentation/mo-form-fallback.html: Added.
  • mathml/presentation/mo-form-stretchy-expected.html: Added.
  • mathml/presentation/mo-form-stretchy.html: Added.
  • mathml/presentation/mo-invalid-attributes-expected.html: Added.
  • mathml/presentation/mo-invalid-attributes.html: Added.
  • mathml/presentation/mo-stretch.html: add an explicit stretchy attribute on the &DoubleVerticalBar; which is actually not a delimiter.
12:00 AM Changeset in webkit [164417] by fpizlo@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

DFG should have a way of carrying and preserving conditional branch weights
https://bugs.webkit.org/show_bug.cgi?id=129083

Reviewed by Michael Saboff.

Branch and Switch now have branch counts/weights for each target. This is encapsulated
behind DFG::BranchTarget. We carry this data all the way to the FTL, and the DFG
backend ignores it.

We don't set this data yet; that's for https://bugs.webkit.org/show_bug.cgi?id=129055.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::mergeToSuccessors):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGNode.cpp:

(JSC::DFG::BranchTarget::dump):

  • dfg/DFGNode.h:

(JSC::DFG::BranchTarget::BranchTarget):
(JSC::DFG::BranchTarget::setBytecodeIndex):
(JSC::DFG::BranchTarget::bytecodeIndex):
(JSC::DFG::BranchData::withBytecodeIndices):
(JSC::DFG::BranchData::takenBytecodeIndex):
(JSC::DFG::BranchData::notTakenBytecodeIndex):
(JSC::DFG::BranchData::forCondition):
(JSC::DFG::SwitchCase::SwitchCase):
(JSC::DFG::SwitchCase::withBytecodeIndex):
(JSC::DFG::SwitchData::SwitchData):
(JSC::DFG::Node::targetBytecodeOffsetDuringParsing):
(JSC::DFG::Node::targetBlock):
(JSC::DFG::Node::branchData):
(JSC::DFG::Node::successor):
(JSC::DFG::Node::successorForCondition):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBooleanBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleInt32Branch):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
(JSC::DFG::SpeculativeJIT::emitSwitchImm):
(JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse):
(JSC::DFG::SpeculativeJIT::emitSwitchStringOnString):
(JSC::DFG::SpeculativeJIT::emitSwitchString):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleInt52Branch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileJump):
(JSC::FTL::LowerDFGToLLVM::compileBranch):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):

Note: See TracTimeline for information about the timeline view.