Timeline
Aug 16, 2014:
- 3:52 PM Changeset in webkit [172694] by
-
- 3 edits in trunk/Source/WebKit/mac
Remove the obsolete WebKitEnableCoalescedUpdatesPreferenceKey
https://bugs.webkit.org/show_bug.cgi?id=136024
Reviewed by Filip Pizlo.
- WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]): Remove code that respects
this key. It was SPI and is no longer used; also it was
only relevant for versions of OS X that WebKit no longer supports.
- WebView/WebPreferenceKeysPrivate.h: Remove declaration.
- 1:32 PM Changeset in webkit [172693] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r164173): Safari AutoFill button in popover, default buttons on iCloud control panel and Safari Safe Browsing pages don't have default appearance
https://bugs.webkit.org/show_bug.cgi?id=136011
Reviewed by Sam Weinig.
When we render some controls, we need to make sure the NSWindow subclass we
use as the host of the AppKit views identifies itself as the key window (if
the control state is correct). We already have a flag tracking this for
key appearance - just make sure we do the same for isKeyWindow.
- platform/mac/ThemeMac.mm:
(-[WebCoreThemeWindow isKeyWindow]): New override to mirror the static
variable for key appearance.
- 12:26 PM Changeset in webkit [172692] by
-
- 2 edits in trunk/Tools
Update contributors.json for my new email
https://bugs.webkit.org/show_bug.cgi?id=136021
Patch by Mark Hahnenberg <mhahnenb@gmail.com> on 2014-08-16
Reviewed by Filip Pizlo.
- Scripts/webkitpy/common/config/contributors.json:
- 12:01 PM Changeset in webkit [172691] by
-
- 3 edits2 moves in trunk/Source/WebKit2
Rename DiskCacheMonitor to NetworkDiskCacheMonitor
https://bugs.webkit.org/show_bug.cgi?id=135897
Reviewed by Andreas Kling.
In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
class to NetworkDiskCacheMonitor.
- NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.
(WebKit::NetworkDiskCacheMonitor::resourceRequest):
- NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.
(WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
(WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
(WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):
- NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):
- WebKit2.xcodeproj/project.pbxproj:
- 7:26 AM Changeset in webkit [172690] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
https://bugs.webkit.org/show_bug.cgi?id=136017
Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-16
Reviewed by Gyuyoung Kim.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):
- UIProcess/API/gtk/PageClientImpl.h:
- 2:25 AM Changeset in webkit [172689] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve performance of selection range changes viewing Scripts timeline
https://bugs.webkit.org/show_bug.cgi?id=136015
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-16
Reviewed by Timothy Hatcher.
- UserInterface/Base/Utilities.js:
(clamp):
Helper function to clamp a value between a min and max.
- UserInterface/Models/ProfileNode.js:
(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
These can be quickly calculated, so avoid full calculation to grab the values.
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.updateLayout):
Update ranges with a smart helper, instead of blindly doing it and needing refresh.
- UserInterface/Views/ProfileNodeDataGridNode.js:
(WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get data):
(WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.
- UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
When updating the range selection, compare to the last range selection
on this DataGridNode. If the visible portion of this node's time range
changes, we need a refresh. Otherwise, we don't need a refresh.
Aug 15, 2014:
- 10:49 PM Changeset in webkit [172688] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Update Scripts/update-LegacyInspectorBackendCommands.rb for the new generator
https://bugs.webkit.org/show_bug.cgi?id=136006
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-15
Reviewed by Timothy Hatcher.
- Scripts/update-LegacyInspectorBackendCommands.rb:
Use the new generator and pass the appropriate flags.
- UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
- UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
Newly generated files using the new generator.
- Versions/Inspector-iOS-6.0.json:
Remove unsupported features.
- 9:38 PM Changeset in webkit [172687] by
-
- 12 edits in trunk/Source/JavaScriptCore
Web Inspector: rewrite CodeGeneratorInspector to be modular and testable
https://bugs.webkit.org/show_bug.cgi?id=131596
Unreviewed gardening to rebaseline inspector generator tests after addressing review comments.
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
- inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
- inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
- inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
- inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-declaration-object-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
- 9:36 PM Changeset in webkit [172686] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix for some GTK bots after r172655.
Some bots use Python 2.6, which lacks the 'flags' named parameter for re.sub.
- inspector/scripts/codegen/generator.py:
(Generator.stylized_name_for_enum_value): Do things the old-school way.
- 9:35 PM Changeset in webkit [172685] by
-
- 3 edits1 add in trunk/Source/WebKit2
[EFL] Add ewk_intro.h to describe main page of doxygen
https://bugs.webkit.org/show_bug.cgi?id=136013
Reviewed by Gyuyoung Kim.
- PlatformEfl.cmake:
- UIProcess/API/efl/EWebKit2.h.in:
- UIProcess/API/efl/ewk_intro.h: Added.
- 9:21 PM Changeset in webkit [172684] by
-
- 3 edits in branches/safari-600.1-branch/WebKitLibraries
Merge r172661. <rdar://problem/18037766>
- 9:19 PM Changeset in webkit [172683] by
-
- 6 edits in branches/safari-600.1-branch
Merge r172019. <rdar://problem/18029617>
- 9:05 PM Changeset in webkit [172682] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove forced layouts during recording caused by striped background element resizing
https://bugs.webkit.org/show_bug.cgi?id=136009
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-15
Reviewed by Timothy Hatcher.
We used to manually resize and a custom striped background behind
the timeline tree outline content area. This can happen frequently
during timeline recordings causing forced layouts. We can eliminate
the hack and instead put the stripe background on the tree outline.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
- UserInterface/Views/TimelineSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
(.sidebar > .panel.navigation.timeline > .content > .stripe-background): Deleted.
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): Deleted.
Eliminate the striped background element.
- UserInterface/Views/TimelineView.css:
(.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline):
(.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
Give the timeline content tree outlines the striped background.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
Remove the now unused updateCustomContentOverflow method.
- 9:03 PM Changeset in webkit [172681] by
-
- 19 edits in trunk/Source
Do not use FloatRect::infiniteRect() to flag full repaints.
https://bugs.webkit.org/show_bug.cgi?id=135900
Reviewed by Simon Fraser.
Converting FloatRect::infiniteRect() to IntRect leads to value overflow
and we end up with invalid repaint rectangle. Use a boolean flag to indicate
full repaint request.
Covered by existing tests.
Source/WebCore:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setNeedsDisplay):
(WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
(WebCore::GraphicsLayerCA::repaintLayerDirtyRects):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::setTileNeedsDisplayInRect):
- platform/graphics/ca/mac/PlatformCALayerMac.h:
- platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::setNeedsDisplay):
(PlatformCALayerMac::setNeedsDisplayInRect):
Source/WebKit2:
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::setNeedsDisplayInRect):
(WebKit::PlatformCALayerRemote::setNeedsDisplay):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
- WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::setNeedsDisplayInRect):
(WebKit::PlatformCALayerRemoteCustom::setNeedsDisplay):
- WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
(WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplayInRect):
(WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
- WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
- 7:57 PM Changeset in webkit [172680] by
-
- 4 edits in trunk
REGRESSION (r172660): WebKit2.TerminateTwice asserts
https://bugs.webkit.org/show_bug.cgi?id=136012
Source/WebKit2:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::terminateProcess):
Added bug number to a fixme.
Tools:
- TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Skipped the test in debug mode.
- 7:49 PM Changeset in webkit [172679] by
-
- 6 edits in trunk/Source/WebCore
Unify the modes style resolution modes SharingRules and StyleInvalidation
https://bugs.webkit.org/show_bug.cgi?id=135969
Reviewed by Andreas Kling.
Unifying the Collector and SelectorCheckers was done in previous patches,
this is just removing the enums.
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match):
- css/SelectorChecker.h:
- css/StyleInvalidationAnalysis.cpp:
(WebCore::invalidateStyleRecursively):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
- 7:32 PM Changeset in webkit [172678] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed build fix on the EFL port since r172635
- UIProcess/WebPageProxy.cpp: Guard removeNavigationGestureSnapshot with PLATFORM(MAC) macro.
- UIProcess/WebPageProxy.h: Ditto.
- UIProcess/efl/WebViewEfl.h: Added didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame as dummy.
- 7:25 PM Changeset in webkit [172677] by
-
- 3 edits in tags/Safari-600.1.10.1/WebKitLibraries
Merge r172661. <rdar://problem/18037766>
- 7:23 PM Changeset in webkit [172676] by
-
- 6 edits in tags/Safari-600.1.10.1
Merge r172019. <rdar://problem/18029617>
- 7:14 PM Changeset in webkit [172675] by
-
- 5 edits in tags/Safari-600.1.10.1/Source
Versioning.
- 7:11 PM Changeset in webkit [172674] by
-
- 1 delete in tags/Safari-600.1.2.10.1
Delete Tag.
- 7:10 PM Changeset in webkit [172673] by
-
- 1 copy in tags/Safari-600.1.10.1
New Tag.
- 7:09 PM Changeset in webkit [172672] by
-
- 2 edits in trunk/Tools
Unreviewed build fix attempt on the CMake based pots since r172665
- TestWebKitAPI/CMakeLists.txt: Added JavaScriptCore/interpreter to the include list.
- 7:05 PM Changeset in webkit [172671] by
-
- 3 edits in tags/Safari-600.1.2.10.1/WebKitLibraries
Merge r172661. <rdar://problem/18037766>
- 7:03 PM Changeset in webkit [172670] by
-
- 1 edit in tags/Safari-600.1.2.10.1/WebKitLibraries/ChangeLog
Merge r172019. <rdar://problem/18029617>
- 6:59 PM Changeset in webkit [172669] by
-
- 5 edits in tags/Safari-600.1.2.10.1/Source
Versioning.
- 6:54 PM Changeset in webkit [172668] by
-
- 1 delete in tags/Safari-600.1.10.1
Delete tag.
- 6:52 PM Changeset in webkit [172667] by
-
- 1 copy in tags/Safari-600.1.2.10.1
New Tag.
- 6:47 PM Changeset in webkit [172666] by
-
- 5 edits in tags/Safari-600.1.10.1/Source
Versioning.
- 6:45 PM Changeset in webkit [172665] by
-
- 28 edits1 add in trunk/Source/JavaScriptCore
Change callToJavaScript and callToNativeFunction so their callFrames match the native calling conventions
https://bugs.webkit.org/show_bug.cgi?id=131578
Reviewed by Geoffrey Garen.
Renamed callToJavaScript and callToNativeFunction to vmEntryToJavaScript and vmEntryToNative,
respectively. Eliminated the sentinel frame and replaced it with the structure VMEntryRecord
that appears in the "locals" area of a VM entry stack frame. Changed the order that
vmEntryToJavaScript and vmEntryToNative creates their stack frames to be native calling
convention compliant. That is to save prior frame pointer, save callee save registers, then
allocate and populate the VMEntryRecord, and finally allocate a CallFrame for the JS function
that vmEntryToJavaScript will invoke. The top most vm entry frame pointer is saved in
VM::topVMEntryFrame. The vmEntry functions save prior contents of VM::topVMEntryFrame
along with the VM and VM::topCallFrame in the VMEntryRecord it places on the stack. Starting
at VM::topCallFrame, the stack can be walked using these VMEntryRecords.
Arbitrary stack unwinding is now handled either iteratively by loading VM::topVMEntryFrame
into a local variable and using CallFrame::callerFrame(VMEntryFrame*&) or by using StackVisitor.
Given that the stack is effectively a singly linked list, general stack unwinding needs to use
one of these two methods.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
Addition of VMEntryRecord.h
- bytecode/BytecodeList.json:
Renaming of llint helper opcodes due to renaming callToJavaScript and callToNativeFunction.
- debugger/Debugger.cpp:
(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::returnEvent):
(JSC::Debugger::didExecuteProgram):
- jsc.cpp:
(functionDumpCallFrame):
- jit/JITOperations.cpp:
Changed unwinding to use CallFrame::callerFrame(VMEntryFrame*&).
- bytecode/CodeBlock.cpp:
(JSC::RecursionCheckFunctor::RecursionCheckFunctor):
(JSC::RecursionCheckFunctor::operator()):
(JSC::RecursionCheckFunctor::didRecurse):
(JSC::CodeBlock::noticeIncomingCall):
- debugger/DebuggerCallFrame.cpp:
(JSC::FindCallerMidStackFunctor::FindCallerMidStackFunctor):
(JSC::FindCallerMidStackFunctor::operator()):
(JSC::FindCallerMidStackFunctor::getCallerFrame):
(JSC::DebuggerCallFrame::callerFrame):
- interpreter/VMInspector.cpp:
(JSC::CountFramesFunctor::CountFramesFunctor):
(JSC::CountFramesFunctor::operator()):
(JSC::CountFramesFunctor::count):
(JSC::VMInspector::countFrames):
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::FindFirstCallerFrameWithCodeblockFunctor):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::operator()):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::foundCallFrame):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::index):
(JSC::VM::throwException):
Changed unwinding to use StackVisitor including added functor classes.
- interpreter/CallFrame.cpp:
(JSC::CallFrame::callerFrame):
Added new flavor of callerFrame() that can iteratively unwind the stack.
- interpreter/CallFrame.h:
(JSC::ExecState::callerFrame): Changed callerFrame() to use private common helper.
(JSC::ExecState::callerFrameOrVMEntryFrame): Deleted.
(JSC::ExecState::isVMEntrySentinel): Deleted.
(JSC::ExecState::vmEntrySentinelCallerFrame): Deleted.
(JSC::ExecState::initializeVMEntrySentinelFrame): Deleted.
(JSC::ExecState::callerFrameSkippingVMEntrySentinel): Deleted.
(JSC::ExecState::vmEntrySentinelCodeBlock): Deleted.
- interpreter/CallFrame.h:
(JSC::ExecState::init):
(JSC::ExecState::topOfFrame):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
Eliminated unneded checking of sentinel frame.
- interpreter/Interpreter.cpp:
(JSC::unwindCallFrame):
(JSC::Interpreter::getStackTrace): Updated for unwidning changes.
(JSC::Interpreter::unwind): Eliminated unneeded sentinel frame check.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
- jit/JITStubs.h:
- llint/LLIntThunks.cpp:
(JSC::callToJavaScript): Deleted.
(JSC::callToNativetion): Deleted.
(JSC::vmEntryToJavaScript):
(JSC::vmEntryToNative):
- llint/LLIntThunks.h:
Updated for vmEntryToJavaScript and vmEntryToNative name changes.
- interpreter/Interpreter.h:
(JSC::TopCallFrameSetter::TopCallFrameSetter):
(JSC::TopCallFrameSetter::~TopCallFrameSetter):
Eliminated unneeded sentinel frame check.
- interpreter/Interpreter.h:
(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
Removed sentinel specific constructor.
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::StackVisitor):
(JSC::StackVisitor::readFrame):
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
(JSC::StackVisitor::Frame::print):
- interpreter/StackVisitor.h:
(JSC::StackVisitor::Frame::callerIsVMEntry):
Changes for unwinding using CallFrame::callerFrame(VMEntryFrame*&). Also added field that
indicates when about to step over a VM entry frame.
- interpreter/VMEntryRecord.h: Added.
(JSC::VMEntryRecord::prevTopCallFrame):
(JSC::VMEntryRecord::prevTopVMEntryFrame):
New struct to record prior state of VM's notion of VM entry and top call frames.
- jit/JITCode.cpp:
(JSC::JITCode::execute):
Use new vmEntryToJavaScript and vmEntryToNative name.
- llint/LLIntOffsetsExtractor.cpp: Added include for VMEntryRecord.h.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
Offline assembly implementation of creating stack frame with VMEntryRecord and well as restoring
relevent VM fields when exiting the VM. Added a helper that returns a VMEntryRecord given
a pointer to the VM entry frame.
- llint/LLIntThunks.cpp:
(JSC::vmEntryRecord):
- llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
C Loop changes to mirror the assembly changes.
- runtime/VM.h:
Added topVMEntryFrame field.
- 6:39 PM Changeset in webkit [172664] by
-
- 1 copy in tags/Safari-600.1.10.1
New Tag.
- 6:37 PM Changeset in webkit [172663] by
-
- 4 edits in trunk/Source/WebCore
CSS JIT: compile :-webkit-full-page-media
https://bugs.webkit.org/show_bug.cgi?id=135968
Reviewed by Alexey Proskuryakov.
Add the pseudo class :-webkit-full-page-media with an unoptimized function call.
It would be possible to inline it, but this selector is so uncommon I don't think
it is worth having any additional complexity for it.
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
- css/SelectorCheckerTestFunctions.h:
(WebCore::isMediaDocument):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
- 5:56 PM Changeset in webkit [172662] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Inspect Element doesn't always highlight the correct element when inspector is closed before inspecting
https://bugs.webkit.org/show_bug.cgi?id=135995
Reviewed by Joseph Pecoraro.
Change so if an element is inspected via the Inspect Element context menu, selected
node restoration is disallowed until the main resource in the main frame changes.
This way an attempt by a sub-frame will not change the highlighted element in the
Main Frame's DOM tree unexpectedly.
- UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype._mainResourceDidChange):
(WebInspector.DOMTreeManager.prototype.inspectElement):
- 5:42 PM Changeset in webkit [172661] by
-
- 3 edits in trunk/WebKitLibraries
[Win] Link to static VS2013 runtime library.
https://bugs.webkit.org/show_bug.cgi?id=136007
<rdar://problem/18037766>
Reviewed by Dean Jackson.
- win/tools/vsprops/common.props: Update link command.
- win/tools/vsprops/debugsuffix.props: Ditto.
- 4:56 PM Changeset in webkit [172660] by
-
- 5 edits in trunk/Source/WebKit2
Improve page to process relationship tracking
https://bugs.webkit.org/show_bug.cgi?id=135996
<rdar://problem/16991213>
Reviewed by Sam Weinig.
- UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::sendTable):
Added assertions for m_processes only having valid entries.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess): When attaching to a new process,
tell the old process that the page is not longer associated with it, avoiding
a potential stale pointer.
If re-attached to an existing process, make sure that we perform all the same
registrations as after having launched a new process. This substantially improves
the behavior when the number of open tabs is over process limit.
(WebKit::WebPageProxy::reattachToWebProcessWithItem): Added ASSERT(!isValid())
to avoid confusion. All other calls to reattachToWebProcess() have this as a
runtime check, but reattachToWebProcessWithItem() is only called for valid pages.
(WebKit::WebPageProxy::terminateProcess): Added an assertion with a FIXME for
something that will need to be fixed another day.
- UIProcess/WebPageProxy.h: Removed an unimplemented function.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addExistingWebPage): Added assertions for page map sanity.
(WebKit::WebProcessProxy::removeWebPage): Added a check for page state being Terminated
already. This avoids an assertion failure that happened under the new call to
removeWebPage() in reattachToWebProcess(), as we are now calling it for terminated
processes that are not in WebContext::m_processes any more.
(WebKit::WebProcessProxy::didFinishLaunching): Added an assertion that page agrees
about using this process.
- 4:35 PM Changeset in webkit [172659] by
-
- 3 edits in trunk/Source/WebCore
Fix gliding in AxisScrollSnapAnimator for Mac
https://bugs.webkit.org/show_bug.cgi?id=135971
Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-15
Reviewed by Dean Jackson.
Previously, momentum events that are handled immediately after finishing a glide animation cause a second, extremely
slow glide animation to trigger. To fix this, I added a new state DestinationReached. During this state, additional
momentum events that are handled after the glide animation completes will not fill up the momentum window and trigger
a second glide event.
- platform/mac/AxisScrollSnapAnimator.h:
- platform/mac/AxisScrollSnapAnimator.mm:
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator):
(WebCore::AxisScrollSnapAnimator::handleWheelEvent):
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate):
(WebCore::AxisScrollSnapAnimator::endScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::computeGlideDelta):
- 4:19 PM Changeset in webkit [172658] by
-
- 2 edits in trunk/Source/WebKit/mac
[iOS] Teach postprocess-headers.sh to remove code guarded by ENABLE_IOS_GESTURE_EVENTS
and ENABLE_TOUCH_EVENTS if applicable
https://bugs.webkit.org/show_bug.cgi?id=135993
Reviewed by Andy Estes.
Add support infrastructure to remove code from public and private API headers that is
guarded by macro define ENABLE_{IOS_GESTURE, TOUCH}_EVENTS when these features are disabled.
We aren't using this functionality yet, but we will soon.
- postprocess-headers.sh:
- 4:09 PM Changeset in webkit [172657] by
-
- 16 edits in trunk/Source/WebCore
[MSE] Implement a maximum buffer size for SourceBuffer
https://bugs.webkit.org/show_bug.cgi?id=135614
Reviewed by Jer Noble.
Implement the MSE coded frame eviction algorithm: when new buffers are appended attempt
to keep the amount of data buffered below a maximum size (which is determined by the media
session manager) by freeing coded frames as follows:
1 - Free frames in 30 second chunks from 0 to 30 seconds before the current time.
2 - If there are time ranges after the range with the current time, free frames in
30 second chunks from duration back to the beginning of the time range after
current time.
For now we DO NOT throw a QUOTA_EXCEEDED_ERR when we are not able to free up enough
space to remain below the prescribed quota, because some big name, widely deployed,
code bases ignore the error and continue appending data as though the failed append
succeeded, leading to a corrupted bitstream and failure to play.
- Modules/mediasource/SampleMap.cpp:
(WebCore::SampleMap::addSample): Drive-by performance optimization: sample->presentationTime()
is used more than once, stash it in a local variable.
(WebCore::SampleMap::removeSample): Ditto.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::logRanges): Debug-only function to log TimeRanges.
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::remove): Optimize logging. Buffer full and coded frame eviction logic
is in SourceBuffer instead of SourceBufferPrivate.
(WebCore::SourceBuffer::appendBufferInternal): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Set m_bufferFull when more data
has been buffered than allowed.
(WebCore::removeSamplesFromTrackBuffer): Add logging.
(WebCore::SourceBuffer::removeCodedFrames): Improve logging. Avoid debug build assert when
current time is after last enqueued presentation time.
(WebCore::SourceBuffer::evictCodedFrames): The coded frame eviction algorithm.
(WebCore::SourceBuffer::maximumBufferSize): Return the maximum amount of data that can
be buffered.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Improve logging. Don't attempt
to create a PlatformTimeRanges with inverted start and end to avoid an assert in debug.
(WebCore::SourceBuffer::hasAudio): New, return true if there are any audio tracks.
(WebCore::SourceBuffer::hasVideo): New, return true if there are any video tracks.
(WebCore::SourceBuffer::sourceBufferPrivateHasAudio): Call hasAudio.
(WebCore::SourceBuffer::sourceBufferPrivateHasVideo): Call hasVideo.
(WebCore::SourceBuffer::hasCurrentTime): Return true if currentTime is greater than duration.
(WebCore::SourceBuffer::hasFutureTime): Ditto.
(WebCore::SourceBuffer::extraMemoryCost): Return the amount of data buffered: the size of
the input buffer plus the size of all track samples.
(WebCore::SourceBuffer::reportExtraMemoryCost): Move buffered size calculation to extraMemoryCost.
(WebCore::SourceBuffer::document): Document accessor.
- Modules/mediasource/SourceBuffer.h: Drive-by size optimization by moving all bool member
variables to the end of class.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::refreshCachedTime): Drive-by removal of overly chatty logging.
(WebCore::HTMLMediaElement::maximumSourceBufferSize): New, maximum source buffer size.
- html/HTMLMediaElement.h:
- html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::maximumMediaSourceBufferSize): New, get maximum source buffer
size from settings, return full amount for an SourceBuffer with video and audio, return 5%
of the maximum for an audio-only SourceBuffer.
- html/HTMLMediaSession.h:
- page/Settings.in: Add maximumSourceBufferSize. Default value is enough for approximately
five minutes of 1080p video and stereo audio.
- platform/graphics/PlatformTimeRanges.cpp:
(WebCore::PlatformTimeRanges::totalDuration): Drive-by optimization.
(WebCore::PlatformTimeRanges::dump): New, allow a PlatformTimeRanges to be printed.
- platform/graphics/PlatformTimeRanges.h:
- platform/graphics/SourceBufferPrivate.h: Delete evictCodedFrames and isFull, that logic
is not in SourceBuffer.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame): Drive-by logging fix.
(WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames): Deleted.
(WebCore::SourceBufferPrivateAVFObjC::isFull): Deleted.
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::evictCodedFrames): Deleted.
(WebCore::MockSourceBufferPrivate::isFull): Deleted.
- platform/mock/mediasource/MockSourceBufferPrivate.h:
- 3:43 PM Changeset in webkit [172656] by
-
- 6 edits2 adds in trunk
REGRESSION: Parts of the route/route options windows are invisible at maps.google.com
https://bugs.webkit.org/show_bug.cgi?id=135977
<rdar://problem/17961698>
Reviewed by Andreas Kling.
When the style change requires both layout and repaint, the style diff is set to
'layout is needed' (and masks the repaint change) as normally layout is followed by a repaint.
However, in compositing context, layout may not be followed by repaint, so when the style diff
indicates layout, we need to figure out whether it implies repaint too.
This logic should eventually be moved from RenderElement to RenderLayerModelObject/RenderLayer.
-tracked here: webkit.org/b/135990
Source/WebCore:
Test: compositing/cliprect-and-position-change-on-compositing-layer.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setNeedsPositionedMovementLayout):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::diffRequiresLayerRepaint):
(WebCore::RenderStyle::diffRequiresRepaint): Deleted.
- rendering/style/RenderStyle.h:
- rendering/style/RenderStyleConstants.h:
LayoutTests:
- compositing/cliprect-and-position-change-on-compositing-layer-expected.html: Added.
- compositing/cliprect-and-position-change-on-compositing-layer.html: Added.
- 3:40 PM Changeset in webkit [172655] by
-
- 39 edits57 adds2 deletes in trunk
Web Inspector: rewrite CodeGeneratorInspector to be modular and testable
https://bugs.webkit.org/show_bug.cgi?id=131596
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Replace CodeGeneratorInspector.py with generate-inspector-protocol-bindings.py.
The new generator decouples parsing and typechecking a model of the protocol from
code generation. Each generated file is created by a different subclass of Generator.
Helper methods to compute various type signatures are shared among generators.
This patch introduces a test harness and a test suite that covers all functionality.
Aside from hooking up the new inspector bindings generator to the build system,
there are a few comingled changes that would be painful to split from the main
patch:
Convert protocol enumeration types from struct-namespaced enums to C++ scoped enums.
Move all runtimeCast(), assertValueHasExpectedType(), and RuntimeCastHelper methods to static
methods of BindingTraits specializations.
Together, these changes reduce duplication and make it possible to forward-declare
all protocol enum and object types, reducing weird ordering dependencies between domains.
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.vcxproj/copy-files.cmd:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Add inspector scripts to solution filters.
- JavaScriptCore.xcodeproj/project.pbxproj:
- inspector/ConsoleMessage.cpp: Convert to scoped enums.
(Inspector::messageSourceValue):
(Inspector::messageTypeValue):
(Inspector::messageLevelValue):
- inspector/InjectedScript.cpp: Convert to scoped enums and BindingTraits.
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):
- inspector/InjectedScriptBase.cpp: Convert InspectorValue::Type to a scoped enum.
(Inspector::InjectedScriptBase::makeEvalCall):
- inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::injectedScriptForObjectId):
- inspector/InspectorTypeBuilder.h:
(Inspector::TypeBuilder::Array::create):
(Inspector::TypeBuilder::StructItemTraits::pushRefPtr):
(Inspector::TypeBuilder::ArrayItemHelper<String>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<int>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<double>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<bool>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr):
(Inspector::TypeBuilder::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr):
(Inspector::TypeBuilder::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr):
(Inspector::TypeBuilder::PrimitiveBindingTraits::assertValueHasExpectedType):
(Inspector::TypeBuilder::BindingTraits<TypeBuilder::Array<T>>::runtimeCast):
(Inspector::TypeBuilder::BindingTraits<TypeBuilder::Array<T>>::assertValueHasExpectedType):
(Inspector::TypeBuilder::BindingTraits<InspectorValue>::assertValueHasExpectedType):
(Inspector::TypeBuilder::BindingTraits<int>::assertValueHasExpectedType):
(Inspector::TypeBuilder::ExactlyInt::ExactlyInt): Deleted. It was not used.
(Inspector::TypeBuilder::ExactlyInt::operator int): Deleted.
(Inspector::TypeBuilder::ExactlyInt::cast_to_int): Deleted.
(Inspector::TypeBuilder::ExactlyInt::cast_to_int<int>): Deleted.
(Inspector::TypeBuilder::int>): Deleted.
(Inspector::TypeBuilder::RuntimeCastHelper::assertType): Deleted.
(Inspector::TypeBuilder::RuntimeCastHelper::assertAny): Deleted.
(Inspector::TypeBuilder::RuntimeCastHelper::assertInt): Deleted.
(Inspector::TypeBuilder::Array::runtimeCast): Deleted.
(Inspector::TypeBuilder::Array::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::StructItemTraits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<String>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<int>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<double>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<bool>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<InspectorValue>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<InspectorObject>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<InspectorArray>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<TypeBuilder::Array<T>>::Traits::assertCorrectValue): Deleted.
- inspector/InspectorValues.cpp: Convert InspectorValue::Type to a scoped enum.
(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asNumber):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::InspectorObjectBase):
(Inspector::InspectorObjectBase::setArray): Take InspectorArrayBase.
(Inspector::InspectorObjectBase::setObject): Take InspectorObjectBase.
(Inspector::InspectorArrayBase::InspectorArrayBase):
- inspector/InspectorValues.h:
- inspector/agents/InspectorDebuggerAgent.cpp: Convert to scoped enums.
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::breakProgram):
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::parse):
- inspector/agents/InspectorRuntimeAgent.h:
- inspector/scripts/CodeGeneratorInspector.py: Removed.
- inspector/scripts/codegen/init.py: Added.
- inspector/scripts/codegen/generate_backend_commands.py: Added.
(BackendCommandsGenerator):
(BackendCommandsGenerator.init):
(BackendCommandsGenerator.model):
(BackendCommandsGenerator.output_filename):
(BackendCommandsGenerator.generate_license):
(BackendCommandsGenerator.generate_output):
(BackendCommandsGenerator.generate_domain):
(BackendCommandsGenerator.generate_domain.is_anonymous_enum_member):
(BackendCommandsGenerator.generate_domain.generate_parameter_object):
- inspector/scripts/codegen/generate_backend_dispatcher_header.py: Added.
(BackendDispatcherHeaderGenerator):
(BackendDispatcherHeaderGenerator.init):
(BackendDispatcherHeaderGenerator.model):
(BackendDispatcherHeaderGenerator.output_filename):
(BackendDispatcherHeaderGenerator.generate_license):
(BackendDispatcherHeaderGenerator.generate_output):
(BackendDispatcherHeaderGenerator.generate_output.for):
(BackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):
(BackendDispatcherHeaderGenerator._generate_anonymous_enum_for_parameter):
(BackendDispatcherHeaderGenerator._generate_handler_declaration_for_command):
(BackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):
(BackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
(BackendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_command):
- inspector/scripts/codegen/generate_backend_dispatcher_implementation.py: Added.
(BackendDispatcherImplementationGenerator):
(BackendDispatcherImplementationGenerator.init):
(BackendDispatcherImplementationGenerator.model):
(BackendDispatcherImplementationGenerator.output_filename):
(BackendDispatcherImplementationGenerator.generate_license):
(BackendDispatcherImplementationGenerator.generate_output):
(BackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):
(BackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(BackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain):
(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
- inspector/scripts/codegen/generate_frontend_dispatcher_header.py: Added.
(FrontendDispatcherHeaderGenerator):
(FrontendDispatcherHeaderGenerator.init):
(FrontendDispatcherHeaderGenerator.model):
(FrontendDispatcherHeaderGenerator.output_filename):
(FrontendDispatcherHeaderGenerator.generate_license):
(FrontendDispatcherHeaderGenerator.generate_output):
(FrontendDispatcherHeaderGenerator._generate_anonymous_enum_for_parameter):
(FrontendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
(FrontendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_event):
- inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py: Added.
(FrontendDispatcherImplementationGenerator):
(FrontendDispatcherImplementationGenerator.init):
(FrontendDispatcherImplementationGenerator.model):
(FrontendDispatcherImplementationGenerator.output_filename):
(FrontendDispatcherImplementationGenerator.generate_license):
(FrontendDispatcherImplementationGenerator.generate_output):
(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):
(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
- inspector/scripts/codegen/generate_type_builder_header.py: Added.
(TypeBuilderHeaderGenerator):
(TypeBuilderHeaderGenerator.init):
(TypeBuilderHeaderGenerator.model):
(TypeBuilderHeaderGenerator.output_filename):
(TypeBuilderHeaderGenerator.generate_license):
(TypeBuilderHeaderGenerator.generate_output):
(TypeBuilderHeaderGenerator._generate_forward_declarations):
(_generate_typedefs):
(_generate_typedefs_for_domain):
(_generate_builders_for_domain):
(_generate_class_for_object_declaration):
(_generate_struct_for_enum_declaration):
(_generate_struct_for_anonymous_enum_member):
(_generate_struct_for_anonymous_enum_member.apply_indentation):
(_generate_struct_for_enum_type):
(_generate_builder_state_enum):
(_generate_builder_setter_for_member):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):
- inspector/scripts/codegen/generate_type_builder_implementation.py: Added.
(TypeBuilderImplementationGenerator):
(TypeBuilderImplementationGenerator.init):
(TypeBuilderImplementationGenerator.model):
(TypeBuilderImplementationGenerator.output_filename):
(TypeBuilderImplementationGenerator.generate_license):
(TypeBuilderImplementationGenerator.generate_output):
(TypeBuilderImplementationGenerator._generate_enum_mapping):
(TypeBuilderImplementationGenerator._generate_open_field_names):
(TypeBuilderImplementationGenerator._generate_builders_for_domain):
(TypeBuilderImplementationGenerator._generate_runtime_cast_for_object_declaration):
(TypeBuilderImplementationGenerator._generate_assertion_for_object_declaration):
(TypeBuilderImplementationGenerator._generate_assertion_for_enum):
- inspector/scripts/codegen/generator.py: Added.
(ucfirst):
(Generator):
(Generator.init):
(Generator.model):
(Generator.generate_license):
(Generator.domains_to_generate):
(Generator.generate_output):
(Generator.output_filename):
(Generator.encoding_for_enum_value):
(Generator.assigned_enum_values):
(Generator.type_needs_runtime_casts):
(Generator.type_has_open_fields):
(Generator.type_needs_shape_assertions):
(Generator.calculate_types_requiring_shape_assertions):
(Generator.calculate_types_requiring_shape_assertions.gather_transitively_referenced_types):
(Generator._traverse_and_assign_enum_values):
(Generator._assign_encoding_for_enum_value):
(Generator.wrap_with_guard_for_domain):
(Generator.stylized_name_for_enum_value):
(Generator.stylized_name_for_enum_value.replaceCallback):
(Generator.keyed_get_method_for_type):
(Generator.keyed_set_method_for_type):
(Generator.type_builder_string_for_type):
(Generator.type_builder_string_for_type_member):
(Generator.type_string_for_unchecked_formal_in_parameter):
(Generator.type_string_for_checked_formal_event_parameter):
(Generator.type_string_for_type_member):
(Generator.type_string_for_type_with_name):
(Generator.type_string_for_formal_out_parameter):
(Generator.type_string_for_formal_async_parameter):
(Generator.type_string_for_stack_in_parameter):
(Generator.type_string_for_stack_out_parameter):
(Generator.assertion_method_for_type_member):
(Generator.assertion_method_for_type_member.assertion_method_for_type):
(Generator.cpp_name_for_primitive_type):
(Generator.js_name_for_parameter_type):
(Generator.should_use_wrapper_for_return_type):
(Generator.should_pass_by_copy_for_return_type):
- inspector/scripts/codegen/generator_templates.py: Added.
(GeneratorTemplates):
(void):
(HashMap):
(Builder):
(Inspector):
- inspector/scripts/codegen/models.py: Added.
(ucfirst):
(ParseException):
(TypecheckException):
(Framework):
(Framework.init):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(TypeReference):
(TypeReference.init):
(TypeReference.referenced_name):
(Type):
(Type.init):
(Type.eq):
(Type.hash):
(Type.raw_name):
(Type.is_enum):
(Type.type_domain):
(Type.qualified_name):
(Type.resolve_type_references):
(PrimitiveType):
(PrimitiveType.init):
(PrimitiveType.repr):
(PrimitiveType.type_domain):
(PrimitiveType.qualified_name):
(AliasedType):
(AliasedType.init):
(AliasedType.repr):
(AliasedType.is_enum):
(AliasedType.type_domain):
(AliasedType.qualified_name):
(AliasedType.resolve_type_references):
(EnumType):
(EnumType.init):
(EnumType.repr):
(EnumType.is_enum):
(EnumType.type_domain):
(EnumType.enum_values):
(EnumType.qualified_name):
(EnumType.resolve_type_references):
(ArrayType):
(ArrayType.init):
(ArrayType.repr):
(ArrayType.type_domain):
(ArrayType.qualified_name):
(ArrayType.resolve_type_references):
(ObjectType):
(ObjectType.init):
(ObjectType.repr):
(ObjectType.type_domain):
(ObjectType.qualified_name):
(check_for_required_properties):
(Protocol):
(Protocol.init):
(Protocol.parse_specification):
(Protocol.parse_domain):
(Protocol.parse_type_declaration):
(Protocol.parse_type_member):
(Protocol.parse_command):
(Protocol.parse_event):
(Protocol.parse_call_or_return_parameter):
(Protocol.resolve_types):
(Protocol.lookup_type_for_declaration):
(Protocol.lookup_type_reference):
(Domain):
(Domain.init):
(Domain.resolve_type_references):
(Domains):
(TypeDeclaration):
(TypeDeclaration.init):
(TypeDeclaration.resolve_type_references):
(TypeMember):
(TypeMember.init):
(TypeMember.resolve_type_references):
(Parameter):
(Parameter.init):
(Parameter.resolve_type_references):
(Command):
(Command.init):
(Command.resolve_type_references):
(Event):
(Event.init):
(Event.resolve_type_references):
- inspector/scripts/generate-inspector-protocol-bindings.py: Added.
(IncrementalFileWriter):
(IncrementalFileWriter.init):
(IncrementalFileWriter.write):
(IncrementalFileWriter.close):
(generate_from_specification):
(generate_from_specification.load_specification):
- inspector/scripts/tests/commands-with-async-attribute.json: Added.
- inspector/scripts/tests/commands-with-optional-call-return-parameters.json: Added.
- inspector/scripts/tests/domains-with-varying-command-sizes.json: Added.
- inspector/scripts/tests/events-with-optional-parameters.json: Added.
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result: Added.
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result: Added.
- inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result: Added.
- inspector/scripts/tests/expected/events-with-optional-parameters.json-result: Added.
- inspector/scripts/tests/fail-on-duplicate-type-declarations.json-error: Added.
- inspector/scripts/tests/fail-on-enum-with-no-values.json-error: Added.
- inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json-error: Added.
- inspector/scripts/tests/fail-on-type-with-lowercase-name.json-error: Added.
- inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json-error: Added.
- inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json-error: Added.
- inspector/scripts/tests/expected/same-type-id-different-domain.json-result: Added.
- inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result: Added.
- inspector/scripts/tests/expected/type-declaration-array-type.json-result: Added.
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result: Added.
- inspector/scripts/tests/expected/type-declaration-object-type.json-result: Added.
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result: Added.
- inspector/scripts/tests/fail-on-duplicate-type-declarations.json: Added.
- inspector/scripts/tests/fail-on-enum-with-no-values.json: Added.
- inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json: Added.
- inspector/scripts/tests/fail-on-type-with-lowercase-name.json: Added.
- inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json: Added.
- inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json: Added.
- inspector/scripts/tests/same-type-id-different-domain.json: Added.
- inspector/scripts/tests/type-declaration-aliased-primitive-type.json: Added.
- inspector/scripts/tests/type-declaration-array-type.json: Added.
- inspector/scripts/tests/type-declaration-enum-type.json: Added.
- inspector/scripts/tests/type-declaration-object-type.json: Added.
- inspector/scripts/tests/type-requiring-runtime-casts.json: Added.
Source/WebCore:
Aside from hooking up the new inspector bindings generator to the build system,
there are a few comingled changes that would be painful to split from the main
patch. Together, these changes make it possible to forward-declare all protocol
enumerations as scoped enums, reducing weird ordering dependencies between domains.
All runtimeCast() methods are now static methods of BindingTraits specializations,
rather than as static methods of the type builder classes.
All protocol enumeration types are scoped enums rather than struct-namespaced enums.
Remove some implicit protocol type and enumeration definitions because they trigger
compiler bugs or introduce unnecessary complexity in the bindings generator.
No new tests, no behavior changed.
- CMakeLists.txt:
- DerivedSources.make: Update script dependencies and the bindings generator script name.
- inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::inspectImpl): Convert to BindingTraits.
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
- inspector/InspectorCSSAgent.h:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::getScriptExecutionStatus): Convert to scoped enums.
(WebCore::InspectorPageAgent::buildObjectForFrameTree): Extract FrameResourceTree::Resources
into its own explicitly-defined object type. The new generator does not support implicitly
defining object types as elements of arrays.
- inspector/InspectorPageAgent.h:
- inspector/InspectorReplayAgent.cpp: Disambiguate between internal and protocol types.
(WebCore::buildInspectorObjectForSessionState):
(WebCore::buildInspectorObjectForSegmentState):
(WebCore::InspectorReplayAgent::sessionState):
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::frameNavigated):
(WebCore::InspectorReplayAgent::frameDetached):
(WebCore::InspectorReplayAgent::willDispatchEvent):
(WebCore::InspectorReplayAgent::startCapturing):
(WebCore::InspectorReplayAgent::stopCapturing):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::replayToCompletion):
(WebCore::InspectorReplayAgent::pausePlayback):
(WebCore::InspectorReplayAgent::cancelPlayback):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::currentReplayState):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):
- inspector/InspectorReplayAgent.h:
- inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
- inspector/InspectorStyleSheet.cpp: Convert to scoped enums. Extract CSSProperty::Status
because scoped enums defined in a class scope trigger compiler bugs in GCC 4.8.
(WebCore::buildMediaObject):
(WebCore::InspectorStyle::styleWithProperties): Work around compiler disagreements.
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
- inspector/InspectorStyleSheet.h:
- inspector/InspectorTimelineAgent.cpp: Convert to scoped enums and BindingTraits.
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::sendEvent):
- inspector/protocol/CSS.json: Extract CSSProperty::Status.
- inspector/protocol/Page.json: Extract FrameResourceTree::Resources.
Source/WebInspectorUI:
Also apply type extraction refactorings to old protocol versions for consistency.
- Versions/Inspector-iOS-6.0.json:
- Versions/Inspector-iOS-7.0.json:
Tools:
- Scripts/run-inspector-generator-tests: Added.
(main):
- Scripts/webkitpy/inspector/init.py: Added.
- Scripts/webkitpy/inspector/main.py: Added.
(InspectorGeneratorTests):
(InspectorGeneratorTests.init):
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.write_error_file):
(InspectorGeneratorTests.detect_changes):
(InspectorGeneratorTests.run_tests):
(InspectorGeneratorTests.main):
- 2:48 PM Changeset in webkit [172654] by
-
- 1 copy in tags/Safari-600.1.4.11.1
New Tag.
- 2:22 PM Changeset in webkit [172653] by
-
- 3 edits in trunk/Source/WebKit2
Fix plugin visibility check.
https://bugs.webkit.org/show_bug.cgi?id=135991
D'oh, more unreviewed typo fix. :-(
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::visibilityDidChange):
(WebKit::PluginControllerProxy::windowVisibilityChanged):
(WebKit::PluginControllerProxy::updateVisibilityActivity):
(WebKit::PluginControllerProxy::updateVisiblityActivity): Deleted.
- PluginProcess/PluginControllerProxy.h:
- 2:16 PM Changeset in webkit [172652] by
-
- 3 edits3 copies in branches/safari-600.1.4.11-branch
Merge r172603. <rdar://problem/18008488>
- 2:14 PM Changeset in webkit [172651] by
-
- 3 edits in trunk/Source/WebCore
[EME][Mac] Adopt AVStreamSession.
https://bugs.webkit.org/show_bug.cgi?id=135983
Reviewed by Eric Carlson.
Add AVStreamDataParsers to a new AVStreamSession instance, and expire that session when asked to release
the session's keys.
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
(WebCore::CDMSessionMediaSourceAVFObjC::update):
- 2:12 PM Changeset in webkit [172650] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Probe details sidebar data grids do not show data
https://bugs.webkit.org/show_bug.cgi?id=135992
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid): Make the DataGrid be inline to show the data correctly.
- 2:09 PM Changeset in webkit [172649] by
-
- 19 edits in trunk/Source
Implement snapping behavior for iOS
https://bugs.webkit.org/show_bug.cgi?id=135769
Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-15
Reviewed by Brent Fulgham.
Source/WebCore:
Added support for snap points on iOS. This entails sending snap points from the web process to the UI process
by encoding and decoding snap points and updating ScrollingTreeOverflowScrollingNodeIOS and WKWebView to support
animation to snap points in the cases of mainframe and overflow scrolling, respectively.
There are no new tests yet -- we'll need to find a way to test this!
- WebCore.exp.in:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::setStateScrollingNodeSnapOffsetsAsFloat): Helper functions used to convert LayoutUnits to floats for snap offsets.
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Update snap offsets for mainframe scrolling, as well as the state node.
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode): Added snap offsets.
- page/scrolling/AxisScrollSnapOffsets.h:
(WebCore::closestSnapOffset): Computes the closest snap offset given a sorted vector of comparable types (e.g. float, LayoutUnit).
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setHorizontalSnapOffsets):
(WebCore::ScrollingStateScrollingNode::setVerticalSnapOffsets):
- page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::horizontalSnapOffsets):
(WebCore::ScrollingStateScrollingNode::verticalSnapOffsets):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
- page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::horizontalSnapOffsets):
(WebCore::ScrollingTreeScrollingNode::verticalSnapOffsets):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout): Update snap offsets for overflow scrolling.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Updates the state node's snap offsets for overflow scrolling.
Source/WebKit2:
Added support for snap points on iOS.
- Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode): Added snap offset encoding.
(ArgumentCoder<ScrollingStateScrollingNode>::decode): Added snap offset decoding.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For mainframe scrolling, retargets the scroll destination to the appropriate snap point.
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added methods to extract relevant information for WKWebView from snap offsets in mainframe scrolling.
- UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For overflow scrolling, retargets the scroll destination to the appropriate snap point.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren): Sets the deceleration factor to FAST if snap points are active.
- UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Used by WKWebView for mainframe scrolling to retarget the scroll destination, if necessary.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSetScrollViewDecelerationRateFast): Used by WKWebView for mainframe scrolling to determine whether to set deceleration rate to the fast value.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Helper method.
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Helper method.
- 2:04 PM Changeset in webkit [172648] by
-
- 3 edits in trunk/Source/JavaScriptCore
Made native inlining errors not segfault.
https://bugs.webkit.org/show_bug.cgi?id=135988
Reviewed by Geoffrey Garen.
- ftl/FTLAbbreviations.h:
(JSC::FTL::disposeMessage): Added.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compilePutById):
abstracted out Options::verboseCompilation as was the case in the rest of the file.
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol):
added output error messages for llvm module loading.
- 1:48 PM Changeset in webkit [172647] by
-
- 4 edits in trunk
Turn r/rx/ry to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135978
Source/WebCore:
Unreviewed typo.
Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15
- rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
LayoutTests:
Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.
Rebaseline test.
- svg/css/parse-length-expected.txt:
- 1:37 PM Changeset in webkit [172646] by
-
- 3 edits in trunk/Source/WebKit2
Fix plugin visibility check.
https://bugs.webkit.org/show_bug.cgi?id=135991
Unreviewed typo fix.
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::visibilityDidChange):
(WebKit::PluginControllerProxy::windowVisibilityChanged):
(WebKit::PluginControllerProxy::updateVisiblityActivity):
- PluginProcess/PluginControllerProxy.h:
- 1:32 PM Changeset in webkit [172645] by
-
- 3 edits in trunk/Source/WebKit2
Fix plugin visibility check.
https://bugs.webkit.org/show_bug.cgi?id=135991
Reviewed by Andreas Kling.
We should only take a UserActivity if the plugin is in a visible window,
and also is itself visible.
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::PluginControllerProxy):
- initialize member state.
(WebKit::PluginControllerProxy::visibilityDidChange):
(WebKit::PluginControllerProxy::windowVisibilityChanged):
- update member state & call updateVisiblityActivity.
(WebKit::PluginControllerProxy::updateVisiblityActivity):
- enable the UserActivity only if both visibilities are true.
- PluginProcess/PluginControllerProxy.h:
- added m_isVisible, m_isWindowVisible, updateVisibilityActivity.
- 1:12 PM Changeset in webkit [172644] by
-
- 5 edits in branches/safari-600.1-branch/Source
Bump versioning.
- 12:53 PM Changeset in webkit [172643] by
-
- 2 edits in trunk/Source/WebKit2
[Services with UI] Selections are incorrect when selecting three lines.
https://bugs.webkit.org/show_bug.cgi?id=135989
<rdar://problem/18032571>
Reviewed by Tim Horton.
The stitching algorithm did not handle correctly the case of selections
over three lines if the middle line is composed of only one rectangle.
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::stitchRects):
- 12:42 PM Changeset in webkit [172642] by
-
- 21 edits in trunk
Turn r/rx/ry to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135978
Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.
This follows the patch for width and height presentation attributes and
Source/WebCore:
turns rx, ry and r to presentation attributes as well:
http://trac.webkit.org/changeset/171341
Extended existing tests.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
- css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
- css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
- css/SVGCSSPropertyNames.in:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- rendering/style/RenderStyle.h:
- rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::setR):
(WebCore::SVGRenderStyle::setRx):
(WebCore::SVGRenderStyle::setRy):
(WebCore::SVGRenderStyle::r):
(WebCore::SVGRenderStyle::rx):
(WebCore::SVGRenderStyle::ry):
- rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):
- rendering/style/SVGRenderStyleDefs.h:
- rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
- rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromRectElement):
(WebCore::updatePathFromLineElement): Deleted.
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
- svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
LayoutTests:
turns r, rx and ry to presentation attributes as well:
http://trac.webkit.org/changeset/171341
- svg/css/parse-length.html:
- transitions/svg-layout-transition-expected.txt:
- transitions/svg-layout-transition.html:
- 12:38 PM Changeset in webkit [172641] by
-
- 23 edits in trunk
Turn cx/cy to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135975
Reviewed by Dean Jackson.
This follows the patch for width and height presentation attributes and
Source/WebCore:
turns x and y to presentation attributes as well:
http://trac.webkit.org/changeset/171341
Extended existing tests.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
- css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
- css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
- css/SVGCSSPropertyNames.in:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- rendering/style/RenderStyle.h:
- rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::setCx):
(WebCore::SVGRenderStyle::setCy):
(WebCore::SVGRenderStyle::cx):
(WebCore::SVGRenderStyle::cy):
- rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):
- rendering/style/SVGRenderStyleDefs.h:
- rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
- rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
(WebCore::SVGCircleElement::selfHasRelativeLengths): Deleted.
- svg/SVGCircleElement.h:
- svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
(WebCore::SVGEllipseElement::selfHasRelativeLengths): Deleted.
- svg/SVGEllipseElement.h:
LayoutTests:
turns cx and cy to presentation attributes as well:
http://trac.webkit.org/changeset/171341
- svg/css/parse-length-expected.txt:
- svg/css/parse-length.html:
- transitions/svg-layout-transition-expected.txt:
- transitions/svg-layout-transition.html:
- 12:11 PM Changeset in webkit [172640] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Legacy Mac toolbar appearance looks wrong
https://bugs.webkit.org/show_bug.cgi?id=135962
Reviewed by Joseph Pecoraro.
- UserInterface/Views/Toolbar.css:
(body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked.
Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it
applies all the time as it should have.
- 12:10 PM Changeset in webkit [172639] by
-
- 2 edits in trunk/Source/WebKit2
Service overlays stay fixed when <iframe> scrolls
https://bugs.webkit.org/show_bug.cgi?id=135959
<rdar://problem/17957716>
Reviewed by Enrica Casucci.
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::highlightsAreEquivalent):
Tiny correctness fix; highlights can only be equivalent if their
types are equivalent as well.
- 12:03 PM Changeset in webkit [172638] by
-
- 2 edits in trunk/Tools
run-webkit-tests should skip 'support' directories
https://bugs.webkit.org/show_bug.cgi?id=135910
Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-08-15
Reviewed by Bem Jones-Bey.
This patch adds the 'support' directory to the list
of dirs to skip when looking for runnable tests.
the W3C uses this name for support files, so tests
imported from the W3C will not work without this change
or without many edits.
- Scripts/webkitpy/port/base.py:
(Port._real_tests):
- 11:56 AM Changeset in webkit [172637] by
-
- 12 edits in trunk/Source/WebKit2
de-PLATFORM(COCOA) a couple of methods in plugin code
https://bugs.webkit.org/show_bug.cgi?id=135987
Reviewed by Sam Weinig.
Pass through the visibility & focus on all platforms, to simplify & avoid
any weird inconsistencies between platforms.
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::windowFocusChanged):
(WebKit::PluginControllerProxy::windowVisibilityChanged):
- PluginProcess/PluginControllerProxy.h:
- PluginProcess/PluginControllerProxy.messages.in:
- PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::windowFocusChanged): Deleted.
(WebKit::PluginControllerProxy::windowVisibilityChanged): Deleted.
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::windowFocusChanged):
(WebKit::NetscapePlugin::windowVisibilityChanged):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::windowAndViewFramesChanged):
- WebProcess/Plugins/PluginProxy.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::platformViewStateDidChange): Deleted.
- WebProcess/Plugins/PluginView.h:
- 11:47 AM Changeset in webkit [172636] by
-
- 6 edits in trunk/Source/WebKit2
Service overlays stay fixed when <iframe> scrolls
https://bugs.webkit.org/show_bug.cgi?id=135959
<rdar://problem/17957716>
Reviewed by Enrica Casucci.
- WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::didScrollFrame):
- WebProcess/WebPage/PageOverlay.h:
(WebKit::PageOverlay::Client::didScrollFrame):
- WebProcess/WebPage/PageOverlayController.cpp:
(WebKit::PageOverlayController::didScrollFrame):
Push didScrollFrame down to the overlays.
- WebProcess/WebPage/ServicesOverlayController.h:
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::Highlight::createForSelection):
Hold on to the selection's Range so we can use it to compare Highlights later.
(WebKit::ServicesOverlayController::Highlight::Highlight):
(WebKit::ServicesOverlayController::Highlight::setDDHighlight):
Factor the code to set up and paint the highlight out, so that we can
set a new DDHighlightRef on a Highlight and the layer moves/reshapes/repaints.
(WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
(WebKit::ServicesOverlayController::buildSelectionHighlight):
(WebKit::ServicesOverlayController::replaceHighlightsOfTypePreservingEquivalentHighlights):
Factor replaceHighlightsOfTypePreservingEquivalentHighlights out
so that we can use it for buildSelectionHighlight as well.
Steal the DDHighlightRef from the new Highlight when re-using an old one
so that the newly computed rects are used instead of the old ones.
(WebKit::ServicesOverlayController::highlightsAreEquivalent):
We will always have a Range now, so we can always check equivalence using it.
(WebKit::ServicesOverlayController::didScrollFrame):
Rebuild all highlights upon subframe scroll, as they might have moved.
We could optimize this in the future, but for now it's cheap enough
and rare enough that it doesn't matter.
- 11:42 AM Changeset in webkit [172635] by
-
- 12 edits in trunk/Source/WebKit2
REGRESSION (WebKit2 Gestures): White flash when swiping back to cnn.com's homepage from an article
https://bugs.webkit.org/show_bug.cgi?id=135951
<rdar://problem/18006149>
Reviewed by Simon Fraser.
Wait for (the first visually non-empty layout AND the render tree size threshold to be hit),
OR didFinishLoadForFrame, whichever comes first. Once we've done the first visually non-empty layout,
we'll start the watchdog and tear down the snapshot in three seconds no matter what.
Also, force a repaint so we can asynchronously wait for the Web Process to paint and return to us
before removing the snapshot, which improves our chances that something is actually on the screen.
- UIProcess/API/mac/WKView.mm:
(-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]):
(-[WKView _didFinishLoadForMainFrame]):
(-[WKView _removeNavigationGestureSnapshot]):
- UIProcess/API/mac/WKViewInternal.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::removeNavigationGestureSnapshot):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):
(WebKit::PageClientImpl::removeNavigationGestureSnapshot):
Plumb didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame
through to ViewGestureController from WebPageProxy via the PageClient, etc.
Ditto for removeNavigationGestureSnapshot, though it is called from a
VoidCallback in ViewGestureController instead of from WebFrameLoaderClient and friends.
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::endSwipeGesture):
When finishing a swipe, we want to wait for both the first visually non-empty layout
and the render tree size threshold being hit.
(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
(WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
When both of these things have happened, remove the swipe snapshot (after forcing a repaint).
For didFirstVisuallyNonEmptyLayoutForMainFrame, we will also start a watchdog
ensuring that we remove the snapshot in three seconds.
(WebKit::ViewGestureController::didFinishLoadForMainFrame):
When didFinishLoadForMainFrame happens, remove the swipe snapshot (after forcing a repaint).
(WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
If the watchdog timer fires, remove the swipe snapshot (after forcing a repaint).
(WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
Force a repaint and wait for the async callback before removing the snapshot.
It is safe to hold on to the WebPageProxy here because it will always
call all of its callbacks before it is destroyed.
Avoid enqueuing multiple force-repaints.
(WebKit::ViewGestureController::removeSwipeSnapshot):
- 11:26 AM Changeset in webkit [172634] by
-
- 2 edits in trunk/Source/WebKit2
Fix plugin visibility initialization
https://bugs.webkit.org/show_bug.cgi?id=135985
Reviewed by Geoffrey Garen.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::didInitializePlugin):
- We're not currently initializing the plugin visibility state, and we're passing the wrong value for window visibility.
- 11:26 AM Changeset in webkit [172633] by
-
- 6 edits in branches/safari-600.1.4.11-branch/Source
Merged r172502. <rdar://problem/18022784>
- 11:24 AM Changeset in webkit [172632] by
-
- 3 edits4 copies in branches/safari-600.1.4.11-branch
Merged r171675. <rdar://problem/18022779>
- 10:38 AM Changeset in webkit [172631] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Add migrate-headers.sh and postprocess-headers.sh to WebKit.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=135984
Reviewed by Daniel Bates.
It's nice to be able to look at these files in Xcode.
- WebKit.xcodeproj/project.pbxproj:
- 10:36 AM Changeset in webkit [172630] by
-
- 5 edits in branches/safari-600.1.4.11-branch/Source
Versioning.
- 10:33 AM Changeset in webkit [172629] by
-
- 8 edits in trunk/Source/WebKit2
Simplify visibility activity accounting for plugins
https://bugs.webkit.org/show_bug.cgi?id=135981
Reviewed by Dan Bernstein.
Just take one per connection, rather than implementing a counting mechanism.
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::PluginControllerProxy):
- PluginProcess/PluginControllerProxy.h:
- added m_visiblityActivity.
- PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): Deleted.
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): Deleted.
- PluginProcess/PluginProcess.h:
- removed pluginsForWebProcessDidBecomeVisible/Hidden.
- PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::removePluginControllerProxy):
(WebKit::WebProcessConnection::pluginDidBecomeVisible): Deleted.
(WebKit::WebProcessConnection::pluginDidBecomeHidden): Deleted.
- PluginProcess/WebProcessConnection.h:
- removed pluginDidBecomeVisible/Hidden.
- PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::windowVisibilityChanged):
- windowVisibilityChanged uses m_visiblityActivity, rather than calling to PluginControllerProxy.
- 10:31 AM Changeset in webkit [172628] by
-
- 1 copy in branches/safari-600.1.4.11-branch
New Branch.
- 9:49 AM Changeset in webkit [172627] by
-
- 2 edits in trunk/Source/WebKit
<https://webkit.org/b/135979> WebKit1 Plug-in test failures in clean builds after r172595
Reviewed by Dan Bernstein.
- WebKit.xcodeproj/project.pbxproj: Add a WebKitPluginHost.app symlink at the top level of
WebKitLegacy.framework that points into Versions/Current. This enables -[NSBundle pathForAuxiliaryExecutable:]
to work correctly. Adding this symlink requires deleting any content that may already exist
at that path, since prior to r172595 it may have contained either a symlink or an
application bundle.
- 9:38 AM Changeset in webkit [172626] by
-
- 2 edits in trunk/Source/WebCore
Fix typo in Path comment
https://bugs.webkit.org/show_bug.cgi?id=135960
Reviewed by Alexey Proskuryakov.
No new tests, no change on behavior.
- platform/graphics/Path.h:
- 5:35 AM Changeset in webkit [172625] by
-
- 1 copy in releases/WebKitGTK/webkit-2.5.3
WebKitGTK+ 2.5.3
- 5:23 AM Changeset in webkit [172624] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.3 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.5.3.
- 4:30 AM Changeset in webkit [172623] by
-
- 2 edits in trunk
[GTK] Disable memory sampler on non-Linux system
https://bugs.webkit.org/show_bug.cgi?id=134483
Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-08-15
Reviewed by Philippe Normand.
Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp only works on
Linux because it uses many Linux-specific features, so we should disable
memory sampler on other systems by default.
- Source/cmake/OptionsGTK.cmake:
- 2:16 AM Changeset in webkit [172622] by
-
- 2 edits in trunk
[GTK] HTML API documentation should also be installed versioned
https://bugs.webkit.org/show_bug.cgi?id=135970
Reviewed by Philippe Normand.
- Source/PlatformGTK.cmake: Append -${WEBKITGTK_API_VERSION} to
the directory name.