Timeline
Aug 11, 2014:
- 8:20 PM Changeset in webkit [172429] by
-
- 12 edits in trunk/Source/JavaScriptCore
Eliminate {push,pop}CalleeSaves in favor of individual pushes & pops
https://bugs.webkit.org/show_bug.cgi?id=127155
Reviewed by Geoffrey Garen.
Eliminated the offline assembler instructions {push,pop}CalleeSaves as well as the
ARM64 specific {push,pop}LRAndFP and replaced them with individual push and pop
instructions. Where the registers referenced by the added push and pop instructions
are not part of the offline assembler register aliases, used a newly added "emit"
offline assembler instruction which takes a string literal and outputs that
string as a native instruction.
- llint/LowLevelInterpreter.asm:
- offlineasm/arm.rb:
- offlineasm/arm64.rb:
- offlineasm/ast.rb:
- offlineasm/cloop.rb:
- offlineasm/instructions.rb:
- offlineasm/mips.rb:
- offlineasm/parser.rb:
- offlineasm/sh4.rb:
- offlineasm/transform.rb:
- offlineasm/x86.rb:
- 8:01 PM Changeset in webkit [172428] by
-
- 2 edits in trunk/Source/WebCore
Fix the Mac build.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- 6:23 PM Changeset in webkit [172427] by
-
- 5 edits in branches/safari-600.1.4-branch/Source
Versioning.
- 6:19 PM Changeset in webkit [172426] by
-
- 1 copy in tags/Safari-600.1.4.10
New tag.
- 6:12 PM Changeset in webkit [172425] by
-
- 9 edits in trunk
[Mac, iOS] Some media content never reaches full 'loaded' state
https://bugs.webkit.org/show_bug.cgi?id=135814
<rdar://problem/17476923>
Reviewed by Jer Noble.
Source/WebCore:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::duration): Change to a wrapper that just calls
the durationDouble method and narrows to a float.
(WebCore::MediaPlayerPrivateAVFoundation::durationDouble): Revised version of duration
that works with doubles.
(WebCore::MediaPlayerPrivateAVFoundation::currentTime): Wrapper that calls the
currentTimeDouble method and narrows to a float.
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): Use durationDouble for
comparison with passed 'time' argument (which is a double).
(WebCore::MediaPlayerPrivateAVFoundation::didEnd): Use 'currentTimeDouble' so we can
cache the double precision version of this value.
(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Use 'durationDouble' since
the rest of the calculation is in terms of doubles.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration): Convert to 'double'. All
uses of this method are internal to the MediaPlayerPrivateAVFoundation* files.
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTimeDouble): Switch from float implementation.
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime): Deleted. (Moved to parent class)
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Convert to 'double'. All
uses of this method are internal to the MediaPlayerPrivateAVFoundation* files.
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTimeDouble): Switch from floating implementation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted. (Moved to parent class)
LayoutTests:
- platform/mac/media/video-seek-past-end-paused-expected.txt: Rebaseline
result for new rounding behavior.
- 6:04 PM Changeset in webkit [172424] by
-
- 6 edits in trunk/Source
Improve look and feel of combined service menu..
https://bugs.webkit.org/show_bug.cgi?id=135824
<rdar://problem/17936880>
Reviewed by Tim Horton.
Source/WebCore:
Adding some localizable strings.
- English.lproj/Localizable.strings:
Source/WebKit2:
When showing the combined menu, list the phone numbers first,
grouped under a common header, followed by the entries relative
to the services.
- Platform/mac/MenuUtilities.h:
- Platform/mac/MenuUtilities.mm:
(WebKit::menuItemTitleForTelephoneNumberGroup):
(WebKit::menuItemForTelephoneNumber):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
- 6:00 PM Changeset in webkit [172423] by
-
- 6 edits in branches/safari-600.1.4-branch/Source/WebCore
Merged r172422. <rdar://problem/17912361>
- 5:36 PM Changeset in webkit [172422] by
-
- 6 edits in trunk/Source/WebCore
[iOS] <video> element requests are missing session cookies; sometimes persistant cookies.
https://bugs.webkit.org/show_bug.cgi?id=135816
Reviewed by Alexey Proskuryakov.
On iOS, the AVFoundation framework will copy appropriate cookies for the requested URL across to the
mediaserverd process. For WebKit2, the WebProcess does not have access to session cookies for the
current browsing session. When creating an AVURLAsset, fetch the appropriate cookies for the requested
URL, and pass them into AVURLAsset in the options dictionary.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerGetRawCookies): Call CookieJar's equivalent method.
- html/HTMLMediaElement.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::getRawCookies): Pass to HTMLMediaElement.
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerGetRawCookies):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::toNSHTTPCookie): Convert a WebCore Cookie -> NSHTTPCookie.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Fetch cookies for the requested
URL, and if successful, add them to the AVURLAsset options dictionary.
- 5:15 PM WebInspectorCodingStyleGuide edited by
- How to document promise fulfillment values (diff)
- 5:13 PM Changeset in webkit [172421] by
-
- 4 edits in trunk/Source/WebCore
Adjustments to CueBox CSS Width calculations Part 2.
https://bugs.webkit.org/show_bug.cgi?id=135820
<rdar://problem/17954473>.
Reviewed by Brent Fulgham.
Two adjustments made:
a) The default font size used was incorrect. It is not just 10px,
but should be based off a percentage of the video size.
b) The top/left CSS property needs to be adjusted appropriately if the cue
is center aligned and we change the cue's size such that the cue remains centered.
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
- html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
- html/track/VTTCue.h: Remove unnecessary constant.
- 4:41 PM Changeset in webkit [172420] by
-
- 5 edits2 copies4 adds in trunk/Source/WebInspectorUI
Web Inspector: show a replay dashboard when capturing or replaying
https://bugs.webkit.org/show_bug.cgi?id=135170
Reviewed by Timothy Hatcher.
This patch adds a replay dashboard with record/play/pause buttons. It
is shown automatically when the user starts capturing an execution from
the replay menu in the Timelines sidebar panel.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector._captureDidStart):
- UserInterface/Controllers/DashboardManager.js:
(WebInspector.DashboardManager):
- UserInterface/Images/ReplayPauseButton.svg: Added.
- UserInterface/Images/ReplayPlayButton.svg: Added.
- UserInterface/Images/ReplayRecordingButton.svg: Added.
- UserInterface/Main.html:
- UserInterface/Models/ReplayDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
(WebInspector.ReplayDashboard):
- UserInterface/Views/DashboardView.js:
(WebInspector.DashboardView):
- UserInterface/Views/ReplayDashboardView.css: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
(.toolbar .dashboard.replay):
(.toolbar .dashboard.replay div.navigation-bar):
(.toolbar .dashboard.replay .item.button > .glyph):
(.toolbar.label-only .dashboard.replay .item.button > .glyph):
- UserInterface/Views/ReplayDashboardView.js: Added.
(WebInspector.ReplayDashboardView):
(WebInspector.ReplayDashboardView.prototype._captureButtonItemClicked):
(WebInspector.ReplayDashboardView.prototype._replayButtonItemClicked):
(WebInspector.ReplayDashboardView.prototype._captureStarted):
(WebInspector.ReplayDashboardView.prototype._captureStopped):
(WebInspector.ReplayDashboardView.prototype._playbackStarted):
(WebInspector.ReplayDashboardView.prototype._playbackPaused):
(WebInspector.ReplayDashboardView.prototype._playbackFinished):
- 4:40 PM Changeset in webkit [172419] by
-
- 2 edits in trunk/Tools
Added an update-webkit option to update the auxiliary libraries or not.
Part of https://bugs.webkit.org/show_bug.cgi?id=135815
Reviewed by Tim Horton.
- Scripts/update-webkit: Added --[no-]auxiliary-libs option, which defaults to yes unless
an Internal directory exists alongside the WebKit root directory.
- 4:26 PM Changeset in webkit [172418] by
-
- 2 edits in trunk/Tools
Remove hg changeset from w3c-import.log
https://bugs.webkit.org/show_bug.cgi?id=135735
Reviewed by Ryosuke Niwa.
Since the csswg's test suite is now accessible via github and it is
possible to push changes by creating github pull requests, the hg
changeset makes less sense, as many people will just use a clone of
the git repo. There isn't an obvious thing to replace it with, so
might as well remove it for now instead of having it just be set to
UNKNOWN in imports.
This also adds a pointer to the github repo in the generated comments
in the w3c-import.log.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init): Remove changeset handling.
(TestImporter.do_import): Ditto.
(TestImporter.write_import_log): Ditto.
(TestImporter.load_changeset): Deleted.
- 4:03 PM Changeset in webkit [172417] by
-
- 4 edits12 adds in trunk
Fixed backgrounds don't paint in blurred inset areas
https://bugs.webkit.org/show_bug.cgi?id=135712
Reviewed by Simon Fraser.
Source/WebCore:
Background geometry calculations for fixed background need to use the larger
visible rect.
The first version of this patch caused a regression because it universally
adjusted the value for top to account for the inset whether or not the
viewportRect location was adjusted for the same. This version fixes that — those
two changes go hand-in-hand.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/fast: Added.
- platform/mac-wk1/fast/backgrounds: Added.
- platform/mac-wk1/fast/backgrounds/resources: Added.
- platform/mac-wk1/fast/backgrounds/resources/green.png: Added.
- platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment-expected.html: Added.
- platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment.html: Added.
- platform/mac-wk2/tiled-drawing/resources/green-blue.png: Added.
- platform/mac-wk2/tiled-drawing/resources/green.png: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-body-expected.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-body.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-expected.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment.html: Added.
- 3:30 PM Changeset in webkit [172416] by
-
- 8 edits in tags/Safari-600.1.2.10/Source
Merged r172397. <rdar://problem/17978299>
- 3:28 PM Changeset in webkit [172415] by
-
- 5 edits in tags/Safari-600.1.2.10/Source
Versioning.
- 3:25 PM Changeset in webkit [172414] by
-
- 1 copy in tags/Safari-600.1.2.10
New Tag.
- 3:00 PM Changeset in webkit [172413] by
-
- 5 edits in trunk/Source/JavaScriptCore
Re-landing r172401 with fixed test.
<https://webkit.org/b/135782>
Not reviewed.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::ForInContext::ForInContext):
(JSC::ForInContext::base):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
- bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitMultiLoopBytecode):
- tests/stress/for-in-tests.js:
- 2:25 PM Changeset in webkit [172412] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: DebuggerManager commands should return promises
https://bugs.webkit.org/show_bug.cgi?id=135690
Reviewed by Timothy Hatcher.
Convert the existing debugger commands to return promises. This
requires separately waiting for protocol command's promise to be
fulfilled, as well as waiting for the appropriate DebuggerManager
event. If the protocol command promise is rejected, tear down the
single-fire event listener.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.pause):
(WebInspector.DebuggerManager.prototype.resume):
(WebInspector.DebuggerManager.prototype.stepOver):
(WebInspector.DebuggerManager.prototype.stepInto):
(WebInspector.DebuggerManager.prototype.stepOut):
- UserInterface/Controllers/ReplayManager.js: Use the promise-based API.
(WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):
- 2:16 PM Changeset in webkit [172411] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Report run id's in api/runs.php for the new dashboard UI
https://bugs.webkit.org/show_bug.cgi?id=135813
Reviewed by Andreas Kling.
Include run_id in the generated JSON.
- public/api/runs.php:
(fetch_runs_for_config): Don't sort results by time since that has been done in the front end for ages now.
(format_run):
- 1:48 PM Changeset in webkit [172410] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Merging platforms mixes baselines and targets into reported data
https://bugs.webkit.org/show_bug.cgi?id=135260
Reviewed by Andreas Kling.
When merging two platforms, move test configurations of a different type (baseline, target)
as well as of different metric (Time, Runs).
Also avoid fetching the entire table of runs just to see if there are no remaining runs.
It's sufficient to detect one such test_runs object.
- public/admin/platforms.php:
(merge_platforms):
- 1:42 PM Changeset in webkit [172409] by
-
- 9 edits in trunk/Source/WebCore
Pass inherited style only when resolving tree style
https://bugs.webkit.org/show_bug.cgi?id=135799
Reviewed by Andreas Kling.
No need to pass around the style parent element.
- dom/ContainerNode.h:
(WebCore::ContainerNode::childShouldCreateRenderer): Deleted.
- dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
- dom/Element.h:
- style/StyleResolveTree.cpp:
(WebCore::Style::RenderTreePosition::parent):
(WebCore::Style::nextSiblingRenderer):
(WebCore::Style::RenderTreePosition::RenderTreePosition):
(WebCore::Style::RenderTreePosition::computeNextSibling):
(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::styleForElement):
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::attachTextRenderer):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::attachShadowRoot):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::resolveTextNode):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):
- svg/SVGDocument.cpp:
(WebCore::SVGDocument::childShouldCreateRenderer): Deleted.
Implement this in SVGSVGElement::rendererIsNeeded instead.
- svg/SVGDocument.h:
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::rendererIsNeeded):
- 1:24 PM Changeset in webkit [172408] by
-
- 7 edits4 adds in trunk
CSS JIT: support :scope
https://bugs.webkit.org/show_bug.cgi?id=135733
Reviewed by Benjamin Poulain.
Implement :scope for CSS JIT. It introduces scope field to CheckingContext
and it makes CheckingContext more similar to SelectorChecker::SelectorCheckingContext.
And since :scope requires CheckingContext, QueryingRules can accept SelectorCheckerWithCheckingContext.
Source/WebCore:
Tests: fast/selectors/querySelector-scope-filtered-root.html
fast/selectors/scope-works-as-root.html
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::shouldUseRenderStyleFromCheckingContext):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
(WebCore::SelectorCompiler::SelectorCodeGenerator::loadCheckingContext):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsScopeRoot):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
- cssjit/SelectorCompiler.h:
(WebCore::SelectorCompiler::CheckingContext::CheckingContext):
- dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
(WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext):
(WebCore::SelectorDataList::execute):
- dom/SelectorQuery.h:
LayoutTests:
- fast/selectors/querySelector-scope-filtered-root-expected.txt: Added.
- fast/selectors/querySelector-scope-filtered-root.html: Added.
Searching root node of querySelectorAll is filtered to id node, but :scope root node should not be changed.
- fast/selectors/scope-works-as-root-expected.html: Added.
- fast/selectors/scope-works-as-root.html: Added.
:scope in stylesheet works as :root.
- 1:07 PM Changeset in webkit [172407] by
-
- 3 edits in branches/safari-600.1-branch/Source/WebInspectorUI
Merged r172403. <rdar://problem/17979472>.
- 1:07 PM Changeset in webkit [172406] by
-
- 3 edits in trunk/Source/WebKit2
Add Private WKPreferences API for developer extras (show inspector)
https://bugs.webkit.org/show_bug.cgi?id=135811
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-11
Reviewed by Timothy Hatcher.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _developerExtrasEnabled]):
(-[WKPreferences _setDeveloperExtrasEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- 1:00 PM Changeset in webkit [172405] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r172401.
https://bugs.webkit.org/show_bug.cgi?id=135812
Failing stress/for-in-tests.js
http://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/7945/steps
/jscore-test/logs/stdio (Requested by mlam on #webkit).
Reverted changeset:
"for-in optimization should also make sure the base matches
the object being iterated"
https://bugs.webkit.org/show_bug.cgi?id=135782
http://trac.webkit.org/changeset/172401
- 12:50 PM Changeset in webkit [172404] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: console.profile shouldn't stop auto-recorded profiles
https://bugs.webkit.org/show_bug.cgi?id=135810
Reviewed by Joseph Pecoraro.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start): Added. Call internalStart. Set m_enabledFromFrontend.
(WebCore::InspectorTimelineAgent::stop): Added. Calls internalStop. Clear m_enabledFromFrontend.
(WebCore::InspectorTimelineAgent::internalStart): Renamed from start.
(WebCore::InspectorTimelineAgent::internalStop): Renamed from stop.
(WebCore::InspectorTimelineAgent::startFromConsole): Use internalStart.
(WebCore::InspectorTimelineAgent::stopFromConsole): Use internalStop. Only stop if !m_enabledFromFrontend.
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Initialize m_enabledFromFrontend.
- inspector/InspectorTimelineAgent.h: Added m_enabledFromFrontend.
- 12:22 PM Changeset in webkit [172403] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Update folder icons
https://bugs.webkit.org/show_bug.cgi?id=135808
Reviewed by Joseph Pecoraro.
- UserInterface/Images/FolderGeneric.png: Updated.
- UserInterface/Images/FolderGeneric@2x.png: Updated.
- 12:19 PM Changeset in webkit [172402] by
-
- 8 edits in trunk/Source/JavaScriptCore
Web Inspector: use type builders to construct high fidelity type information payloads
https://bugs.webkit.org/show_bug.cgi?id=135803
Reviewed by Timothy Hatcher.
Due to some typos in the protocol file, the code had worked with raw objects
rather than with type builders. Convert to using builders.
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
- inspector/agents/InspectorRuntimeAgent.h:
- inspector/protocol/Runtime.json: Fix 'item' for 'items'; true for 'true'.
- runtime/HighFidelityTypeProfiler.cpp:
(JSC::HighFidelityTypeProfiler::getTypesForVariableAtOffsetForInspector):
- runtime/HighFidelityTypeProfiler.h:
- runtime/TypeSet.cpp:
(JSC::TypeSet::allStructureRepresentations):
(JSC::StructureShape::stringRepresentation):
(JSC::StructureShape::inspectorRepresentation):
- runtime/TypeSet.h:
- 11:59 AM Changeset in webkit [172401] by
-
- 5 edits in trunk/Source/JavaScriptCore
for-in optimization should also make sure the base matches the object being iterated
https://bugs.webkit.org/show_bug.cgi?id=135782
Reviewed by Geoffrey Garen.
If we access a different base object with the same index, we shouldn't try to randomly
load from that object's backing store.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::ForInContext::ForInContext):
(JSC::ForInContext::base):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
- bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitMultiLoopBytecode):
- tests/stress/for-in-tests.js:
- 11:47 AM Changeset in webkit [172400] by
-
- 2 edits in trunk/Source/JavaScriptCore
[Win] Unreviewed gardening.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Display files in
proper folder categories..
- 11:43 AM Changeset in webkit [172399] by
-
- 26 edits in trunk/Source/WebInspectorUI
Web Inspector: DataGrid and its clients are a cluster-cuss of styles
https://bugs.webkit.org/show_bug.cgi?id=135788
Clean up DataGrid and its subclasses and client styles.
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/ApplicationCacheFrameContentView.css:
(.content-view.application-cache-frame > .data-grid):
- UserInterface/Views/CookieStorageContentView.css:
(.content-view.cookie-storage > .data-grid):
- UserInterface/Views/DOMStorageContentView.css:
(.content-view.dom-storage > .data-grid):
- UserInterface/Views/DOMTreeDataGrid.css:
(.dom-tree-data-grid .data-grid):
(.dom-tree-data-grid .name-column .icon):
- UserInterface/Views/DOMTreeDataGrid.js:
(WebInspector.DOMTreeDataGrid):
- UserInterface/Views/DataGrid.css:
(.data-grid):
(.data-grid table):
(.data-grid .data-container):
(.data-grid.inline):
(.data-grid th):
(.data-grid :-webkit-any(th, td):not(:last-child)):
(.data-grid th.sortable:active):
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending)):
(.data-grid table.data):
(.data-grid td):
(.data-grid:focus tr.selected td:not(:last-child)):
(body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)):
(.data-grid :-webkit-any(th, td) > div):
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child):
(.data-grid th.sort-ascending > div:first-child::after):
(.data-grid th.sort-descending > div:first-child::after):
(.data-grid td .subtitle):
(.data-grid td .subtitle::before):
(.data-grid:focus tr.selected td .subtitle):
(.data-grid td.error):
(.data-grid tr.selected td.error):
(.data-grid td .icon):
(.data-grid td .go-to-arrow):
(.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow):
- UserInterface/Views/DatabaseContentView.css:
(.storage-view):
- UserInterface/Views/DatabaseTableContentView.css:
(.content-view.database-table > .data-grid):
- UserInterface/Views/DetailsSection.css:
(.details-section > .content .data-grid):
- UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
(.content-view.indexed-database-object-store > .data-grid):
- UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
(WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData):
- UserInterface/Views/LayerTreeSidebarPanel.css:
(.layer-tree.panel .data-grid):
(.layer-tree.panel .name-column .icon):
(.layer-tree.panel tr.reflection .name-column .icon):
(.layer-tree.panel tr.pseudo-element .name-column .icon):
(.layer-tree.panel .name-column .reflection):
(.layer-tree.panel tr.selected .name-column .reflection):
(.layer-tree.panel .bottom-bar):
(body.mac-platform.legacy .layer-tree.panel .bottom-bar):
(.layer-tree.panel .bottom-bar > div):
(body.mac-platform.legacy .layer-tree.panel .bottom-bar > div):
(body.mac-platform.legacy .layer-tree-popover):
- UserInterface/Views/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel):
(WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
(WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar):
(WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics):
- UserInterface/Views/LegacyJavaScriptProfileView.css:
(.content-view.profile-view > .data-grid):
- UserInterface/Views/LegacyProfileView.css:
- UserInterface/Views/LogContentView.css:
(.console-message .bubble):
- UserInterface/Views/NetworkTimelineView.css:
(.timeline-view.network > .data-grid):
- UserInterface/Views/OverviewTimelineView.css:
(.timeline-view.overview > .timeline-ruler > .header):
(.timeline-view.overview > .data-grid):
- UserInterface/Views/OverviewTimelineView.js:
- UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > .probe-add):
(.popover .probe-popover):
- UserInterface/Views/ProbeSetDataGrid.css:
(.details-section.probe-set .data-grid tr.past-value td):
(.details-section.probe-set .data-grid > td.unknown-value):
(.details-section.probe-set .data-grid tr.revealed.highlighted):
(.details-section.probe-set .data-grid tr.separator):
(.details-section.probe-set .data-grid > tr.data-updated):
(.details-section.probe-set .data-grid .selected .section *):
(.details-section.probe-set .data-grid .selected td.unknown-value):
(.details-section.probe-set .data-grid .section):
- UserInterface/Views/QuickConsole.css:
(.quick-console):
- UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline th):
(.data-grid.timeline > .navigation-bar-container > .navigation-bar):
- UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .header):
(.timeline-ruler > .header > .divider):
- 11:39 AM Changeset in webkit [172398] by
-
- 3 edits in trunk/Source/JavaScriptCore
JIT should use full 64-bit stores for jsBoolean and jsNull
https://bugs.webkit.org/show_bug.cgi?id=135784
Reviewed by Michael Saboff.
This guarantees that we set the high bits of the register with the correct tag.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_has_structure_property):
(JSC::JIT::emit_op_next_enumerator_pname):
- 11:23 AM Changeset in webkit [172397] by
-
- 8 edits in trunk/Source
[Win] Adjust build script for Windows production build.
https://bugs.webkit.org/show_bug.cgi?id=135806
<rdar://problem/17978299>
Reviewed by Timothy Hatcher.
- JavaScriptCore.vcxproj/copy-files.cmd: Copy file for later use
in WebInspectorUI build.
../WebCore:
- WebCore.vcxproj/copyForwardingHeaders.cmd: Copy file needed
for WebInspectorUI build.
../WebInspectorUI:
- WebInspectorUI.vcxproj/WebInspectorUI.make: Make sure target for
xcopy operation exists.
- WebInspectorUI.vcxproj/WebInspectorUI.proj: Don't create directories
we don't need, make sure the target location exists before we build.
- WebInspectorUI.vcxproj/build-webinspectorui.pl: Make sure that
production builds get the intermediary command files from the
right place.
- 11:10 AM Changeset in webkit [172396] by
-
- 5 edits5 adds in trunk
Web Inspector: Add a helper to avoid leaking single-fire event listeners in Promise chains
https://bugs.webkit.org/show_bug.cgi?id=135772
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
A common pattern when working with promise chains is to convert an event
handler into a promise by using a single-fire event listener with the
resolve continuation as the callback. This is fine if the event fires;
if it doesn't fire, then the event emitter permanently keeps a reference to the
this-object and the callback.
This patch adds EventListener, a proxy object for events that can be manipulated
from multiple promise callback functions. If a promise is rejected, the catch
block can disconnect any event listeners set up earlier in the promise chain.
This patch also reimplements EventListenerSet to use multiple EventListeners,
since they share the same logic to uniformly handle Inspector and DOM events.
Test: inspector/event-listener.html
Test: inspector/event-listener-set.html
- UserInterface/Base/EventListener.js: Added.
(WebInspector.EventListener):
(WebInspector.EventListener.prototype.this._callback):
(WebInspector.EventListener.prototype.connect):
(WebInspector.EventListener.prototype.disconnect):
- UserInterface/Base/EventListenerSet.js: Update license block.
(WebInspector.EventListenerSet.prototype.register):
(WebInspector.EventListenerSet.prototype.install):
(WebInspector.EventListenerSet.prototype.uninstall):
- UserInterface/Main.html: Include EventListener.
- UserInterface/Test.html: Include EventListener and EventListenerSet.
LayoutTests:
- inspector/event-listener-expected.txt: Added.
- inspector/event-listener-set-expected.txt: Added.
- inspector/event-listener-set.html: Added.
- inspector/event-listener.html: Added.
- 10:52 AM Changeset in webkit [172395] by
-
- 2 edits in trunk/Source/WebKit2
[Services with UI] Action menu arrow hit testing is sometimes wrong.
https://bugs.webkit.org/show_bug.cgi?id=135776
<rdar://problem/17837670>
Reviewed by Brady Eidson.
There was a problem in the algorithm that stitches together the selection rectangles
to be given to Data Detectors API.
This change adds a new function that stiches together all the rects contributing to the
first line, all the rects contributing to the last line and all the ones in the middle.
This way we can have a maximum of 3 non overlapping rectangles.
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::stitchRects):
(WebKit::compactRectsWithGapRects):
- 3:40 AM Changeset in webkit [172394] by
-
- 4 edits in trunk
Unreviewed, rolling out r172393.
https://bugs.webkit.org/show_bug.cgi?id=135796
discussion needed about GnuTLS version bump on the bots
(Requested by philn on #webkit).
Reverted changeset:
https://bugs.webkit.org/show_bug.cgi?id=133317
http://trac.webkit.org/changeset/172393
- 3:23 AM Changeset in webkit [172393] by
-
- 4 edits in trunk
[GTK] Adds dependency on GnuTLS 3.0+ for the implementation of subtle crypto algorithms
https://bugs.webkit.org/show_bug.cgi?id=133317
.:
GnuTLS is already an indirect dependency through libsoup -> glib-networking.
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-08-11
Reviewed by Philippe Normand.
No new tests since no new functionality has been added.
- Source/cmake/OptionsGTK.cmake: Adds search for required GnuTLS package
Source/WebCore:
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-08-11
Reviewed by Philippe Normand.
No new tests since no new functionality has been added.
- PlatformGTK.cmake: Adds GnuTLS libs and included dirs to WebCore targets
- 3:07 AM Changeset in webkit [172392] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, EFL build fix since r172385.
- PlatformEfl.cmake:
- 3:04 AM Changeset in webkit [172391] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fix debug build after r172389.
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-08-11
Rubber-stamped by Philippe Normand.
- crypto/gtk/CryptoKeyRSAGtk.cpp:
(WebCore::CryptoKeyRSA::exportData): Remove spurious ASSERT from
stub. It will be added back along with the real implementation of
the method.
- 2:48 AM Changeset in webkit [172390] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed fix after r172348.
- platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::BitmapImage): Initialize m_minimumSubsamplingLevel to 0.
- 1:59 AM Changeset in webkit [172389] by
-
- 6 edits11 adds in trunk
[GTK] Adds stubs for all subtle crypto algorithm implemntations
https://bugs.webkit.org/show_bug.cgi?id=133316
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-08-11
Reviewed by Philippe Normand.
.:
- Source/cmake/OptionsGTK.cmake: Add ENABLE_SUBTLE_CRYPTO option
- Source/cmake/WebKitFeatures.cmake: Add ENABLE_SUBTLE_CRYPTO option
- Source/cmakeconfig.h.cmake: Define ENABLE_SUBTLE_CRYPTO
Source/WebCore:
No new tests since no new functionality has been added.
- CMakeLists.txt: Add subtle crypto 'algorithms' and 'parameters' dirs to WebCore incuded dirs
- PlatformGTK.cmake: Add subtle crypto sources to WebCore target
- crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp: Added.
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp: Added.
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
- crypto/gtk/CryptoAlgorithmHMACGtk.cpp: Added.
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
- crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp: Added.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
- crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp: Added.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
- crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp: Added.
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- crypto/gtk/CryptoAlgorithmRegistryGtk.cpp: Added.
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
- crypto/gtk/CryptoDigestGtk.cpp: Added.
(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):
- crypto/gtk/CryptoKeyRSAGtk.cpp: Added.
(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::~CryptoKeyRSA):
(WebCore::CryptoKeyRSA::restrictToHash):
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription):
(WebCore::CryptoKeyRSA::exportData):
(WebCore::CryptoKeyRSA::generatePair):
- crypto/gtk/SerializedCryptoKeyWrapGtk.cpp: Added.
(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):
- crypto/keys/CryptoKeyRSA.h:
- 1:49 AM Changeset in webkit [172388] by
-
- 1 copy in releases/WebKitGTK/webkit-2.5.2
WebKitGTK+ 2.5.2
- 1:05 AM Changeset in webkit [172387] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.2 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.5.2.
- 12:29 AM Changeset in webkit [172386] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK+ make distcheck.
- gtk/manifest.txt: Remove Source/WebCore/Resources/inputSpeech.png.
Aug 10, 2014:
- 11:34 PM Changeset in webkit [172385] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] No IPC messages are sent when building WebKitGTK+ with VERSION_SCRIPT
https://bugs.webkit.org/show_bug.cgi?id=135760
Reviewed by Philippe Normand.
The problem is that the threading initialization is failing
because there are two copies of WTF, one in libjavascriptcoregtk
and the other in libwebkit2gtk. When WebKit2 is initialized in the
UI process, JSC::initializeThreading() is called first and then
WTF::initializeMainThread(). The former is calling
ThreadIdentifierData::initializeOnce() initializing the
ThreadIdentifierData::m_key symbol in libjavascriptcoregtk, while
the latter is using the ThreadIdentifierData API from libwebkit2gtk
that hasn't been initialized.
- CMakeLists.txt: Do not add WTF to the list of WebKit2 libraries,
WebKit2 already depends on JavaScriptCore that already links to WTF.
- 9:22 PM Changeset in webkit [172384] by
-
- 2 edits1 delete in trunk/Source/WebCore
Remove inputSpeech.png
https://bugs.webkit.org/show_bug.cgi?id=135771
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-10
Reviewed by Andreas Kling.
- Resources/inputSpeech.png: Removed.
- WebCore.xcodeproj/project.pbxproj:
- 6:26 PM Changeset in webkit [172383] by
-
- 9 edits in trunk/Source
Yelp phone number highlights often disappear
https://bugs.webkit.org/show_bug.cgi?id=135789
<rdar://problem/17971057>
Reviewed by Brady Eidson.
Since selectedTelephoneNumberRangesChanged doesn't provide an associated
Frame, an incoming selectedTelephoneNumberRangesChanged from a subframe
would overwrite ServicesOverlayController's cached (and potentially active)
telephone number highlights.
This happens a lot on Yelp, because they have many subframes which are
doing layout on a regular basis.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
- WebProcess/WebCoreSupport/WebEditorClient.h:
Adjust to the new (lack of) arguments.
- WebProcess/WebPage/ServicesOverlayController.h:
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
Adjust logging; we can revisit it later.
(WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
When building phone number highlights, walk the Frame tree and retrieve
them from all of the Editors.
(WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
(WebKit::ServicesOverlayController::telephoneNumberRangesForFocusedFrame):
(WebKit::ServicesOverlayController::determineActiveHighlight):
(WebKit::ServicesOverlayController::handleClick):
Retrieve the detected telephone number ranges from the focused frame
when combining telephone numbers with selection services.
This ensures that we don't show combined phone number highlights from other frames.
- editing/Editor.cpp:
(WebCore::Editor::scanSelectionForTelephoneNumbers):
(WebCore::Editor::clearDataDetectedTelephoneNumbers): Deleted.
- editing/Editor.h:
(WebCore::Editor::detectedTelephoneNumberRanges):
- page/EditorClient.h:
(WebCore::EditorClient::selectedTelephoneNumberRangesChanged):
Cache and expose detected telephone number ranges on Editor.
Change selectedTelephoneNumberRangesChanged to take no arguments; it's
just a notification now.
- 6:23 PM Changeset in webkit [172382] by
-
- 3 edits in trunk/Source/WebKit2
Refactor ServiceOverlayController in preparation for fading between highlights
https://bugs.webkit.org/show_bug.cgi?id=135787
<rdar://problem/17935736>
Reviewed by Brady Eidson.
Rework ServicesOverlayController so that we always keep a set of generic
"potential highlights", which are refcounted Highlight objects and
wrap a DDHighlightRef, as well as a type (Selection or TelephoneNumber),
Range (only used in the case of TelephoneNumber), and potentially more
things in the future (like, say, fade state!).
We eagerly update the list of potential highlights when the selection or set
of detected telephone numbers changes, and use this information to install
or uninstall the page overlay as needed.
When we need to recompute the "active" highlight from this set (for example,
we need to handle a mouse event or paint the highlight), we look through
the set of potential highlights and decide. This moves the "active" highlight
decision logic into one small and confined place.
- WebProcess/WebPage/ServicesOverlayController.h:
(WebKit::ServicesOverlayController::Highlight):
Add the new aforementioned refcounted Highlight class.
Rename m_lastHoveredHighlightChangeTime to m_lastActiveHighlightChangeTime.
Make m_webPage a reference.
The rest is just added/removed/adjusted functions for the refactoring.
(WebKit::TelephoneNumberData::TelephoneNumberData): Deleted.
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::Highlight::createForSelection):
(WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
Create Highlights for the two different highlight types.
(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::willMoveToWebPage):
Our WebPage pointer is always valid because it owns us; don't clear it.
We need to keep it around so that we can uninstall the overlay and
install it again later, anyway.
(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
When selection rects or detected telephone numbers change, rebuild potential highlights.
This will have the side-effect of installing the overlay if needed.
(WebKit::ServicesOverlayController::mouseIsOverHighlight):
Make this function take a Highlight instead of a DDHighlightRef.
(WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
Make this function take a Highlight instead of a DDHighlightRef.
(WebKit::ServicesOverlayController::drawHighlight):
Make this function take a Highlight instead of a DDHighlightRef.
There's no reason to do the translation separately from the layer blit,
also allowing us to avoid the StateSaver.
(WebKit::ServicesOverlayController::drawRect):
drawRect now always paints the active highlight, instead of duplicating
logic about which highlight should be active.
Also, it will update the active highlight before painting.
We no longer need to re-determine whether the active highlight's phone
number range is still a valid phone number range, because we rebuild
the potential highlights whenever the set of phone number ranges changes.
(WebKit::ServicesOverlayController::clearActiveHighlight):
Mostly an adoption of new names.
(WebKit::ServicesOverlayController::removeAllPotentialHighlightsOfType):
Run through the list of potential highlights and remove any of the given type.
The two highlight building functions use this helper to clear the old ones before building.
(WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
(WebKit::ServicesOverlayController::buildSelectionHighlight):
Rebuild the list of potential highlights, replacing all highlights of
the given type with new ones.
(WebKit::ServicesOverlayController::hasRelevantSelectionServices):
Factor out the code that decides whether our current selection is
viable for servicing based on whether we have plain-text and/or rich-text services.
(WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
When rebuilding potential highlights, if we have no potential highlights at all,
uninstall the page overlay; we don't need mouse tracking and don't need to
paint anything. This improves memory use and compositing performance significantly,
where previously we were leaving the overlay up forever after creating it.
If we have either detected telephone numbers or relevant selection services,
create and install the overlay if it doesn't already exist.
(WebKit::ServicesOverlayController::createOverlayIfNeeded):
This just moved from elsehwere, except that it now uses FadeMode::DoNotFade.
It doesn't make sense to fade on install/uninstall (which happens even before hover)
but not on changing the active highlight; fading will be re-addressed in the next patch.
(WebKit::ServicesOverlayController::highlightsAreEquivalent):
Determine whether two highlights are equivalent. While we may have
created a new Highlight at rebuild time, if two telephone number
highlights have equivalent ranges, there's no need to 'transition' to the new one.
(WebKit::ServicesOverlayController::determineActiveHighlight):
Run through the list of services, and try to find one that is hovered.
We prefer telephone number highlights to selection highlights, and
we will never make a selection highlight active if it is both
not serviceable and there are no telephone numbers to show in the combined menu.
This is the centralized location for determination of which highlight
should be considered active. If the active highlight changed, update
the time since last change and cancel the mouse-down tracking.
(WebKit::ServicesOverlayController::mouseEvent):
Adjust some comments to be more explanatory.
A bunch of code moved out of here and into determineActiveHighlight.
(WebKit::ServicesOverlayController::handleClick):
Adjust to take a reference and use Highlight instead of DDHighlightRef.
- 4:35 PM WebInspectorCodingStyleGuide edited by
- formatting (diff)
- 4:32 PM WebInspectorCodingStyleGuide edited by
- i promise to document promises (diff)
- 3:54 PM WebInspectorTests edited by
- bugfixes (diff)
- 3:50 PM WebInspectorTests edited by
- add notes about debugging tests; add notes about model tests (diff)
- 1:12 PM Changeset in webkit [172381] by
-
- 5 edits in trunk
Destructuring assignment in a var declaration list incorrectly consumes subsequent variable initialisers
https://bugs.webkit.org/show_bug.cgi?id=135773
Reviewed by Michael Saboff.
Source/JavaScriptCore:
We should be using parseAssignment expression in order to get the correct
precedence.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVarDeclarationList):
LayoutTests:
Add new tests.
- js/destructuring-assignment-expected.txt:
- js/script-tests/destructuring-assignment.js:
- 1:07 PM Changeset in webkit [172380] by
-
- 5 edits in trunk
JSC Lexer is allowing octals 08 and 09 in strict mode functions
https://bugs.webkit.org/show_bug.cgi?id=135704
Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-08-10
Reviewed by Oliver Hunt.
Return syntax error ("Decimal integer literals with a leading zero are
forbidden in strict mode") if a number starts with 0 and is followed
by a digit.
- parser/Lexer.cpp:
(JSC::Lexer<T>::lex):
- 3:25 AM Changeset in webkit [172379] by
-
- 12 edits3 deletes in trunk/Source
Web Inspector: new glyphs are visible on OS X 10.9 builds
https://bugs.webkit.org/show_bug.cgi?id=135743
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Images/Legacy/UserInputPrompt.svg: Removed.
- UserInterface/Images/Legacy/UserInputPromptPrevious.svg: Removed.
- UserInterface/Images/Legacy/UserInputResult.svg: Removed.
Removed images that were not used.
- UserInterface/Views/DashboardContainerView.css:
(body.mac-platform.legacy .dashboard-container .advance-arrow):
- UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView):
- UserInterface/Views/FolderIcon.css:
(body.mac-platform.legacy .folder-icon .icon):
- UserInterface/Views/HierarchicalPathComponent.css:
(body.mac-platform.legacy .hierarchical-path-component > .selector-arrows):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
Use legacy images.
- UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected .subtitle):
Fix color for selected subtitle.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
Use legacy images.
Source/WebKit/mac:
- WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]): Use 10100 instead of 1090 for the version.
Source/WebKit2:
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow): Use 10100 instead of 1090 for the version.
- 1:45 AM Changeset in webkit [172378] by
-
- 2 edits in trunk/Source/WTF
Update HashTable's operator= after r172167 per review comments
- wtf/HashTable.h:
Update the type as suggested by Darin.
- 12:30 AM Changeset in webkit [172377] by
-
- 4 edits1 move in trunk
[GTK] REGRESSION(r166239): The ld version script is not being used
https://bugs.webkit.org/show_bug.cgi?id=135694
Reviewed by Martin Robinson.
.:
Move the symbols filter file from Tools/gtk to Source/cmake and rename
it as gtksymbols.filter. Also updated it, since some of the symbols
exported were renamed.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/gtksymbols.filter: Renamed from Tools/gtk/symbols.filter.
Source/WebKit2:
- CMakeLists.txt: Add VERSION_SCRIPT to WebKit2 link flags if present.
- 12:09 AM Changeset in webkit [172376] by
-
- 2 edits in trunk
[GTK] Child processes should be installed in a versioned directory
https://bugs.webkit.org/show_bug.cgi?id=135754
Reviewed by Gustavo Noronha Silva.
Define LIBEXEC_INSTALL_DIR as
${CMAKE_INSTALL_FULL_LIBEXECDIR}/webkitgtk-${WEBKITGTK_API_VERSION}
so that the child processes are installed in $libexec/webkitgtk-4.0.
This makes it possible to install 2.6 in parallel to older versions.
- Source/cmake/OptionsGTK.cmake:
Aug 9, 2014:
- 9:34 PM Changeset in webkit [172375] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: TimelineManager should reuse empty recordings
https://bugs.webkit.org/show_bug.cgi?id=135749
Reviewed by Timothy Hatcher.
Check whether the recording is empty before creating a new one.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording):
- UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.isEmpty):
(WebInspector.TimelineRecording.prototype.unloaded):
- 6:04 PM Changeset in webkit [172374] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION (r172301): Combined phone number highlight doesn't appear if rich content is selected and we have no rich content services
https://bugs.webkit.org/show_bug.cgi?id=135785
<rdar://problem/17969843>
Reviewed by Brady Eidson.
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::drawSelectionHighlight):
We can't early return in the rich-content-but-no-rich-services case
if we have telephone numbers in the selection, because we want to offer
them up in the combined menu.
- UIProcess/mac/WebContextMenuProxyMac.mm:
If we end up with no menu, because there were no services available,
make a fresh one that we can fill with combined telephone number items.
- 5:48 PM Changeset in webkit [172373] by
-
- 3 edits2 adds in trunk
Subpixel rendering: Transforms on non-compositing layers leave bits behind when the box boundaries changes.
https://bugs.webkit.org/show_bug.cgi?id=135786
Reviewed by Simon Fraser.
Since we don't control the transformed context painting's snapping strategy, our best bet to fully
include the transformed box when requesting for repaint is to use enclosing.
Pixelsnapping doesn't work here for all cases. For example, a scaled box at 0.8px can be anti-aliased painted
both at 0.5px and 1px, while with pixelsnapping we'd expect it to be painted starting from 1px;
Source/WebCore:
Test: fast/repaint/hidpi-transform-on-subpixel-repaintrect.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint): enclose the result of the transform.
LayoutTests:
- fast/repaint/hidpi-transform-on-subpixel-repaintrect-expected.txt: Added.
- fast/repaint/hidpi-transform-on-subpixel-repaintrect.html: Added.
Aug 8, 2014:
- 11:50 PM Changeset in webkit [172372] by
-
- 17 edits in trunk/Source
REGRESSION: Inspector crashes when debugger is paused and injected scripts access window.screen().
<https://webkit.org/b/135656>
Not reviewed.
Rolling out r170680 which was merged to ToT in r172129.
Source/JavaScriptCore:
- debugger/Debugger.h:
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::invalidate):
- debugger/DebuggerCallFrame.h:
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerScope::next): Deleted.
(JSC::DebuggerScope::invalidateChain): Deleted.
(JSC::DebuggerScope::isWithScope): Deleted.
(JSC::DebuggerScope::isGlobalScope): Deleted.
(JSC::DebuggerScope::isFunctionScope): Deleted.
- debugger/DebuggerScope.h:
(JSC::DebuggerScope::create):
(JSC::DebuggerScope::Iterator::Iterator): Deleted.
(JSC::DebuggerScope::Iterator::get): Deleted.
(JSC::DebuggerScope::Iterator::operator++): Deleted.
(JSC::DebuggerScope::Iterator::operator==): Deleted.
(JSC::DebuggerScope::Iterator::operator!=): Deleted.
(JSC::DebuggerScope::isValid): Deleted.
(JSC::DebuggerScope::jsScope): Deleted.
(JSC::DebuggerScope::begin): Deleted.
(JSC::DebuggerScope::end): Deleted.
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::scopeChain):
- inspector/JavaScriptCallFrame.h:
(Inspector::JavaScriptCallFrame::scopeChain):
- inspector/ScriptDebugServer.cpp:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::debuggerScopeStructure): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::isWithScope): Deleted.
- runtime/JSScope.h:
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
Source/WebCore:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::attachDebugger):
- 7:37 PM Changeset in webkit [172371] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] Do not initialize g_type in WebProcessMain::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=135700
Reviewed by Gyuyoung Kim.
Inspired by r171788.
Glib since 2.36 itself initializes g_type_init.
- WebProcess/efl/WebProcessMainEfl.cpp:
- 6:14 PM Changeset in webkit [172370] by
-
- 2 edits in trunk/Tools
Unbreak webkitpy unit tests by checking for the existence of the image diff template
file before trying to open it (as the tests do for results.html).
- Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_image_diff_files):
- 6:12 PM Changeset in webkit [172369] by
-
- 2 edits in trunk/Source/WebKit2
Build fix for 32-bit.
- UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::ServicesController):
Don't dynamically refresh services in 32-bit apps. It's not possible
to write a 32-bit app with the Modern API, so this doesn't matter.
- 5:23 PM Changeset in webkit [172368] by
-
- 3 edits2 adds in trunk
Load the layout test result image diff HTML from a file, rather than having it inline in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=135780
Reviewed by Dan Bates.
Tools:
Pull the HTML for the image diff file into a separate file, for easier hackability.
- Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_image_diff_files):
LayoutTests:
Add image-diff-template.html and expected result (crazy, but this is what we do
for results.html too).
- fast/harness/image-diff-template-expected.txt: Added.
- fast/harness/image-diff-template.html: Added.
- 5:00 PM Changeset in webkit [172367] by
-
- 3 edits in trunk/Source/WebCore
Implement long mouse press over links. Part of 135257 - Add long mouse press gesture.
https://bugs.webkit.org/show_bug.cgi?id=135476
Patch by Peyton Randolph <prandolph@apple.com> on 2014-08-08
Reviewed by Tim Horton.
- page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear): Clear long press state.
(WebCore::EventHandler::handleMousePressEvent): Start the long-press if the mouse press is a left
mouse press over a link.
(WebCore::EventHandler::eventMayStartDrag): We cannot start a drag if we've recognized a long press.
(WebCore::EventHandler::handleMouseReleaseEvent):
If we didn't recognize a long press, cancel the long press.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress):
Begin the long mouse press by kicking off a timer. If the timer fires before the long press is
cancelled, the long press is recognized.
(WebCore::EventHandler::recognizeLongMousePress): Added. Trigger the long-press and disable other
actions like dragging.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Added. Cancel the long press by
clearing related state.
(WebCore::EventHandler::clearLongMousePressState): Added. Clear long press state.
(WebCore::EventHandler::handleLongMousePressMouseMovedEvent): Added. Cancel the long press if
the mouse moves outside a specified hysteresis interval.
(WebCore::EventHandler::handleMouseMoveEvent): Ask handleLongMousePressMouseMovedEvent whether to
return early and not update hovers, cursors, drags, etc.
(WebCore::EventHandler::dragHysteresisExceeded): Factor out the hysteresis bounds check into
mouseHysteresisExceeded().
(WebCore::EventHandler::handleDrag): Cancel long press upon starting drag.
(WebCore::EventHandler::mouseHysteresisExceeded): Added. General hysteresis function that takes an
arbitrary mouse movement threshold. Factored out from dragHysteresisExceeded.
- page/EventHandler.h:
- 4:27 PM Changeset in webkit [172366] by
-
- 6 edits in trunk/Source/WebKit2
[mac] Dynamically update serviceability when the set of services changes
https://bugs.webkit.org/show_bug.cgi?id=135738
<rdar://problem/17533459>
Reviewed by Brady Eidson.
- UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
Adopt the new universal refreshExistingServices.
(WebKit::WebContext::refreshExistingServices): Deleted.
- UIProcess/WebContext.h:
Remove WebContext::refreshExistingServices; there's no need for it.
- UIProcess/mac/ServicesController.h:
- UIProcess/mac/ServicesController.mm:
Fix the build with only public headers by including NSSharingService.h itself.
Place the NSSharingServicePicker (Details) category outside the #ifdef.
Forward-declare and possibly import NSExtension SPI.
(WebKit::ServicesController::ServicesController):
Register a callback to be notified whenever the set of services changes.
When this occurs, call refreshExistingServices. We let refreshExistingServices
coalesce updates because these notifications can come in small batches.
(WebKit::ServicesController::refreshExistingServices):
Dispatch changes in service availability to all processes in all contexts.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Adjust the referenced rdar:// and call ServicesController::refreshExistingServices
instead of the now-removed WebContext:: variant. We can't remove this
yet because our services state can still be stale because NSServiceSharingPicker
can still sometimes lie about the current service state immediately after a change occurs;
once that is fixed, we should get rid of this as well as the refresh in Web Process creation.
- 4:24 PM Changeset in webkit [172365] by
-
- 3 edits3 adds in trunk
[WK2] Scrolling does not work inside nested frames
https://bugs.webkit.org/show_bug.cgi?id=135775
<rdar://problem/17959896>
Reviewed by Tim Horton.
Source/WebCore:
r169733 added an "isMainFrame" check in AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged.
However we have to rebuild the non-fast-scrollable region when any subframe changes,
even a deeply nested one. So always rebuild it, starting from the root frame.
Fixes scrolling on nested framesets like http://www.opengl.org/sdk/docs/man3/.
Test: platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
LayoutTests:
Nested frameset test that dumps the scrolling tree.
- platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/frames/resources/frameset-frame.html: Added.
- 4:15 PM Changeset in webkit [172364] by
-
- 2 edits in trunk/Source/WebKit2
Clients that request the selection services menu after WebKit2 will get one with different metrics than otherwise
https://bugs.webkit.org/show_bug.cgi?id=135765
<rdar://problem/17962180>
Reviewed by Brady Eidson.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
The menu is cached between clients, but we make adjustments to it.
We should copy it before adjusting.
- 4:14 PM Changeset in webkit [172363] by
-
- 1 copy in tags/Safari-600.1.4.9
Re-create tag part 2.
- 4:13 PM Changeset in webkit [172362] by
-
- 1 delete in tags/Safari-600.1.4.9
Re-create tag part 1.
- 4:09 PM Changeset in webkit [172361] by
-
- 1 copy in tags/Safari-600.1.4.9
Re-create tag part 2.
- 4:08 PM Changeset in webkit [172360] by
-
- 1 delete in tags/Safari-600.1.4.9
Re-create tag part 1.
- 3:49 PM Changeset in webkit [172359] by
-
- 5 edits in branches/safari-600.1.4-branch/Source
Versioning.
- 3:45 PM Changeset in webkit [172358] by
-
- 1 copy in tags/Safari-600.1.4.9/safari-600.1.4-branch
New Tag
- 2:12 PM Changeset in webkit [172357] by
-
- 12 edits in trunk/Source/WebCore
[CSS Shapes] Refactor getExcludedIntervals since only one LineSegment is ever returned
https://bugs.webkit.org/show_bug.cgi?id=135757
Reviewed by Zoltan Horvath.
The interface for getExcludedIntervals was designed when shape-inside
was still a thing, and it was possible for a line in a shape to have
multiple segments. shape-outside can only have one segment per line,
so this refactors the code to simplify and reflect that reality.
No new test, no behavior change.
- rendering/shapes/BoxShape.cpp:
(WebCore::BoxShape::getExcludedInterval):
(WebCore::BoxShape::getExcludedIntervals): Deleted.
- rendering/shapes/BoxShape.h:
- rendering/shapes/PolygonShape.cpp:
(WebCore::PolygonShape::getExcludedInterval):
(WebCore::PolygonShape::getExcludedIntervals): Deleted.
- rendering/shapes/PolygonShape.h:
- rendering/shapes/RasterShape.cpp:
(WebCore::RasterShape::getExcludedInterval):
(WebCore::RasterShape::getExcludedIntervals): Deleted.
- rendering/shapes/RasterShape.h:
- rendering/shapes/RectangleShape.cpp:
(WebCore::RectangleShape::getExcludedInterval):
(WebCore::RectangleShape::getExcludedIntervals): Deleted.
- rendering/shapes/RectangleShape.h:
- rendering/shapes/Shape.h:
(WebCore::LineSegment::LineSegment):
- rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::logicalLeftOffset):
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
(WebCore::ShapeOutsideInfo::computeSegmentsForLine): Deleted.
- rendering/shapes/ShapeOutsideInfo.h:
- 1:59 PM Changeset in webkit [172356] by
-
- 1 copy in tags/Safari-600.1.4.9
New Tag.
- 1:21 PM Changeset in webkit [172355] by
-
- 6 edits in trunk/Source
Web Inspector: add debugging flag to InspectorTest for unbuffered logging to stderr
https://bugs.webkit.org/show_bug.cgi?id=135726
Reviewed by Timothy Hatcher.
Source/WebCore:
Add a bridge so that InspectorTest can synchronously log to the console.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::unbufferedLog): Added.
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
Source/WebInspectorUI:
Added a flag for debugging inspector tests which will synchronously log messages.
This avoids failure modes that prevent logging from being added to the test page.
- UserInterface/Base/Test.js:
(InspectorTest.debugLog):
(InspectorTest.addResult):
- 1:09 PM Changeset in webkit [172354] by
-
- 5 edits in branches/safari-600.1.4-branch/Source
Versioning.
- 1:04 PM Changeset in webkit [172353] by
-
- 2 edits in trunk/Tools
Gardening: fix Windows build after r172259.
Not reviewed.
- DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::addMockSpeechInputResult): Deleted.
(TestRunner::setMockSpeechInputDumpRect): Deleted.
(TestRunner::startSpeechInput): Deleted.
- 1:00 PM Changeset in webkit [172352] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: When Switching Recordings, the UI datagrids do not update to match selection
https://bugs.webkit.org/show_bug.cgi?id=135764
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-08
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineSidebarPanel.js:
When changing the activeContentView trigger an update of the datagrids by
re-applying the filter, which will be different now that the view is different.
- 12:53 PM Changeset in webkit [172351] by
-
- 6 edits in trunk
Adjustments to CueBox CSS Width calculations.
https://bugs.webkit.org/show_bug.cgi?id=135759
<rdar://problem/17954473>.
Reviewed by Eric Carlson.
This is a followup patch that addresses some of the test failures caused by r172224.
These tests were skipped in r172253.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize):
Tell the cue boxes that they need to be updated when the font size specified in the user prefs changes.
Cap width to 100%, calculate max-width in percentages instead of pixels.
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
- html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
(WebCore::VTTCue::setFontSize):
Remove some unnecessary code that doesn't actually work.
Make sure to tell cuebox that it needs to be updated.
Unskip tests media/track/track-cue-rendering-horizontal.html and media/track/track-cue-rendering-rtl.html.
- 12:33 PM Changeset in webkit [172350] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught Exception opening Web Inspector - TypeError: undefined is not a function - candidateObjectCookie.every
https://bugs.webkit.org/show_bug.cgi?id=135762
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-08
Reviewed by Timothy Hatcher.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
Fix a typo, the wrong object was being used.
- 12:20 PM Changeset in webkit [172349] by
-
- 4 edits in trunk
make clean does not work in OpenSource, fails in WebKitLibraries
https://bugs.webkit.org/show_bug.cgi?id=135734
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-08
Reviewed by David Kilzer.
Tools:
- Scripts/copy-webkitlibraries-to-product-directory:
Add a --clean switch that removes possible WebKitSystemInterface
and LLVM libraries and headers that may have been copied to the
product directory.
WebKitLibraries:
- Makefile:
Add a "clean" target that runs copy-webkitlibraries-to-product-dir
with the new --clean switch.
- 11:55 AM Changeset in webkit [172348] by
-
- 20 edits in trunk/Source/WebCore
Clean up image subsampling code, make it less iOS-specific
https://bugs.webkit.org/show_bug.cgi?id=134916
Reviewed by Dean Jackson.
Compile the image subsampling code on both Mac and iOS, and make it more platform
neutral in general. Add a setting to allow it to be enabled on Mac for testing.
The most significant changes are in ImageSourceCG and BitmapImageCG. CG's ImageSource
is no longer stateful with respect to subsampling; its functions take a SubsamplingLevel
when appropriate. CG's BitmapImage now determines which level of subsampling to use
for a given frame, storing the subsampling level in the frame data. It can replace
an aggressively subsampled frame with a less subsampled frame if necessary.
To reduce the chances of subsampling affecting rendering, BitmapImage::size() now
always returns the non-subsampled size; subsampling is strictly internal to BitmapImage.
BitmapImage::draw() takes care of scaling the srcRect for subsampled images.
iOS had a code path that enabled caching of frame metadata in BitmapImage without
actually decoding the frame; make this cross-platform.
Fix a couple of issues in the original pathc: remove a log, and ImageSource::allowSubsamplingOfFrameAtIndex()
return false.
- WebCore.exp.in: Changed signature for GraphicsContext::drawNativeImage().
- WebCore.xcodeproj/project.pbxproj: Added ImageSource.cpp, which is not built
for Cocoa but useful for reference.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer): Remove iOS-specific subsampling code.
(WebCore::CachedImage::createImage): Call setAllowSubsampling() on the image if we
can get to Settings (m_loader is null for image documents).
(WebCore::CachedImage::currentFrameKnownToBeOpaque): This forced decode always
caused creation of the non-subsampled image, so remove it. There's no reason to
eagerly decode the frame here.
- loader/cache/CachedImage.h: Fix comment.
- page/Settings.cpp: Add defaultImageSubsamplingEnabled, true for iOS and false for Mac.
- page/Settings.in: Added imageSubsamplingEnabled.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage): Init some more things. Default m_allowSubsampling to
true for iOS to catch images created in code paths where we can't get to Settings.
(WebCore::BitmapImage::haveFrameAtIndex): Handy helper.
(WebCore::BitmapImage::cacheFrame): Now takes the subsampling level and whether to cache
just metadata, or also the frame.
(WebCore::BitmapImage::didDecodeProperties): No need to store originalSize.
(WebCore::BitmapImage::updateSize): When we get the size for the first time, call
determineMinimumSubsamplingLevel() to choose a reasonable subsampling level which takes
platform-specific limits into account.
(WebCore::BitmapImage::dataChanged): Comment.
(WebCore::BitmapImage::ensureFrameIsCached): Take ImageFrameCaching into account.
(WebCore::BitmapImage::frameAtIndex): Choose a subsampling level given the scale,
then determine if we can use the currently cached frame, or whether we should resample.
(WebCore::BitmapImage::frameIsCompleteAtIndex): Caching m_isComplete is now done when caching
frame metadata.
(WebCore::BitmapImage::frameDurationAtIndex):
(WebCore::BitmapImage::frameHasAlphaAtIndex): The 'true' return is the safe return value.
(WebCore::BitmapImage::frameOrientationAtIndex): Caching m_orientation is now done when caching
frame metadata.
(WebCore::BitmapImage::cacheFrameInfo): Deleted.
(WebCore::BitmapImage::originalSize): Deleted.
(WebCore::BitmapImage::originalSizeRespectingOrientation): Deleted.
(WebCore::BitmapImage::currentFrameSize): Deleted.
(WebCore::BitmapImage::ensureFrameInfoIsCached): Deleted.
- platform/graphics/BitmapImage.h:
(WebCore::FrameData::FrameData):
- platform/graphics/GraphicsContext.h: No need to pass a scale param now.
- platform/graphics/ImageSource.cpp: Non-Cocoa changes.
(WebCore::ImageSource::subsamplingLevelForScale):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::size):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameBytesAtIndex):
- platform/graphics/ImageSource.h: No longer stores subsampling state.
(WebCore::ImageSource::isSubsampled): Deleted.
- platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::determineMinimumSubsamplingLevel):
- platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::FrameData::clear):
(WebCore::BitmapImage::BitmapImage): Init more members.
(WebCore::BitmapImage::determineMinimumSubsamplingLevel): Choose a minimum subsampling
level for the platform (subsample until the image area falls under a threshold).
(WebCore::BitmapImage::checkForSolidColor): Don't bother decoding frames if the image
is not 1x1. Also take care not to decode a non-subsampled image.
(WebCore::BitmapImage::draw): The actual bug fix is here; remove logic that
computed srcRectForCurrentFrame from m_size and m_originalSize; for some callers
srcRect was computed using the pre-subsampled size, and for others it was the subsampled size.
Instead, scale srcRect by mapping between the non-subsampled size, and the size of the CGImageRef
which is affected by subsampling.
(WebCore::BitmapImage::copyUnscaledFrameAtIndex):
- platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage): Remove #ifdeffed code.
(WebCore::GraphicsContext3D::paintToCanvas):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage): No more weird scaling!
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::draw):
- platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::ImageSource):
(WebCore::createImageSourceOptions): Helper that always returns a new CFDictionaryRef.
(WebCore::imageSourceOptions): If not subsampling, return the cached CFDictionaryRef, otherwise
make a new options dict and return it.
(WebCore::ImageSource::subsamplingLevelForScale): Helper that returns a subsampling level
between 0 and 3 given a scale.
(WebCore::ImageSource::isSizeAvailable): SkipMetadata is a default value for the param now.
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex): We turn off subsampling for progressive
JPEGs because of a bug, so need this to know if a frame should be subsampled.
(WebCore::ImageSource::frameSizeAtIndex): The looping to find a subsampling level is now in BitmapImageCG.
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::size): Always use a subsampling level of 0 for size().
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex): The caller mapped a scale to a level.
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameBytesAtIndex):
(WebCore::ImageSource::imageSourceOptions): Deleted.
(WebCore::ImageSource::originalSize): Deleted.
- platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::invalidatePlatformData): 0 -> nullptr
- platform/graphics/wince/ImageWinCE.cpp:
(WebCore::BitmapImage::determineMinimumSubsamplingLevel):
- 11:28 AM Changeset in webkit [172347] by
-
- 4 edits4 deletes in branches/safari-600.1-branch
Merged r172332.
- 11:13 AM Changeset in webkit [172346] by
-
- 16 edits in trunk
Progress towards using CMake on Mac.
https://bugs.webkit.org/show_bug.cgi?id=135662
Reviewed by Laszlo Gombos.
- CMakeLists.txt:
.:
Mavericks has a flex version of "flex 2.5.35 Apple(flex-31)" which CMake doesn't like on Mac.
- Source/cmake/WebKitFeatures.cmake:
- Source/cmakeconfig.h.cmake:
Added features that are needed by the Mac port.
- Source/cmake/OptionsMac.cmake:
Enable CSS_IMAGE_SET based on FeatureDefines.h.
Disable the FTL with CMake for now.
- Source/cmake/OptionsEFL.cmake:
- Source/cmake/OptionsGTK.cmake:
Enable subpixel layout to not conflict with FeatureDefines.h
Source/WebCore:
Added necessary include directories and idls.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
Moved ImageSource.cpp and image-decoders to platform CMake files because they are not used on mac.
- PlatformMac.cmake:
Corrected some sources.
- config.h:
Added workaround for not using prefix headers with CMake.
- platform/graphics/ANGLEWebKitBridge.h:
Compile fix to find ANGLE headers while using CMake.
- platform/graphics/FormatConverter.h:
- platform/mac/NSScrollerImpDetails.h:
Removed unnecessary config.h includes.
- 10:41 AM Changeset in webkit [172345] by
-
- 3 edits in trunk
Undo some erroneous changes to the Xcode scheme files from r172259.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
- 9:19 AM Changeset in webkit [172344] by
-
- 2 edits in trunk/Source/WebKit2
Services overlay dropdown is often in the wrong place with zoomed pages or horizontal scrolling
https://bugs.webkit.org/show_bug.cgi?id=135755
<rdar://problem/17907752>
Reviewed by Brady Eidson.
- WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
(WebKit::ServicesOverlayController::maybeCreateSelectionHighlight):
DDHighlightCreateWithRectsInVisibleRectWithStyleAndDirection adjusts the
location of the button based on the visible rect, trying to keep the button visible.
We're handing it the wrong visible rect, though, not taking scrolling into account.
This leads to pages that scroll horizontally showing the button on the left
even if there's space for it on the right, or sometimes not showing it at all.
Instead, provide the actual main FrameView visible rect; the same coordinate
space that the highlight rects are provided in.
- 9:18 AM Changeset in webkit [172343] by
-
- 2 edits in trunk/Source/WebKit2
Additional items added to selection services menus are misaligned
https://bugs.webkit.org/show_bug.cgi?id=135747
<rdar://problem/17933167>
Reviewed by Brady Eidson.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Use NSSharingServicePickerStyleRollover for the rollover image services menu;
use NSSharingServicePickerStyleTextSelection for the selection services menu.
Set NSMenu's showsStateColumn to YES for selection services menus, so that
other items added to the menu line up correctly.
Remove an unncessary .get()
- 5:57 AM Changeset in webkit [172342] by
-
- 7 edits in trunk/Source/WebKit2
[EFL] Remove unnecessary ewk_private.h includes
https://bugs.webkit.org/show_bug.cgi?id=135753
Reviewed by Gyuyoung Kim.
Neither the below file uses the functionality from ewk_private.h.
- UIProcess/API/efl/ewk_context.cpp:
- UIProcess/API/efl/ewk_context_menu_item.cpp:
- UIProcess/API/efl/ewk_cookie_manager.cpp:
- UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
- UIProcess/API/efl/ewk_popup_menu_item.cpp:
- UIProcess/API/efl/ewk_view.cpp:
- 2:31 AM Changeset in webkit [172341] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
https://bugs.webkit.org/show_bug.cgi?id=135699
Reviewed by Philippe Normand.
Resize grips support have been removed from GTK+ since 3.13.4, the
API has been deprecated and does nothing.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetToplevelOnScreenWindow):
(resizeWebKitWebViewBaseFromAllocation):
- 1:17 AM Changeset in webkit [172340] by
-
- 4 edits in trunk
[CMake] Drop the required version of CMake down to 2.8.8
https://bugs.webkit.org/show_bug.cgi?id=135713
Reviewed by Alex Christensen.
.:
- CMakeLists.txt: Require CMake 2.8.8.
Source/WebCore:
- CMakeLists.txt: Use set_property() to set INCLUDE_DIRECTORIES for
the ANGLESupport library. This avoids using target_include_directories()
which requires CMake 2.8.11.
- 1:09 AM Changeset in webkit [172339] by
-
- 3 edits in trunk/Tools
commit-log-message has extra blank line at the top of pre-populated message
https://bugs.webkit.org/show_bug.cgi?id=135744
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-08
Reviewed by Csaba Osztrogonác.
Do not add a blank leading line in single ChangeLog commit messages.
- Scripts/commit-log-editor:
(createCommitMessage):
- Scripts/webkitpy/common/checkout/checkout_unittest.py:
(test_commit_message_for_one_reviewed_changelog):
(test_commit_message_for_one_rollout_changelog):
- 12:46 AM Changeset in webkit [172338] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][1.4] Caps negotiation failure in playback pipeline
https://bugs.webkit.org/show_bug.cgi?id=135607
Reviewed by Carlos Garcia Campos.
Ensure the capsfilters used in front of interleave negotiate their
caps correctly with audioconvert which requires audio buffers with
interleaved layout.
No new tests, existing webaudio tests will cover this change once
we bump our JHBuild moduleset to GStreamer 1.4.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(getGStreamerMonoAudioCaps):
- 12:05 AM Changeset in webkit [172337] by
-
- 5 edits in trunk/Source/WebInspectorUI
REGRESSION(r172094): timeline views are blank after reloading in some situations
https://bugs.webkit.org/show_bug.cgi?id=135742
Reviewed by Timothy Hatcher.
Address various bugs that cause the wrong timeline content views to appear when
starting a recording by reloading the inspected page. Fix other small oversights
that were encountered in the sidebar-based view state restoration code.
- UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.saveIdentityToCookie): Add a dummy implementation.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
This code erroneously matches any tree element whose represented object's
saveIdentityToCookie function produces an empty cookie.
- UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._showTimelineView): Add an assertion
that will find mismatches between represented objects of the TimelineContentView
and TimelineViews.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): Don't call
the superclass's implementation, since we do not want to perform a relaxed match
against any of our tree elements. The only thing that can be restored across reopen
is a selected timeline tree element, which is already handled by this override.