Timeline



Dec 2, 2014:

10:36 PM Changeset in webkit [176711] by benjamin@webkit.org
  • 3 edits
    4 adds in trunk

Little cleanup of the default stylesheet
https://bugs.webkit.org/show_bug.cgi?id=139168

Reviewed by Antti Koivisto.

Source/WebCore:

The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
only the bits that do not change behaviors and have positive perf and readability impact.

I have limited :matches() to attributes for now. The idea is to only target
simple selectors that are not used for filtering by the collectors.
We should eventually clean up more cases, one thing at a time.

Tests: fast/css/map-tag-default-display.html

fast/selectors/map-tag-default-display.html

  • css/html.css:

(map): Deleted.
map was explicitely setting its display to inline. Remove that since it is the default.

(head): Deleted.
(meta): Deleted.
(title): Deleted.
(link): Deleted.
(style): Deleted.
(script): Deleted.
(div): Deleted.
(layer): Deleted.
(article, aside, footer, header, hgroup, main, nav, section): Deleted.
(address): Deleted.
(head, link, meta, script, style, title):
(address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
Group the standard blocks in a single rule.

(input:matches([type="hidden"], [type="image"], [type="file"])):
(input:matches([type="radio"], [type="checkbox"])):
(input:matches([type="button"], [type="submit"], [type="reset"])):
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
(input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
(input:matches([type="checkbox"], [type="radio"]):checked):
(input:matches([type="checkbox"], [type="radio"]):checked:disabled):
(select:matches([size], [multiple], [size][multiple])):
(select:matches([size="0"], [size="1"])):
(input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
(input[type="radio"], input[type="checkbox"]): Deleted.
(input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
(input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted.
(input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
(input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
(select[size][multiple]): Deleted.
(select[size="1"]): Deleted.
Group every selector lists that only differentiates complex selectors through attributes
into a simple complex selector with :matches().

LayoutTests:

Test the default display type of <map> since it is not longer explicitely set.

  • fast/css/map-tag-default-display-expected.html: Added.
  • fast/css/map-tag-default-display.html: Added.
  • fast/selectors/map-tag-default-display-expected.txt: Added.
  • fast/selectors/map-tag-default-display.html: Added.
8:17 PM Changeset in webkit [176710] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

New perf dashboard's chart UI is buggy
https://bugs.webkit.org/show_bug.cgi?id=139214

Reviewed by Chris Dumez.

The bugginess was caused by weird interactions between charts and panes. Rewrote the code to fix it.

Superfluous selectionChanged and domainChanged "event" actions were removed from the interactive chart
component. This is not how Ember.js components should interact to begin with. The component now exposes
selectedPoints and always updates selection instead of sharedSelection.

  • public/v2/app.js:

(App.ChartsController.present): Added. We can't call Date.now() in various points in our code as that
would lead to infinite mutual recursions since X-axis domain values wouldn't match up.
(App.ChartsController.updateSharedDomain): This function was completely useless. The overview's start
and end time should be completely determined by "since" and the present time.
(App.ChartsController._startTimeChanged): Ditto.
(App.ChartsController._scheduleQueryStringUpdate):
(App.ChartsController._updateQueryString): Set "zoom" only if it's different from the shared domain.

(App.domainsAreEqual): Moved from InteractiveChartComponent._xDomainsAreSame.

(App.PaneController.actions.createAnalysisTask): Use selectedPoints property set by the chart.
(App.PaneController.actions.overviewDomainChanged): Removed; only needed to call updateSharedDomain.
(App.PaneController.actions.rangeChanged): Removed. _showDetails (renamed to _updateDetails) directly
observes the changes to selectedPoints property as it gets updated by the main chart.
(App.PaneController._overviewSelectionChanged): This was previously a dead code. Now it's used again
with a bug fix. When the overview selection is cleared, we use the same domain in the main chart and
the overview chart.
(App.PaneController._sharedDomainChanged): Fixed a but that it erroneously updates the overview domain
when domain arrays aren't identical. This was causing a subtle race with other logic.
(App.PaneController._sharedZoomChanged): Ditto. Also don't set mainPlotDomain here as any changes to
overviewSelection will automatically propagate to the main plot's domain as they're aliased.
(App.PaneController._currentItemChanged): Merged into _updateDetails (renamed from _showDetails).
(App.PaneController._updateDetails): Previously, this function took points and inspected _hasRange to
see if those two points correspond to a range or a single data point. Rewrote all that logic by
directly observing selectedPoints and currentItem properties instead of taking points and relying on
an instance variable, which was a terrible API.
(App.PaneController._updateCanAnalyze): Use selectedPoints property. Since this property is only set
when the main plot has a selected range, we don't have to check this._hasRange anymore.

(App.InteractiveChartComponent._updateDomain): No longer sends domainChanged "event" action.
(App.InteractiveChartComponent._sharedSelectionChanged): Removed. This is a dead code.
(App.InteractiveChartComponent._updateSelection):
(App.InteractiveChartComponent._xDomainsAreSame): Moved to App.domainsAreEqual.
(App.InteractiveChartComponent._setCurrentSelection): Update the selection only if needed. Also set
selectedPoints property.

(App.AnalysisTaskController._fetchedRuns):
(App.AnalysisTaskController._rootChangedForTestSet):

  • public/v2/index.html:

Removed non-functional sharedSelection and superfluous selectionChanged and domainChanged actions.

8:14 PM Changeset in webkit [176709] by mark.lam@apple.com
  • 29 edits
    1 delete in trunk/Source

Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
https://bugs.webkit.org/show_bug.cgi?id=138821

Not reviewed.

Source/JavaScriptCore:

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::visitChildren):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitComplexPopScopes):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::mdNode):
(JSC::FTL::buildCall):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • parser/Parser.h:

(JSC::Scope::Scope):

  • runtime/JSArray.cpp:

(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):

  • tools/ProfileTreeNode.h:

(JSC::ProfileTreeNode::dumpInternal):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::deserializeString):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::isBadMatch):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::buildSelectionHighlight):

  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):

  • platform/graphics/WOFFFileFormat.cpp:

(WebCore::convertWOFFToSfnt):

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::Gradient::platformGradient):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::clearFrameBufferCache):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • svg/SVGFontElement.cpp:

(WebCore::kerningForPairOfStringsAndGlyphs):

  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::append):

  • xml/XPathNodeSet.h:

(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/IndexedIterator.h: Removed.
  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):

  • wtf/Vector.h:

(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

7:14 PM Changeset in webkit [176708] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix build break EFL port since r176696
https://bugs.webkit.org/show_bug.cgi?id=139215

Unreviewed, build fix for EFL port.

  • storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
6:57 PM Changeset in webkit [176707] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

Don't block menu highlighting when presenting a page preview
https://bugs.webkit.org/show_bug.cgi?id=139217

Reviewed by Tim Horton.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _previewURLFromActionMenu:]):
Defer popover presentation to the next turn of the runloop.

6:02 PM Changeset in webkit [176706] by jdiggs@igalia.com
  • 21 edits
    8 adds
    2 deletes in trunk

AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
https://bugs.webkit.org/show_bug.cgi?id=139005

Reviewed by Chris Fleizach.

Source/WebCore:

Expose table captions and rows via ATK. Accomplishing the former is done
by role mapping and inclusion of the object as a child of the table for
ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
platform code that had been forcing rows to be ignored. Because captions
are not being exposed on the Mac, they are now explicitly being ignored
for that platform.

Tests: accessibility/aria-table-hierarchy.html

accessibility/table-hierarchy.html

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetNChildren): Removed special handling for tables.
(webkitAccessibleRefChild): Removed special handling for tables.
(webkitAccessibleGetIndexInParent): Removed special handling for table cells.
(atkRole): Corrected broken mapping for RowRole.
(getNChildrenForTable): Deleted.
(getChildForTable): Deleted.
(getIndexInParentForCellInRow): Deleted.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

Add mapping for ATK_ROLE_CAPTION to roleToString

LayoutTests:

  • accessibility/aria-table-hierarchy.html: Added.
  • accessibility/roles-exposed.html: Removed comment pointing to this bug.
  • accessibility/table-hierarchy.html: Added.
  • platform/efl/accessibility/aria-table-hierarchy-expected.txt: Added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated to reflect new behavior.
  • platform/efl/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
  • platform/efl/accessibility/table-hierarchy-expected.txt: Added.
  • platform/efl/accessibility/table-roles-hierarchy-expected.txt: Added.
  • platform/efl/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/aria-table-hierarchy-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/aria-table-hierarchy.html: Removed (made into a shared test).
  • platform/gtk/accessibility/caret-offsets-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/caret-offsets.html: Modified to handle inclusion of rows.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/table-hierarchy-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/table-hierarchy.html: Removed (made into a shared test).
  • platform/gtk/accessibility/table-roles-hierarchy-expected.txt: Added.
  • platform/gtk/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/text-for-range-table-cells.html: Updated to reflect new behavior.
  • platform/mac/accessibility/aria-table-hierarchy-expected.txt: Added.
  • platform/mac/accessibility/table-hierarchy-expected.txt: Added.
6:01 PM Changeset in webkit [176705] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Fix IOS builds.

5:52 PM Changeset in webkit [176704] by weinig@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit

Remove empty directories

Reviewed by Anders Carlsson.

  • Source: Removed.
  • Source/WebKit: Removed.
  • Source/WebKit/mac: Removed.
  • Source/WebKit/mac/Resources: Removed.
5:44 PM Changeset in webkit [176703] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Fix the build.

  • UIProcess/mac/WebContextMac.mm:
  • WebCoreSupport/WebFrameLoaderClient.mm:
5:12 PM Changeset in webkit [176702] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.9

Tagging.

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

<rdar://problem/18441138> [iOS] Text selection in WKWebView with WKSelectionGranularityCharacter only works in the most recent WKWebView to load
https://bugs.webkit.org/show_bug.cgi?id=139211

Reviewed by Anders Carlsson.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView becomeFirstResponder]): Override to activate the text selection for when
becoming first resopnder.
(-[WKContentView resignFirstResponder]): Deactiavte the text selection when resigning first
responder. This ensures that if another WKWebView becomes first responder, and it uses
block selection, we don’t end up with two active selection views.
(-[WKContentView useSelectionAssistantWithMode:]): Only activate the text selection if this
is the first responder. This ensures that loading content into a non-first-responder
WKWebView doesn‘t deactivate the text selection in the current first responder.

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

Change CallFrame::globalThisValue() to not use CallFrame::scope()
https://bugs.webkit.org/show_bug.cgi?id=139202

Reviewed by Mark Lam.

Changed to use the globalThis() on the globalObject associated with the
callee. Moved the inline definition to JSGlobalObject.h instead of
including JSGlobalObject.h in JSScope.h. Also moved it as JSScope
objects are no longer involved in getting the value.

  • runtime/JSGlobalObject.h:

(JSC::ExecState::globalThisValue):

  • runtime/JSScope.h:

(JSC::ExecState::globalThisValue): Deleted.

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

Web Inspector: CSS Minification breaks some selectors with colons
https://bugs.webkit.org/show_bug.cgi?id=139206

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-02
Reviewed by Simon Fraser.

Do not remove spaces preceeding colons, as they may change the semantics
of selectors with colon prefixes (e.g. "a :not(b)").

At the same time, we can strip spaces around "!" characters, for example
a space is not required before "!important" priority.

  • Scripts/cssmin.py:

(cssminify):

4:33 PM Changeset in webkit [176698] by ap@apple.com
  • 14 edits in trunk

http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=139149

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
  • loader/appcache/ApplicationCache.h:
  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::deleteAllCaches): Added.

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
have this function called when there is no database file.

  • loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,

because WebKit style.

Source/WebKit/mac:

This changes API behavior. I think that it's OK, because existing behavior made no sense.
We used to delete caches from disk, but they were still active in memory. Now we also
obsolete them in memory, so documents that use a cache still work, but new ones don't
pick one up.

  • WebCoreSupport/WebApplicationCache.mm:

(+[WebApplicationCache setMaximumSize:]): Changing maximum on-disk size doesn't
need to delete in-momry caches too. Keep existing behavior.
(+[WebApplicationCache deleteAllApplicationCaches]): Use the new WebCore function
that properly deletes caches.

Source/WebKit2:

This changes API behavior. I think that it's OK, because existing behavior made no sense.
We used to delete caches from disk, but they were still active in memory. Now we also
obsolete them in memory, so documents that use a cache still work, but new ones don't
pick one up.

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::deleteAllEntries): Use the new WebCore function
that properly deletes caches.

Tools:

WebKit2 already cleared application caches between runs (although it wasn't entirely
effective without WebCore changes in this patch).

  • DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Clear applicaiton caches between runs.
  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Ditto (unfortunately, this

function is not implemented on Windows, see below).

  • DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::clearAllApplicationCaches):

Ameded a FIXME.

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

Remove a SnowLeopard-era quirk for QuickLook
https://bugs.webkit.org/show_bug.cgi?id=139208
<rdar://problem/19121822>

Reviewed by Alexey Proskuryakov.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::subresourceCachePolicy):

  • loader/FrameLoaderClient.h:
  • platform/mac/QuickLookMac.h: Removed.
  • platform/mac/QuickLookMac.mm: Removed.
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks): Deleted.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::needsQuickLookResourceCachingQuirks): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:30 PM Changeset in webkit [176696] by andersca@apple.com
  • 10 edits
    2 adds in trunk/Source/WebCore

Begin stubbing out a StorageNamespaceProvider class
https://bugs.webkit.org/show_bug.cgi?id=139203

Reviewed by Tim Horton.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::localStorage):
If the page has a storage namespace provider, get the local storage from it.

  • page/Page.cpp:

(WebCore::Page::Page):
Move the storage namespace provider from the configuration.

(WebCore::Page::setStorageNamespaceProvider):
Add a setter. This will be used by setGroupName.

  • page/Page.h:

(WebCore::Page::storageNamespaceProvider):
Add a getter.

  • page/PageConfiguration.cpp:
  • page/PageConfiguration.h:

Add a storage namespace provider member.

  • storage/StorageNamespaceProvider.cpp:

(WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
(WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
(WebCore::StorageNamespaceProvider::addPage):
(WebCore::StorageNamespaceProvider::removePage):
(WebCore::StorageNamespaceProvider::localStorageNamespace):
(WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):

  • storage/StorageNamespaceProvider.h:

Stub out a storage namespace provider class.

3:41 PM Changeset in webkit [176695] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Loading Lookup causes http/tests/cache/post-redirect-get.php to fail
https://bugs.webkit.org/show_bug.cgi?id=139204
<rdar://problem/19120929>

Reviewed by Anders Carlsson.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _showDictionaryLookupPopup:]):

  • WebView/WebViewData.h:

Work around this by delaying the softlinking (and setting up the notification
observer) until we actually need it. There's still an underlying bug, but
this will fix the test.

2:05 PM Changeset in webkit [176694] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

More build fixing.

  • platform/spi/mac/QuickLookMacSPI.h:
1:53 PM Changeset in webkit [176693] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Yet another build fix.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

1:47 PM Changeset in webkit [176692] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Another build fix.

  • platform/spi/mac/NSMenuSPI.h:
1:36 PM Changeset in webkit [176691] by Beth Dakin
  • 4 edits in trunk/Source

Build fix.

Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

Source/WebKit2:

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):

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

Source/WebKit/mac:
More build fixing.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

Source/WebKit2:
More build fix.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):

1:20 PM Changeset in webkit [176689] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • platform/spi/mac/QuickLookMacSPI.h:
1:12 PM Changeset in webkit [176688] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • platform/spi/mac/QuickLookMacSPI.h:
1:00 PM Changeset in webkit [176687] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

REGRESSION: Dragging selected text changes the selection
https://bugs.webkit.org/show_bug.cgi?id=139110

Reviewed by Simon Fraser.

After it sent the UI process the message to start dragging, the Web process handled mouse
move events that had already been in flight, interpreting them as a drag to start a new
selection. This is fixed by ignoring any mouse events received after asking the UI process
to start dragging.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setDragImage): Send the new DidStartDrag message back to the Web
process, so that it stops ignoring mouse events.

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::startDrag): Call the new WebPage::willStartDrag, so that it starts
ignoring mouse events.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialize new member variable.
(WebKit::WebPage::mouseEvent): Don’t handle the event if we have asked the UI process to
start dragging.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::willStartDrag): Added. Sets new member variable m_isStartingDrag to true.
(WebKit::WebPage::didStartDrag): Added. Handles the message from the UI process by setting
m_isStartingDrag back to false.

  • WebProcess/WebPage/WebPage.messages.in: Added DidStartDrag.
12:53 PM Changeset in webkit [176686] by andersca@apple.com
  • 5 edits in trunk/Source

Remove more Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=139189

Reviewed by Andreas Kling.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createNetworkingContext):

  • WebCoreSupport/WebFrameNetworkingContext.h:

(WebFrameNetworkingContext::create):
(WebFrameNetworkingContext::WebFrameNetworkingContext):
(WebFrameNetworkingContext::userAgent): Deleted.

12:50 PM Changeset in webkit [176685] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix typo introduced in r176673.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):

12:36 PM Changeset in webkit [176684] by Beth Dakin
  • 8 edits
    2 adds in trunk/Source

Should use standardQuickLookMenuItem for apps that don't implement customizations
https://bugs.webkit.org/show_bug.cgi?id=139193
-and corresponding-
rdar://problem/18944696

Reviewed by Anders Carlsson.

Source/WebCore:

New SPI headers.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/NSMenuSPI.h: Added.
  • platform/spi/mac/QuickLookMacSPI.h: Added.

Source/WebKit/mac:

Use [NSMenuItem standardQuickLookMenuItem].

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

Delegate methods to set up the standardQuickLookMenuItem.
(-[WebActionMenuController menuItem:viewAtScreenPoint:]):
(-[WebActionMenuController menuItem:previewItemAtPoint:]):
(-[WebActionMenuController menuItem:preferredEdgeForPoint:]):

Remove all of the old QLPreviewBubble code.
(-[WebActionMenuController _createActionMenuItemForTag:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]): Deleted.

Source/WebKit2:

New SPI will allow clients to opt-out of the standardQuickLookMenuItem. By
default, opt in.

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

(-[WKView _shouldUseStandardQuickLookPreview]):

  • UIProcess/mac/WKActionMenuController.mm:

Use [NSMenuItem standardQuickLookMenuItem] unless the client has requested
otherwise.
(-[WKActionMenuController _defaultMenuItemsForLink]):

Delegate methods to set up the standardQuickLookMenuItem.
(-[WKActionMenuController menuItem:viewAtScreenPoint:]):
(-[WKActionMenuController menuItem:previewItemAtPoint:]):
(-[WKActionMenuController menuItem:preferredEdgeForPoint:]):

12:30 PM Changeset in webkit [176683] by barraclough@apple.com
  • 20 edits
    3 adds
    2 deletes in trunk

Generalize PageActivityAssertionToken
https://bugs.webkit.org/show_bug.cgi?id=139106

Reviewed by Sam Weinig.

Source/WebCore:

PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
to count user visible activity in progress on the page (currently page load and media playback).
Use of an RAII type is prevents a number of possible errors, including double counting a single
media element, or failing to decrement the count after a media element has been deallocated.

The current implementation has a number of drawbacks that have been addressed by this refactoring:

  • specific to single use in PageThrottler class - not reusable.
  • incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation are not encapsulated (are in the client type, PageThrottler).
  • tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every increment requires an object allocation.
  • redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this is internally implemented using a reference counted type, resulting in two counters being incremented (one in the PageActivityAssertionToken, one in the PageThrottler).

In the reimplementation:

  • a callback is provided via a lambda function, which allows for easy reuse without a lot of boilerplate code.
  • the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the RefCounter type.
  • a single count within RefCounter::Count stores the counter value, and also manage the lifetime of this object.
  • standard RefPtrs are used to manage references to the RefCounter::Count.
  • WebCore.xcodeproj/project.pbxproj:
    • removed PageActivityAssertionToken.cpp/.h
  • html/HTMLMediaElement.cpp:
    • removed PageActivityAssertionToken.h
  • html/HTMLMediaElement.h:
    • std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
  • loader/FrameLoader.cpp:
    • removed PageActivityAssertionToken.h
  • loader/FrameLoader.h:
    • std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
  • loader/SubresourceLoader.cpp:
    • removed PageActivityAssertionToken.h
  • loader/SubresourceLoader.h:
    • removed class PageActivityAssertionToken
  • page/Page.cpp:
    • removed PageActivityAssertionToken.h

(WebCore::Page::Page):

  • removed Page* parameter to PageThrottler
  • page/Page.h:
    • removed class PageActivityAssertionToken
  • page/PageActivityAssertionToken.cpp: Removed.
  • page/PageActivityAssertionToken.h: Removed.
    • removed PageActivityAssertionToken.cpp/.h
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.

(WebCore::PageThrottler::mediaActivityToken):

  • std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>

(WebCore::PageThrottler::pageLoadActivityToken):

  • std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>

(WebCore::PageThrottler::pageActivityCounterValueDidChange):

  • merged functionality of incrementActivityCount/decrementActivityCount

(WebCore::PageThrottler::incrementActivityCount): Deleted.

  • see pageActivityCounterValueDidChange

(WebCore::PageThrottler::decrementActivityCount): Deleted.

  • see pageActivityCounterValueDidChange
  • page/PageThrottler.h:

(WebCore::PageThrottler::weakPtr): Deleted.

  • no longer required; this functionality is now encapsulated within RefCounter.

Source/WTF:

PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
to count user visible activity in progress on the page (currently page load and media playback).
Use of an RAII type is prevents a number of possible errors, including double counting a single
media element, or failing to decrement the count after a media element has been deallocated.

The current implementation has a number of drawbacks that have been addressed by this refactoring:

  • specific to single use in PageThrottler class - not reusable.
  • incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation are not encapsulated (are in the client type, PageThrottler).
  • tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every increment requires an object allocation.
  • redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this is internally implemented using a reference counted type, resulting in two counters being incremented (one in the PageActivityAssertionToken, one in the PageThrottler).

In the reimplementation:

  • a callback is provided via a lambda function, which allows for easy reuse without a lot of boilerplate code.
  • the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the RefCounter type.
  • a single count within RefCounter::Count stores the counter value, and also manage the lifetime of this object.
  • standard RefPtrs are used to manage references to the RefCounter::Count.
  • WTF.xcodeproj/project.pbxproj:
    • added RefCounter.cpp/.h
  • wtf/RefCounter.cpp: Added.

(WTF::RefCounter::Count::ref):

  • increment the counter.

(WTF::RefCounter::Count::deref):

  • decrement the counter, and delete as necessary.

(WTF::RefCounter::RefCounter):

  • create a RefCounter::Count.

(WTF::RefCounter::~RefCounter):

  • eagerly delete the Counter if it has no references, otherwise let it be deleted on last deref.
  • wtf/RefCounter.h: Added.

(WTF::RefCounter::Count::Count):

  • initialize count to 0.

(WTF::RefCounter::RefCounter):

  • takes a lambda to be called when the value changes.

(WTF::RefCounter::count):

  • reference the counter (and in doing so increment the count).

(WTF::RefCounter::value):

  • access the current value of the counter.

Tools:

Add an API test for WTF::RefCounter.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/RefCounter.cpp: Added.

(TestWebKitAPI::TEST):

  • added RefCounter test.
11:49 AM Changeset in webkit [176682] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Always show the arrow for text selection services
https://bugs.webkit.org/show_bug.cgi?id=139191
<rdar://problem/18903995>

Reviewed by Anders Carlsson.

  • platform/spi/mac/DataDetectorsSPI.h:
  • page/mac/ServicesOverlayController.mm:

Move a few things to DataDetectorsSPI.h.

(WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
(WebCore::ServicesOverlayController::buildSelectionHighlight):
Make use of the real DDHighlightStyle names.
Add DDHighlightStyleButtonShowAlways for selection services.

11:40 AM Changeset in webkit [176681] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the build.

  • WebView/WebViewData.h:
11:38 AM Changeset in webkit [176680] by timothy_horton@apple.com
  • 7 edits
    1 add in trunk/Source/WebKit

Implement Lookup transition from selection for Legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=139180
<rdar://problem/19067172>

Reviewed by Beth Dakin.

  • WebView/DictionaryPopupInfo.h: Added.

Split DictionaryPopupInfo out into its own file.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _lookupText:]):
Hand the DictionaryPopupInfo to WebView, which will show the TextIndicator and invoke Lookup.

(performDictionaryLookupForSelection):
(performDictionaryLookupForRange):
Plumb the transition style through these helpers.
Create a TextIndicator from the selection range.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
Make use of TextIndicator (and DictionaryPopupInfo, and the new
_showDictionaryLookupPopup on WebView) to add a transition from blue
when performing Lookup from the context menu.

(-[WebHTMLView quickLookWithEvent:]):
Remove our TextIndicator whenever a normal three-finger-tap event
comes through, as it will have its own indication.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
Register for the LUNotificationPopoverWillClose notification and remove
our TextIndicator when it is called, just like in WebKit2.
Deregistration is already handled in _close.

(-[WebView _showDictionaryLookupPopup:]):
Just like WebKit2, show our TextIndicator and tell Lookup not to show its own,
if the relevant API is available.

  • WebView/WebViewInternal.h:
  • WebKit.xcodeproj/project.pbxproj:

Add mac/WebView/DictionaryPopupInfo.h.

11:37 AM Changeset in webkit [176679] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176474. rdar://problems/19063717

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

TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClose when we should)
https://bugs.webkit.org/show_bug.cgi?id=139175
<rdar://problem/19072236>

Reviewed by Beth Dakin.

  • UIProcess/API/mac/WKView.mm:

(-[WKView scrollWheel:]):
(-[WKView mouseDown:]):
Work around <rdar://problem/19086993> by always explicitly clearing the
active text indicator in mouseDown: and scrollWheel:.
This way, even if you manage to get a text indicator that outlives the
Look Up popover (or find-in-page, or whatever), it will be dismissed
by clicking or scrolling the view.

11:30 AM Changeset in webkit [176677] by ap@apple.com
  • 13 edits in trunk/Tools

[Mac, iOS] Crash log application information contains latest main frame URL instead of test URL
https://bugs.webkit.org/show_bug.cgi?id=139174

Reviewed by Simon Fraser.

  • DumpRenderTree/TestRunner.cpp:
  • DumpRenderTree/TestRunner.h:

Renamed testPathOrURL to testURL, because this variable always contains a URL.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(sizeWebViewForCurrentTest): Updated for testPathOrURL renaming.
(testPathFromURL): Moved from FrameLoadDelegate.mm.
(runTest): Set crash reporter information here, as we know the exact test URL.

  • DumpRenderTree/mac/FrameLoadDelegate.mm:

(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): Don't set crash
reporter information here.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:
  • DumpRenderTree/mac/TestRunnerMac.mm:

Updated for testPathOrURL renaming.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): WebProcess doesn't know
test URL until load starts, so save it into TestRunner now. A new TestRunner object
is created for each test.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::testURL):
(WTR::TestRunner::setTestURL):
Make TestRunner know the test name. For now, it's good enough to have it once load
starts, but if we ever need it earlier, we can send it with BeginTest message.

  • WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:

(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame):
Use test URL, not currently loading URL for CrashReporter.

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL): Added a space after colon
(WebKit1 already had it right).

  • DumpRenderTree/win/DumpRenderTree.cpp:

(sizeWebViewForCurrentTest):
(runTest):

  • DumpRenderTree/win/ResourceLoadDelegate.cpp:

(ResourceLoadDelegate::willSendRequest):
Changed Windows DumpRenderTree to also use URL in TestRunner.

11:27 AM Changeset in webkit [176676] by mmirman@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Fixes inline cache fast path accessing nonexistant getters.
<rdar://problem/18416918>
https://bugs.webkit.org/show_bug.cgi?id=136961

Reviewed by Filip Pizlo.

Fixes a bug in inline caching where getters would have been able to
modify the property they are getting during
building the inline cache and then accessing that
property through the inline cache site causing a recursive
inline cache building and allowing the fast path of the cache to
try to load a getter for the property that no longer exists.

  • jit/JITOperations.cpp: Switched use of get to getPropertySlot.
  • runtime/JSCJSValue.h:

added getPropertySlot for when you don't want to perform the get quite yet but want
to fill out the slot.

  • runtime/JSCJSValueInlines.h: Added implementation for getPropertySlot

(JSC::JSValue::get): changed to simply call getPropertySlot
(JSC::JSValue::getPropertySlot): added.

  • tests/stress/recursive_property_redefine_during_inline_caching.js: Added test case for bug.

(test):

11:26 AM Changeset in webkit [176675] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS build.

  • WebCore.exp.in:
11:15 AM Changeset in webkit [176674] by Chris Dumez
  • 4 edits
    2 adds in trunk

Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=139162

Reviewed by Darin Adler.

Source/WebCore:

Add support for calculated values in 'flex' CSS property.
Previously, those did not work in release builds, and were hitting
an assertion in debug builds.

Test: fast/css/flex-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::validCalculationUnit):
Do not call RefPtr::release() as we are not interested in the return
value. Assign nullptr to the member instead.

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
(WebCore::CSSParser::parseFontWeight):
(WebCore::CSSParser::parsedDouble):
(WebCore::CSSParser::colorIntFromValue):
(WebCore::CSSParser::parseColorParameters):
(WebCore::CSSParser::parseHSLParameters):
(WebCore::CSSParser::parseFlex):

  • css/CSSParser.h:

LayoutTests:

Add layout test for calculated value support for 'flex' CSS property.

  • fast/css/flex-calculated-value-expected.txt: Added.
  • fast/css/flex-calculated-value.html: Added.
11:04 AM Changeset in webkit [176673] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Fix logging typo
https://bugs.webkit.org/show_bug.cgi?id=139182

Reviewed by Alexey Proskuryakov.

No new tests, only logging code is changed.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.

11:02 AM Changeset in webkit [176672] by andersca@apple.com
  • 3 edits
    11 deletes in trunk/Source/WebCore

Get rid of the WinINet based network implementation
https://bugs.webkit.org/show_bug.cgi?id=139187

Reviewed by Andreas Kling.

This code was only used by the Windows CE port. Now it's unused.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/win/AuthenticationChallenge.h: Removed.
  • platform/network/win/CookieJarWin.cpp: Removed.
  • platform/network/win/CredentialStorageWin.cpp: Removed.
  • platform/network/win/ProxyServerWin.cpp: Removed.
  • platform/network/win/ResourceError.h: Removed.
  • platform/network/win/ResourceHandleWin.cpp: Removed.
  • platform/network/win/ResourceRequest.h: Removed.
  • platform/network/win/ResourceResponse.h: Removed.
  • platform/network/win/SocketStreamError.h: Removed.
  • platform/network/win/SocketStreamHandle.h: Removed.
  • platform/network/win/SocketStreamHandleWin.cpp: Removed.
10:53 AM Changeset in webkit [176671] by Chris Dumez
  • 3 edits
    4 adds in trunk

Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=139170

Reviewed by Darin Adler.

Source/WebCore:

Add support for calculated values for 'column-span' and 'column-width'
CSS properties. Previously, these were not working in release builds
and hitting assertions in debug builds.

Tests: fast/css/column-width-calculated-value.html

fast/css/webkit-column-span-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

LayoutTests:

Add layout tests to test calculated values for 'column-span'
and 'column-width' CSS properties.

  • fast/css/column-width-calculated-value-expected.txt: Added.
  • fast/css/column-width-calculated-value.html: Added.
  • fast/css/webkit-column-span-calculated-value-expected.txt: Added.
  • fast/css/webkit-column-span-calculated-value.html: Added.
10:12 AM Changeset in webkit [176670] by andersca@apple.com
  • 26 edits
    2 deletes in trunk/Source

Remove visited link handling from PageGroup
https://bugs.webkit.org/show_bug.cgi?id=139185

Reviewed by Sam Weinig.

Source/WebCore:

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/HistoryController.cpp:
  • page/Chrome.cpp:

(WebCore::ChromeClient::populateVisitedLinks): Deleted.

  • page/ChromeClient.h:
  • page/DefaultVisitedLinkStore.cpp: Removed.
  • page/DefaultVisitedLinkStore.h: Removed.
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::visitedLinkStore):
(WebCore::Page::setVisitedLinkStore):
(WebCore::Page::removeAllVisitedLinks): Deleted.

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

(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::visitedLinkStore): Deleted.
(WebCore::PageGroup::isLinkVisited): Deleted.
(WebCore::PageGroup::addVisitedLinkHash): Deleted.
(WebCore::PageGroup::addVisitedLink): Deleted.
(WebCore::PageGroup::removeVisitedLink): Deleted.
(WebCore::PageGroup::removeVisitedLinks): Deleted.
(WebCore::PageGroup::removeAllVisitedLinks): Deleted.
(WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.

  • page/PageGroup.h:

Source/WebKit/mac:

  • History/WebHistory.mm:

(-[WebHistoryPrivate removeItemForURLString:]):
(-[WebHistoryPrivate removeAllItems]):
(+[WebHistory setOptionalSharedHistory:]):
(+[WebHistory _setVisitedLinkTrackingEnabled:]):
(+[WebHistory _removeAllVisitedLinks]):
(-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Deleted.
(-[WebHistory _addVisitedLinksToPageGroup:]): Deleted.

  • History/WebHistoryInternal.h:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::populateVisitedLinks): Deleted.

  • WebView/WebView.mm:

(-[WebView addVisitedLinks:]):
(-[WebView removeVisitedLink:]):

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::populateVisitedLinks): Deleted.

  • WebCoreSupport/WebChromeClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::populateVisitedLinks): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
10:04 AM Changeset in webkit [176669] by dbates@webkit.org
  • 5 edits in trunk/Tools

[iOS] run-webkit-tests records most DumpRenderTree.app crashes as time-outs
https://bugs.webkit.org/show_bug.cgi?id=139143

Reviewed by David Kilzer.

Similar to the Windows-specific fix in <https://bugs.webkit.org/show_bug.cgi?id=37859>,
teach DumpRenderTree for iOS to write "#CRASHED" to the standard error stream when it
crashes. Run-webkit-tests will record as crashing the test associated with the
DumpRenderTree instance that wrote that string.

Currently almost all of the DumpRenderTree.app crashes are recorded by run-
webkit-tests as a time-out because ReportCrash(8) delays delivery of the
process exit notification for DumpRenderTree.app to LayoutTestRelay, which
launched DumpRenderTree.app, past the time-out time limit. Notice LayoutTestRelay
was launched by run-webkit-tests. So, run-webkit-tests kills LayoutTestRelay
(since it exceeded the time-out time limit) before it can inform rub-webkit-tests
about a crash.

Additionally, update the crash message format written to standard error when LayoutTestRelay
detects that {WebKitTestRunner, DumpRenderTree}.app crashed so as to be similar to the
crash message format used by WebKitTestRunner when it detects that the WebProcess crashed.
Then run-webkit-tests will collect the crash logs for {WebKitTestRunner, DumpRenderTree}.app
when they crash in their test machinery logic/UI process code.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(writeCrashedMessageOnFatalError): Added.
(dumpRenderTree): Register signal handler, writeCrashedMessageOnFatalError(), for signals:
SIGILL, SIGFPE, SIGBUS and SIGSEGV.

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController didCrashWithMessage:]): Emit a crash message with a format
similar to the format used by WebKitTestRunner so that run-webkit-tests will collect
the crash logs for WebKitTestRunner/DumpRenderTree.app.

  • Scripts/webkitpy/port/driver.py:

(Driver.init): Update comment.
(Driver._check_for_driver_crash): Ditto.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort): Add class constant SUBPROCESS_CRASH_REGEX, which represents a compiled
regular expression. This constant is used as an optimization to avoid compiling the same
regular expression across invocations of _get_crash_log().
(IOSSimulatorPort._get_crash_log): Modified to parse the WebKitTestRunner-like crash message
for the subprocess name and pid. Also, moved variables crash_log, crash_logs, and now to be
closer to where they are used.

9:59 AM Changeset in webkit [176668] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Use references instead of pointers in EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=137918

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-12-02
Reviewed by Darin Adler.

  • editing/EditingStyle.cpp:

(WebCore::extractPropertyValue):
(WebCore::identifierForStyleProperty):
(WebCore::textColorFromStyle):
(WebCore::backgroundColorFromStyle):
(WebCore::textAlignResolvingStartAndEnd):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::StyleChange::StyleChange):
(WebCore::setTextDecorationProperty):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
(WebCore::fontWeightIsBold):
(WebCore::extractPropertiesNotIn):
(WebCore::getPropertiesNotIn):

  • editing/EditingStyle.h:
9:33 AM Changeset in webkit [176667] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176617. rdar://problems/19107247

9:33 AM Changeset in webkit [176666] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176613. rdar://problems/19108805

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

Build fix.

9:07 AM Changeset in webkit [176664] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Media Source sending seek event fails.
https://bugs.webkit.org/show_bug.cgi?id=139181

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-02
Reviewed by Philippe Normand.

There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.

No new tests needed.

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:

(webkit_media_src_init):

8:57 AM Changeset in webkit [176663] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r176618. rdar://problem/18992185

8:57 AM Changeset in webkit [176662] by dburkart@apple.com
  • 8 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176608. rdar://problem/18992185

8:57 AM Changeset in webkit [176661] by dburkart@apple.com
  • 15 edits in branches/safari-600.3-branch/Source

Merged r176599. rdar://problem/18992185

8:56 AM Changeset in webkit [176660] by dburkart@apple.com
  • 32 edits
    4 moves in branches/safari-600.3-branch/Source

Merged r176462. rdar://problem/18992185

8:44 AM Changeset in webkit [176659] by andersca@apple.com
  • 8 edits in trunk

Remove WKBundleRemoveAllVisitedLinks
https://bugs.webkit.org/show_bug.cgi?id=139163

Reviewed by Sam Weinig.

Source/WebKit2:

WKBundleRemoveAllVisitedLinks has been a no-op since at least Yosemite; get rid of it.

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

(WKBundleRemoveAllVisitedLinks): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::removeAllVisitedLinks): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:

Tools:

Remove the call to WKBundleRemoveAllVisitedLinks and add a FIXME instead.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):

8:43 AM Changeset in webkit [176658] by andersca@apple.com
  • 2 edits in trunk/Tools

Fix Windows build.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(setAlwaysAcceptCookies):

8:42 AM Changeset in webkit [176657] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'font-family' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139172

Reviewed by Antti Koivisto.

Move 'font-family' CSS property to the new StyleBuilder by using
custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
(WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
(WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
(WebCore::ApplyPropertyFontFamily::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialFontFamily):
(WebCore::StyleBuilderCustom::applyInheritFontFamily):
(WebCore::StyleBuilderCustom::applyValueFontFamily):

8:38 AM Changeset in webkit [176656] by dburkart@apple.com
  • 1 edit in branches/safari-600.3-branch/Tools/TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp

Build fix. rdar://problem/19052564

8:05 AM Changeset in webkit [176655] by dburkart@apple.com
  • 6 edits
    2 adds in branches/safari-600.3-branch

Merged r176574. rdar://problems/19052564

7:57 AM Changeset in webkit [176654] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176570. rdar://problems/19075587

7:57 AM Changeset in webkit [176653] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176569. rdar://problems/19086676

7:57 AM Changeset in webkit [176652] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176511. rdar://problems/19070840

7:43 AM Changeset in webkit [176651] by dburkart@apple.com
  • 30 edits
    2 copies
    4 adds in branches/safari-600.3-branch/Source

Merged r176499. rdar://problem/19103641

7:15 AM Changeset in webkit [176650] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176486. rdar://problems/19056442

7:15 AM Changeset in webkit [176649] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176485. rdar://problems/19061959

7:15 AM Changeset in webkit [176648] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176483. rdar://problems/19064523

7:15 AM Changeset in webkit [176647] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176480. rdar://problems/19056442

7:09 AM Changeset in webkit [176646] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176477. rdar://problems/19056715

7:08 AM Changeset in webkit [176645] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176463. rdar://problems/19056715

6:58 AM Changeset in webkit [176644] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176460. rdar://problems/19059946

6:55 AM Changeset in webkit [176643] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176430. rdar://problems/18904651

6:55 AM Changeset in webkit [176642] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176429. rdar://problems/18904651

6:54 AM Changeset in webkit [176641] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176428. rdar://problems/19052196

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

Merge r176427. rdar://problem/19051534

6:42 AM Changeset in webkit [176639] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176418. rdar://problems/19042323

6:35 AM Changeset in webkit [176638] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r176417. rdar://problem/19021183

6:33 AM Changeset in webkit [176637] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[EFL] Remove edbus dependency from jhbuild
https://bugs.webkit.org/show_bug.cgi?id=139130

Reviewed by Gyuyoung Kim.

After http://trac.webkit.org/changeset/176555 we
don't need it anymore.

  • efl/jhbuild.modules:
6:22 AM Changeset in webkit [176636] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r176415. rdar://problem/18950441

6:14 AM Changeset in webkit [176635] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176414. rdar://problem/19042207

6:03 AM Changeset in webkit [176634] by dburkart@apple.com
  • 8 edits in branches/safari-600.3-branch/Source

Merge r176412. rdar://problem/18904600

5:33 AM Changeset in webkit [176633] by Csaba Osztrogonác
  • 2 edits in trunk/Source

Typo fix after r176632. Revert accidental change of executable bit of ChangeLog files.

4:54 AM Changeset in webkit [176632] by evab.u-szeged@partner.samsung.com
  • 5 edits in trunk/Source

Fix class was previously declared as a struct warnings
https://bugs.webkit.org/show_bug.cgi?id=139131

Reviewed by Csaba Osztrogonác.

Source/WebCore:

No new tests needed.

  • platform/graphics/texmap/TextureMapperGL.h:

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/CoordinatedGraphics/WebViewClient.h:
3:23 AM Changeset in webkit [176631] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebKit2

[EFL] ewk_view_scale_set() doesn't work correctly
https://bugs.webkit.org/show_bug.cgi?id=139109

Reviewed by Csaba Osztrogonác.

When ewk_view_scale_set() is called, it has only updated a scale factor which is maintained by WebPageProxy.
It causes WebPageProxy unsynchronized with PageViewportController's scale factor. That's why wrong scale
behavior has occured through ewk_view_scale_set(). Besides zooming has similar problem as well.

Thus this patch updates m_pageScaleFactor of PageViewportController as well as prohibits to change the scale
factor through viewport meta tag update. Because ewk_view_scale_set() means that user wants to set a specific
value to scale factor of current viewport.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateScaleToPageViewportController):

Set m_initiallyFitToViewport to false. And call didChangeContentsVisibility() with new scale and scale position.

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

(ewk_view_scale_set):

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

(TEST_F):

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::didCommitLoad):

Set m_initiallyFitToViewport to true in order to fit content to viewport size by default.
Initizlize content position with (0, 0).

(WebKit::PageViewportController::pageTransitionViewportReady):

Do not update scale when m_initiallyFitToViewport is false.

(WebKit::PageViewportController::syncVisibleContents):

Return false when syncVisibleContents is failed.

(WebKit::PageViewportController::didChangeViewportAttributes):

Do not update scale when m_initiallyFitToViewport is false.

(WebKit::PageViewportController::applyScaleAfterRenderingContents):

If syncVisibleContents() is failed, m_pageScaleFactor should be restored with previous value.
If not, new scale factor isn't applied though, PageViewportController uses it as own scale factor.

(WebKit::PageViewportController::updateMinimumScaleToFit):

Do not update scale when m_initiallyFitToViewport is false or m_hadUserInteraction is true.

  • UIProcess/CoordinatedGraphics/PageViewportController.h:

(WebKit::PageViewportController::setInitiallyFitToViewport):

2:50 AM Changeset in webkit [176630] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Source/WebCore:
Missing support for innerHTML on SVGElement
https://bugs.webkit.org/show_bug.cgi?id=136903

Patch by Sylvain Galineau <galineau@adobe.com> on 2014-12-02
Reviewed by Dean Jackson.

Two parts to this patch:

  1. Move innerHTML/outerHTML to Element so SVG elements can inherit them, per https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#innerhtml
  2. Make sure fragment insertion is processed relative to the proper node, per http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node

The latter part was ported over from Blink.

Test: svg/in-html/svg-inner-html.html

  • bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
  • dom/Element.cpp:

(WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
(WebCore::Element::innerHTML): Moved from HTMLElement.
(WebCore::Element::outerHTML): Moved from HTMLElement.
(WebCore::Element::setOuterHTML): Moved from HTMLElement.
(WebCore::Element::setInnerHTML): Moved from HTMLElement.

  • dom/Element.h:
  • dom/Element.idl:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::innerHTML): Deleted.
(WebCore::HTMLElement::outerHTML): Deleted.
(WebCore::HTMLElement::setInnerHTML): Deleted.
(WebCore::mergeWithNextTextNode): Deleted.
(WebCore::HTMLElement::setOuterHTML): Deleted.

  • html/HTMLElement.h:
  • html/HTMLElement.idl:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
(WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.

LayoutTests:

Missing support for innerHTML on SVGElement
https://bugs.webkit.org/show_bug.cgi?id=136903

Patch by Sylvain Galineau <galineau@adobe.com> on 2014-12-02
Reviewed by Dean Jackson.

  • js/dom/dom-static-property-for-in-iteration-expected.txt: The property enumeration order is different now that inner/outerHTML are inherited from Element
  • platform/mac/svg/in-html/svg-inner-html-expected.png: Added.
  • svg/css/svg-attribute-length-parsing-expected.txt:

Now that innerHTML works, the output should start with 'Test'

  • svg/in-html/svg-inner-html-expected.txt: Added.
  • svg/in-html/svg-inner-html.html: Added.
2:36 AM Changeset in webkit [176629] by Philippe Normand
  • 2 edits in trunk/Tools

[jhbuild] wrong Dependencies path
https://bugs.webkit.org/show_bug.cgi?id=139176

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/base.py:

(Port._should_use_jhbuild):

1:47 AM Changeset in webkit [176628] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

REGRESSION(r176122): [GTK] Layout Test platform/gtk/accessibility/table-hierarchy.html fails.
https://bugs.webkit.org/show_bug.cgi?id=139125

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-12-02
Reviewed by Chris Fleizach.

Update test and expectation to fix regression.

  • platform/gtk/accessibility/table-hierarchy-expected.txt:
  • platform/gtk/accessibility/table-hierarchy.html:
12:12 AM Changeset in webkit [176627] by Philippe Normand
  • 2 edits
    3 deletes in trunk/Tools

[GStreamer] Bump internal jhbuild versions to 1.4.4
https://bugs.webkit.org/show_bug.cgi?id=138866

Reviewed by Carlos Garcia Campos.

  • gtk/jhbuild.modules:
  • gtk/patches/gst-events-arent-gstobjects.patch: Removed.
  • gtk/patches/gst-plugins-base-fix-build-gcc-4.9-x86.patch: Removed.
  • gtk/patches/gst-prevent-neon-check-in-configure-from-passing-under-aarch64.patch: Removed.

Dec 1, 2014:

8:28 PM Changeset in webkit [176626] by jpfau@apple.com
  • 5 edits in trunk/Source

Add cancelable version of willSendRequest
https://bugs.webkit.org/show_bug.cgi?id=138987

Reviewed by Anders Carlsson.

Source/WebCore:

Covered by existing tests.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest):

  • loader/ResourceLoader.h:

Source/WebKit2:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):

8:09 PM Changeset in webkit [176625] by msaboff@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Remove GetMyScope node from DFG
https://bugs.webkit.org/show_bug.cgi?id=139166

Reviewed by Oliver Hunt.

Eliminated GetMyScope DFG node type.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyScope): Deleted.

6:50 PM Changeset in webkit [176624] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Crash (integer overflow) beneath ByteCodeParser::handleGetById typing in search field on weather.com
https://bugs.webkit.org/show_bug.cgi?id=139165

Reviewed by Oliver Hunt.

If we don't have any getById or putById variants, emit non-cached versions of these operations.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):

6:29 PM Changeset in webkit [176623] by benjamin@webkit.org
  • 6 edits
    16 adds in trunk

Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
https://bugs.webkit.org/show_bug.cgi?id=139001

Reviewed by Andreas Kling.

Source/WebCore:

When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
we were previously ignoring the arguments.

That behavior seems to be confusing for users. We made the proposal to include the selector list
like when using :matches():

http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html

David Baron also agrees with this behavior:

http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html

This patch adds the specificity computation.

Tests: fast/css/nth-child-specificity-1.html

fast/css/nth-child-specificity-2.html
fast/css/nth-last-child-specificity-1.html
fast/css/nth-last-child-specificity-2.html

  • css/CSSSelector.cpp:

(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):

  • css/SelectorChecker.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

  • fast/css/nth-child-specificity-1-expected.html: Added.
  • fast/css/nth-child-specificity-1.html: Added.
  • fast/css/nth-child-specificity-2-expected.html: Added.
  • fast/css/nth-child-specificity-2.html: Added.
  • fast/css/nth-child-specificity-3-expected.html: Added.
  • fast/css/nth-child-specificity-3.html: Added.
  • fast/css/nth-child-specificity-4-expected.html: Added.
  • fast/css/nth-child-specificity-4.html: Added.
  • fast/css/nth-last-child-specificity-1-expected.html: Added.
  • fast/css/nth-last-child-specificity-1.html: Added.
  • fast/css/nth-last-child-specificity-2-expected.html: Added.
  • fast/css/nth-last-child-specificity-2.html: Added.
  • fast/css/nth-last-child-specificity-3-expected.html: Added.
  • fast/css/nth-last-child-specificity-3.html: Added.
  • fast/css/nth-last-child-specificity-4-expected.html: Added.
  • fast/css/nth-last-child-specificity-4.html: Added.
6:21 PM Changeset in webkit [176622] by akling@apple.com
  • 6 edits in trunk/Source

Optimize constructing JSC::Identifier from AtomicString.
<https://webkit.org/b/139157>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add constructors for Identifier taking AtomicString and AtomicStringImpl.
This avoids branching on the string's isAtomic flag, which is obviously
always true for AtomicString & AtomicStringImpl.

Had to add a Identifier(const char*) constructor to resolve implicit
ambiguity between String / AtomicString.

Also made PrivateName::uid() return AtomicStringImpl* to take advantage
of the new constructor in a few places.

  • runtime/Identifier.h:

(JSC::Identifier::Identifier):

  • runtime/IdentifierInlines.h:

(JSC::Identifier::Identifier):

  • runtime/PrivateName.h:

(JSC::PrivateName::uid):

Source/WTF:

Make AtomicString::isInAtomicStringTable() public so it can be used
in some Identifier assertions.

  • wtf/text/AtomicString.h:
6:16 PM Changeset in webkit [176621] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138938

Reviewed by Sam Weinig.

Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
from StyleResolver to the new StyleBuilder by using custom code.

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
(WebCore::StyleBuilderCustom::applyInitialTextShadow):
(WebCore::StyleBuilderCustom::applyInheritTextShadow):
(WebCore::StyleBuilderCustom::applyValueTextShadow):
(WebCore::StyleBuilderCustom::applyInitialBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritBoxShadow):
(WebCore::StyleBuilderCustom::applyValueBoxShadow):
(WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

6:02 PM Changeset in webkit [176620] by gyuyoung.kim@samsung.com
  • 6 edits in trunk

[EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
https://bugs.webkit.org/show_bug.cgi?id=139085

Reviewed by Andreas Kling.

.:

  • Source/cmake/OptionsEfl.cmake: Add ENABLE_CSS_SCROLL_SNAP.
  • Source/cmake/WebKitFeatures.cmake: ditto.
  • Source/cmakeconfig.h.cmake: ditto.

Source/WebCore:

  • PlatformEfl.cmake:

Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.

5:59 PM Changeset in webkit [176619] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Twitter avatar moves when hovering/unhovering the "follow" button.
https://bugs.webkit.org/show_bug.cgi?id=139147
rdar://problem/19096508

Reviewed by Simon Fraser.

This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
get repositioned when their inline box wrappers move.
Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
they are still part of the inline box tree.
This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().

Source/WebCore:

Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::adjustPosition):

LayoutTests:

  • fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html: Added.
  • fast/inline/out-of-flow-positioned-render-replaced-box-moves.html: Added.
5:49 PM Changeset in webkit [176618] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Try to fix the Mac build.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _close]):

5:29 PM Changeset in webkit [176617] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
https://bugs.webkit.org/show_bug.cgi?id=139164
<rdar://problem/19107247>

Reviewed by Beth Dakin.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
Null-check the ImageBuffer in addition to the Image.

5:16 PM Changeset in webkit [176616] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Fix non-mac builds.

  • wtf/IndexedIterator.h:
5:12 PM Changeset in webkit [176615] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] Unskip LayoutTests/dom tests

  • platform/ios-simulator/TestExpectations:
4:55 PM Changeset in webkit [176614] by andersca@apple.com
  • 13 edits
    5 deletes in trunk/Source

Remove IWebCookieManager on Windows
https://bugs.webkit.org/show_bug.cgi?id=139144

Reviewed by Sam Weinig.

Source/WebCore:

Remove code that handles overriding the cookie storage.

  • platform/network/NetworkStorageSession.h:
  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::cookieStorageOverride): Deleted.
(WebCore::overrideCookieStorage): Deleted.
(WebCore::overridenCookieStorage): Deleted.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

Source/WebKit:

Remove files.

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

Source/WebKit/win:

Remove WebCookieManager.

  • ForEachCoClass.h:
  • Interfaces/IWebCookieManager.idl: Removed.
  • Interfaces/WebKit.idl:
  • WebCookieManager.cpp: Removed.
  • WebCookieManager.h: Removed.
  • WebCookieManagerCFNet.cpp: Removed.
  • WebCookieManagerCurl.cpp: Removed.
  • WebKitClassFactory.cpp:
4:49 PM Changeset in webkit [176613] by Conrad Shultz
  • 5 edits in trunk/Source/WebKit2

Clients need a way to explicitly set the title of a page preview
https://bugs.webkit.org/show_bug.cgi?id=139161

Reviewed by Beth Dakin.

This implicitly assumes that only one page preview can be associate with a given WKView at a time.

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

(-[WKView _setPreviewTitle:]):
Wrap -[WKActionMenuController setPreviewTitle:]

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

Add ivars for the title and the title text field (previously not independently exposed).
(-[WKPagePreviewViewController previewTitle]):
Accessor.
(-[WKPagePreviewViewController setPreviewTitle:]):
Accessor; set the text field's string value.
(-[WKPagePreviewViewController loadView]):
Adopt the _titleTextField ivar; assume that if a client has explicitly set the previewTitle then we don't
need to ask for it again.
(-[WKActionMenuController setPreviewTitle:]):
Wrap -[WKPagePreviewViewController setPreviewTitle:].

4:18 PM Changeset in webkit [176612] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS Media] Slider knob should not have a border
https://bugs.webkit.org/show_bug.cgi?id=139160
<rdar://problem/19075185>

Reviewed by Jer Noble.

The change in r175715 required adding !important to a bunch
of rules for pseudo elements. The border width of slider knobs
for media controls should be zero, so add an !important there.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
border to border-width and force it to zero.

4:10 PM Changeset in webkit [176611] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make WebKit2 work slightly better with garbage collection
https://bugs.webkit.org/show_bug.cgi?id=139159
<rdar://problem/19108390>

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::ref):
(API::Object::deref):
Call CFRetain/CFRelease to prevent the memory from being collected.

(API::Object::newObject):
Call CFRetain under GC so we'll prevent memory from being collected prematurely.

4:10 PM Changeset in webkit [176610] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: add more :not() and :matches() awesomeness
https://bugs.webkit.org/show_bug.cgi?id=138997

Reviewed by Joseph Pecoraro.

Simplify the Inspector's CSS when possible.

  • UserInterface/Views/DatabaseContentView.css:

(:matches(.database-user-query, .database-query-prompt, .database-query-result)::before):
(.database-user-query::before, .database-query-prompt::before, .database-query-result::before): Deleted.

  • UserInterface/Views/GradientSlider.css:

(.gradient-slider-knob > :matches(img, div)):
(.gradient-slider-knob > div): Deleted.

  • UserInterface/Views/HoverMenu.css:

(.hover-menu > svg > :matches(path, rect)):
(.hover-menu > svg > rect): Deleted.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.css:

(.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree .name-column .reflection): Deleted.
(.panel.details.layer-tree tr.selected .name-column .reflection): Deleted.

  • UserInterface/Views/ProbeDetailsSidebarPanel.css:

(.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)):
(.details-section.probe-set .options > .probe-add): Deleted.

  • UserInterface/Views/ResourceSidebarPanel.css:

(.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li:matches(.selected, :active)):
(.scope-bar > li:active): Deleted.

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
(.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
(.syntax-highlighted :matches(.css-number, .javascript-number)):
(.syntax-highlighted :matches(.css-property, .css-selector, .javascript-ident)):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
(.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
(.syntax-highlighted .html-comment): Deleted.
(.syntax-highlighted .html-tag): Deleted.
(.syntax-highlighted .javascript-number): Deleted.
(.syntax-highlighted .javascript-ident): Deleted.
(.syntax-highlighted .html-attribute-value): Deleted.
(.syntax-highlighted .html-processing-instruction): Deleted.
It looks like ".cm-tag.cm-bracket" was there only to override the rule below.
From basic testing, it looks like "cm-tag" and "cm-bracket" always appear together. I removed the "cm-bracket" rule
from the second rule, and simplified the first rule.

  • UserInterface/Views/TimelineSidebarPanel.css:

(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder): Deleted.

  • UserInterface/Views/Toolbar.css:

(body.mac-platform:not(.legacy, .docked) .toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical):
(body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical.small-size):
(body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal, .icon-only)):
(body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only)):
(.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section):
(body.mac-platform:not(.legacy):not(.docked) .toolbar): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Deleted.
(.toolbar.label-only .control-section): Deleted.

4:09 PM Changeset in webkit [176609] by Chris Dumez
  • 6 edits
    4 adds in trunk

Take into consideration canvas drawing for throttling DOM timers
https://bugs.webkit.org/show_bug.cgi?id=139140
<rdar://problem/19102218>

Reviewed by Andreas Kling.

Source/WebCore:

Take into consideration canvas drawing for throttling DOM timers so
that:

  • Timers drawing on a visible canvas can no longer get throttled. This fixes the following sites:
  • Timers that are drawing on a canvas that is not user observable now get throttled, thus using less CPU. As an example, on http://hint.fm/wind/, CPU usage is at 110% when the canvas is inside the viewport on my machine. CPU usage would remain at 110% when scrolling the canvas outside the viewport before this patch. After this patch, the CPU usage goes down to 5% when the canvas is outside the viewport.

Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html

fast/canvas/canvas-outside-viewport-timer-throttling.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::putDelegate):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):

  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
(WebCore::DOMTimer::scriptDidCauseElementRepaint):
(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
(WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.

  • page/DOMTimer.h:

LayoutTests:

Add layout tests to test that we take into consideration canvas drawing
when considering if we should throttle DOM timers.

  • fast/canvas/canvas-inside-viewport-timer-throttling-expected.txt: Added.
  • fast/canvas/canvas-inside-viewport-timer-throttling.html: Added.
  • fast/canvas/canvas-outside-viewport-timer-throttling-expected.txt: Added.
  • fast/canvas/canvas-outside-viewport-timer-throttling.html: Added.
3:56 PM Changeset in webkit [176608] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit/mac

Fix the iOS build.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:
  • WebView/WebHTMLView.mm:

(-[WebHTMLView scrollWheel:scrollWheel:]):
(-[WebHTMLView mouseDown:mouseDown:]):

  • WebView/WebView.mm:
  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

  • WebView/WebViewInternal.h:
3:54 PM Changeset in webkit [176607] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=139158

Reviewed by Simon Fraser.

Source/WebCore:

RenderingContexts are only created if the primary SimpleFontData is an SVG font,
but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
One might be an SVG font but the other might not be.

Note that this brittle design will be fixed with the SVG -> OTF translator.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

LayoutTests:

Test for no crashes when the primary SimpleFontData and the first character's
SimpleFontData differ in their SVG-ness.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html: Added.
3:40 PM Changeset in webkit [176606] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] Update expected results for LayoutTests/crypto

  • platform/ios-simulator/TestExpectations:
3:37 PM Changeset in webkit [176605] by dbates@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[iOS] Skip some animation tests that time out in iOS WebKit2

  • platform/ios-simulator-wk2/TestExpectations: Added.
2:04 PM Changeset in webkit [176604] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[MSE] Fix not always calling mediaPlayer seek.
https://bugs.webkit.org/show_bug.cgi?id=139139

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-01
Reviewed by Jer Noble.

Original comment states that media source shall always be notified of seek if it's not closed.

No new tests needed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::seekTimerFired):

1:49 PM Changeset in webkit [176603] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Fix 32-bit build.

  • wtf/IndexedIterator.h:
1:15 PM Changeset in webkit [176602] by ap@apple.com
  • 6 edits
    2 adds
    1 delete in trunk/LayoutTests

http tests should not use shared temporary files, part 3
https://bugs.webkit.org/show_bug.cgi?id=139135

Reviewed by Tim Horton.

Fix ping tests, using the same techniques as before.

  • http/tests/navigation/image-load-in-unload-handler.html:
  • http/tests/navigation/ping-cross-origin-from-https.html:
  • http/tests/navigation/resources/check-ping.php:
  • http/tests/navigation/resources/delete-ping.php:
  • http/tests/navigation/resources/image-load-in-unload-handler-2.html: Copied from LayoutTests/http/tests/navigation/resources/ping-redirect.html.
  • http/tests/navigation/resources/ping-file-path.php: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/resources/report-file-path.php.
  • http/tests/navigation/resources/ping-redirect.html: Removed.
  • http/tests/navigation/resources/save-Ping.php:
1:14 PM Changeset in webkit [176601] by ap@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Several JavaScriptCore date tests are flaky, because they expect time to be frozen during execution
https://bugs.webkit.org/show_bug.cgi?id=139138

Reviewed by Mark Lam.

Merged a fix by Bob Clary.

  • tests/mozilla/ecma/Date/15.9.1.1-1.js:
  • tests/mozilla/ecma/Date/15.9.1.1-2.js:
  • tests/mozilla/ecma/Date/15.9.2.1.js:
  • tests/mozilla/ecma/Date/15.9.2.2-1.js:
  • tests/mozilla/ecma/Date/15.9.2.2-2.js:
  • tests/mozilla/ecma/Date/15.9.2.2-3.js:
  • tests/mozilla/ecma/Date/15.9.2.2-4.js:
  • tests/mozilla/ecma/Date/15.9.2.2-5.js:
  • tests/mozilla/ecma/Date/15.9.2.2-6.js:
1:10 PM Changeset in webkit [176600] by ap@apple.com
  • 3 edits in trunk/LayoutTests

<rdar://problem/11358748> http/tests/multipart/multipart-wait-before-boundary.html fails on ML as of r115745

Looks like it no longer fails.

  • platform/mac/TestExpectations:
  • platform/wk2/TestExpectations:

Removed it from test expectations.

12:48 PM Changeset in webkit [176599] by timothy_horton@apple.com
  • 15 edits in trunk/Source

Implement yellow highlight for WebKit1 data detectors
https://bugs.webkit.org/show_bug.cgi?id=138956
<rdar://problem/18992185>

Reviewed by Beth Dakin.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::TextIndicator):

  • page/TextIndicator.h:

(WebCore::TextIndicator::selectionRectInScreenCoordinates):
(WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
(WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
(WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
Store TextIndicator rects in screen coordinates, since that's what we
want anyway, and this makes it easier to share this code between the WebKits.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController webView:willHandleMouseDown:]):
(-[WebActionMenuController webView:didHandleScrollWheel:]):
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WebActionMenuController _showTextIndicator]):
(-[WebActionMenuController _hideTextIndicator]):
(-[WebActionMenuController _dismissActionMenuPopovers]):
Copy the WebKit2 WKActionMenuController TextIndicator implementation
into WebActionMenuController. The only significant difference is
that we build the TextIndicator right at menu construction time
instead of in the Web process.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView scrollWheel:]):
Let the WebActionMenuController know that we're handling a scroll.

(-[WebHTMLView mouseDown:]):
Let the WebActionMenuController know that we're handling a mouseDown.

  • WebView/WebView.mm:

(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):
(-[WebView _clearTextIndicator]):
(-[WebView _actionMenuController]):
(-[WebView _convertRectFromRootView:]): Deleted.

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:
  • WebView/WebViewInternal.h:

Keep a TextIndicatorWindow on WebView, just like WKView does.
Expose the WebActionMenuController on WebView (internally).

  • Shared/WebCoreArgumentCoders.cpp:

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

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindIndicator):
(WebKit::FindController::drawRect):
Adjust to the fact that TextIndicator keeps screen-relative rects.

12:18 PM Changeset in webkit [176598] by andersca@apple.com
  • 12 edits in trunk/Source

Remove old site specific quirks code that was added in 2009
https://bugs.webkit.org/show_bug.cgi?id=139141

Reviewed by Antti Koivisto.

Source/WebCore:

  • platform/network/NetworkingContext.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):

Source/WebKit/mac:

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

(WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.

Source/WebKit2:

  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::needsSiteSpecificQuirks): Deleted.

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

(WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.

12:06 PM Changeset in webkit [176597] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Bump versioning

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

Web Inspector: Crash in WebInspectorClient::hideHighlight when page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=139136

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-01
Reviewed by Simon Fraser.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::hideHighlight):
Speculatively fix by null-checking the main frame which
can be null during page destruction.

11:11 AM Changeset in webkit [176595] by Joseph Pecoraro
  • 4 edits in trunk

Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
https://bugs.webkit.org/show_bug.cgi?id=138988

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/WebInjectedScriptHost.cpp:

(WebCore::WebInjectedScriptHost::type):
Give all DOM Exception types the "error" RemoteObject subtype.

LayoutTests:

  • inspector/debugger/command-line-api-exception-expected.txt:
11:01 AM Changeset in webkit [176594] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
https://bugs.webkit.org/show_bug.cgi?id=139075.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-01
Reviewed by Jer Noble.

Source/WebCore:

Specification requires from us to unset timestamps for trackBuffers
during abort() method.

Test: media/media-source/media-source-append-nonsync-sample-after-abort.html

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::resetParserState):
(WebCore::SourceBuffer::abort):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Specification requires from us to unset timestamps for trackBuffers during abort() method.
Tests appendBuffer() with first sync sample, then aborts after a few more samples, and emits
a few more non-sync samples, so they should be dropped, as trackBuffer will have
needRandomAccessFlag set.

  • media/media-source/media-source-append-nonsync-sample-after-abort-expected.txt: Added.
  • media/media-source/media-source-append-nonsync-sample-after-abort.html: Added.
10:42 AM Changeset in webkit [176593] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=138999

Reviewed by Sam Weinig.

Transform StyleBuilderCustom into a class and mark it as a friend of
RenderStyle. This is needed because some of the StyleBuilderCustom
functions need to access RenderStyle's private API.

No new tests, no behavior change.

  • css/StyleBuilderCustom.h: Move functions from StyleBuilderFunctions namespace to StyleBuilderCustom class.
  • css/makeprop.pl: Use StyleBuilderCustom scope instead of StyleBuilderFunctions for custom implementation.
  • rendering/style/RenderStyle.h: Mark StyleBuilderCustom class as a friend, similarly to what was already done for DeprecatedStyleBuilder and StyleResolver.
9:50 AM Changeset in webkit [176592] by oliver@apple.com
  • 29 edits
    1 add in trunk/Source

Make sure range based iteration of Vector<> still receives bounds checking
https://bugs.webkit.org/show_bug.cgi?id=138821

Reviewed by Mark Lam.

Source/JavaScriptCore:

There are a few uses of begin()/end() that explicitly require pointers,
so we use getPtr() to extract the underlying pointer generically.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::visitChildren):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitComplexPopScopes):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::mdNode):
(JSC::FTL::buildCall):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • parser/Parser.h:

(JSC::Scope::Scope):

  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::debugPrintRecursively):

  • runtime/JSArray.cpp:

(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):

  • tools/ProfileTreeNode.h:

(JSC::ProfileTreeNode::dumpInternal):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

There are a few uses of begin()/end() that explicitly require pointers,
so we use getPtr() to extract the underlying pointer generically.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::deserializeString):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::isBadMatch):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::buildSelectionHighlight):

  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):

  • platform/graphics/WOFFFileFormat.cpp:

(WebCore::convertWOFFToSfnt):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • svg/SVGFontElement.cpp:

(WebCore::kerningForPairOfStringsAndGlyphs):

  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::append):

  • xml/XPathNodeSet.h:

(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

Add a new IndexedIterator struct to WTF that wraps a
Vector type and index to provide pointer like semantics
while still performing runtime bounds checking, even in
release builds. We store a simple index into the vector
which means that this iterator allows vector resizing
during iteration. If the vector is resized such that the
iterator is out of bounds, then any attempt to dereference
the iterator will crash safely. Any other errors, including
overflows, and over extending the iterator will likewise
crash.

For the purpose of retaining semantically equivalent
behaviour, the iterator can be moved to m_index == size()
as that is the standard "end" terminator for these types.
Attempting to dereference at that point will still crash
rather than perform an unsafe memory operation.

In order to maintain the validity of all the bounds checking,
we perform full integer range checking prior to any mutation
of the iterator location. If we detect an arithmetic overflow
we will crash rather than attempting to carry on.

By necessity there are many overrides for operator + and - as
we otherwise hit many different type promotion ambiguities when
performing arithmetic with iterators. These ambiguities are also
different for 32- vs. 64-bit, so duplicating the functions
and then forwarding to the core implementations that performed
the bounds checking and mutation seemed like the right call.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/IndexedIterator.h: Added.

(WTF::IndexedIterator::IndexedIterator):
(WTF::IndexedIterator::operator->):
(WTF::IndexedIterator::operator*):
(WTF::IndexedIterator::get):
(WTF::IndexedIterator::operator++):
(WTF::IndexedIterator::operator--):
(WTF::IndexedIterator::operator UnspecifiedBoolType):
(WTF::IndexedIterator::operator+=):
(WTF::IndexedIterator::operator-=):
(WTF::IndexedIterator::operator+):
(WTF::IndexedIterator::operator-):
(WTF::IndexedIterator::operator=):
(WTF::IndexedIterator::operator==):
(WTF::IndexedIterator::operator!=):
(WTF::IndexedIterator::operator<):
(WTF::IndexedIterator::operator<=):
(WTF::IndexedIterator::operator>):
(WTF::IndexedIterator::operator>=):
(WTF::IndexedIterator::operator const_iterator):
(WTF::IndexedIterator::isSafeToCompare):
(WTF::IndexedIterator::unsafeGet):
(WTF::getPtr):
(WTF::operator-):
(WTF::operator==):
(WTF::operator!=):
(WTF::operator<=):
(WTF::operator>=):
(WTF::operator<):
(WTF::operator>):
(WTF::IndexedIteratorSelector::makeIterator):
(WTF::IndexedIteratorSelector::makeConstIterator):

  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):

  • wtf/Vector.h:

(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

6:48 AM Changeset in webkit [176591] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

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

It broke the GTK performance tests. (Requested by clopez on
#webkit).

Reverted changeset:

"[GTK] Use GMainLoopSource in WebKitTestRunner"
https://bugs.webkit.org/show_bug.cgi?id=138831
http://trac.webkit.org/changeset/176566

Nov 30, 2014:

11:36 PM Changeset in webkit [176590] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Add eldbus to the library list
https://bugs.webkit.org/show_bug.cgi?id=139120

Reviewed by Gyuyoung Kim.

Fix undefined reference errors for eldbus APIs.

  • PlatformEfl.cmake:
7:48 PM Changeset in webkit [176589] by ryuan.choi@navercorp.com
  • 4 edits
    9 deletes in trunk

[EFL] Drop support for the EFL 1.7
https://bugs.webkit.org/show_bug.cgi?id=139114

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/EFLHelpers.cmake: Removed.
  • Source/cmake/FindEcore.cmake: Removed.
  • Source/cmake/FindEdje.cmake: Removed.
  • Source/cmake/FindEet.cmake: Removed.
  • Source/cmake/FindEeze.cmake: Removed.
  • Source/cmake/FindEfreet.cmake: Removed.
  • Source/cmake/FindEina.cmake: Removed.
  • Source/cmake/FindElementary.cmake: Removed.
  • Source/cmake/FindEvas.cmake: Removed.
  • Source/cmake/OptionsEfl.cmake:

Source/WTF:

  • wtf/efl/EflTypedefs.h: Removed old definitions which EFL 1.7 used.
4:20 PM Changeset in webkit [176588] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Fix a test failure.

  • History/WebHistory.mm:

(+[WebHistory _setVisitedLinkTrackingEnabled:]):
Call through to the visited link store.

(+[WebHistory _removeAllVisitedLinks]):
Ditto.

  • WebCoreSupport/WebVisitedLinkStore.mm:

(WebVisitedLinkStore::isLinkVisited):
Make sure to populate visited links.

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

Switch over to the visited link store from the WebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=139112

Reviewed by Sam Weinig.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView setGroupName:]):

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

Add WebVisitedLinkStore::removeVisitedLink and use it on iOS
https://bugs.webkit.org/show_bug.cgi?id=139111

Reviewed by Sam Weinig.

  • WebCoreSupport/WebVisitedLinkStore.h:
  • WebCoreSupport/WebVisitedLinkStore.mm:

(WebVisitedLinkStore::removeVisitedLink):

  • WebView/WebView.mm:

(-[WebView removeVisitedLink:]):

Nov 29, 2014:

6:36 PM Changeset in webkit [176585] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix a build warning when CSS_SCROLL_SNAP is enabled
https://bugs.webkit.org/show_bug.cgi?id=139084

Reviewed by Andrei Bucur.

Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.

  • rendering/style/StyleScrollSnapPoints.cpp:

(WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().

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

Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139104

Patch by Sam Weinig <sam@webkit.org> on 2014-11-29
Reviewed by Anders Carlsson.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
(WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
(WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
(WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
(WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

4:06 PM Changeset in webkit [176583] by akling@apple.com
  • 19 edits in trunk/Source/JavaScriptCore

PropertyTable keys should be AtomicStringImpl.
<https://webkit.org/b/139096>

Reviewed by Sam Weinig.

Since PropertyTable keys are really always Identifiers, switch the key
type from StringImpl* to AtomicStringImpl*.

We have code in the GetByVal opcode implementations that assumes things
about this, so this change adds confidence to those algorithms.

  • bytecode/ComplexGetStatus.cpp:

(JSC::ComplexGetStatus::computeFor):

  • bytecode/ComplexGetStatus.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/GetByIdStatus.h:
  • bytecode/PutByIdStatus.cpp:

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

  • bytecode/PutByIdStatus.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGDesiredIdentifiers.cpp:

(JSC::DFG::DesiredIdentifiers::addLazily):
(JSC::DFG::DesiredIdentifiers::at):

  • dfg/DFGDesiredIdentifiers.h:

(JSC::DFG::DesiredIdentifiers::operator[]):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):

  • runtime/Identifier.h:

(JSC::Identifier::impl):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::mayInterceptStoreTo):

  • runtime/IntendedStructureChain.h:
  • runtime/PropertyMapHashTable.h:
  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::contains):
(JSC::StructureTransitionTable::get):
(JSC::Structure::addPropertyTransitionToExistingStructureImpl):
(JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
(JSC::Structure::getConcurrently):
(JSC::Structure::add):
(JSC::Structure::remove):

  • runtime/Structure.h:

(JSC::PropertyMapEntry::PropertyMapEntry):

  • runtime/StructureInlines.h:

(JSC::Structure::getConcurrently):

  • runtime/StructureTransitionTable.h:

(JSC::StructureTransitionTable::Hash::hash):

3:40 PM Changeset in webkit [176582] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit/win

Switch over to using WebVisitedLinkStore on Windows
https://bugs.webkit.org/show_bug.cgi?id=139103

Reviewed by Antti Koivisto.

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::populateVisitedLinks):

  • WebHistory.cpp:

(WebHistory::setOptionalSharedHistory):
(WebHistory::removeAllItems):
(WebHistory::setVisitedLinkTrackingEnabled):
(WebHistory::removeAllVisitedLinks):
(WebHistory::removeItemForURLString):
(WebHistory::addVisitedLinksToVisitedLinkStore):
(WebHistory::addVisitedLinksToPageGroup): Deleted.

  • WebHistory.h:
  • WebView.cpp:

(WebView::initWithFrame):

2:52 PM Changeset in webkit [176581] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Another build fix.

  • WebHistory.cpp:

(WebHistory::addVisitedLinksToVisitedLinkStore):

2:48 PM Changeset in webkit [176580] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Another build fix.

  • WebHistory.cpp:

(WebHistory::addVisitedLinksToVisitedLinkStore):
(WebHistory::removeAllVisitedLinks): Deleted.
(WebHistory::setHistoryItemLimit): Deleted.

2:43 PM Changeset in webkit [176579] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Try to fix build.

  • WebHistory.h:
2:23 PM Changeset in webkit [176578] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit/win

Stub out more of WebVisitedLinkStore on Windows
https://bugs.webkit.org/show_bug.cgi?id=139098

Reviewed by Sam Weinig.

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(WebVisitedLinkStore::WebVisitedLinkStore):
Initialize m_visitedLinksPopulated to false.

(WebVisitedLinkStore::setShouldTrackVisitedLinks):
Update s_shouldTrackVisitedLinks and remove all visited links if needed.

(WebVisitedLinkStore::removeAllVisitedLinks):
Remove all hashes from our shared link store.

(WebVisitedLinkStore::addVisitedLink):
Compute the visited link hash and add it to the store.

(WebVisitedLinkStore::isLinkVisited):
Populate visited links and then look up the hash in our hash map.

(WebVisitedLinkStore::populateVisitedLinksIfNeeded):
Call out to the history delegate or populate visited links from shared history.

(WebVisitedLinkStore::addVisitedLinkHash):
Add the hash if we're tracking hashes.

(WebVisitedLinkStore::removeVisitedLinkHashes):
Clear the map.

  • WebCoreSupport/WebVisitedLinkStore.h:

Add members.

  • WebHistory.cpp:

(WebHistory::addVisitedLinksToVisitedLinkStore):
New function that adds visited links from the history to a given store.

  • WebHistory.h:

Add new member.

  • WebView.cpp:

(WebView::addVisitedLinks):
Add links to the visited link store as well.

2:17 PM Changeset in webkit [176577] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Add an EmptyVisitedLinkStore implementation
https://bugs.webkit.org/show_bug.cgi?id=139102

Reviewed by Sam Weinig.

  • loader/EmptyClients.cpp:

(WebCore::fillWithEmptyClients):

  • loader/EmptyClients.h:
2:11 PM Changeset in webkit [176576] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit/mac

Populate visited links
https://bugs.webkit.org/show_bug.cgi?id=139101

Reviewed by Sam Weinig.

  • History/WebHistory.mm:

(-[WebHistoryPrivate addVisitedLinksToVisitedLinkStore:]):
Helper function that adds all visited link to the given store.

(-[WebHistory _addVisitedLinksToVisitedLinkStore:]):
Call the private method.

  • History/WebHistoryInternal.h:
  • WebCoreSupport/WebVisitedLinkStore.h:

Add new members.

  • WebCoreSupport/WebVisitedLinkStore.mm:

(WebVisitedLinkStore::addVisitedLink):
Get the characters from the URL string and hash them, then call addVisitedLinkHash.

(WebVisitedLinkStore::populateVisitedLinksIfNeeded):
Implement this. First try the delegate, then try the shared history.

(WebVisitedLinkStore::addVisitedLinkHash):
Factor code that adds the link to the hash table into a separate function.

  • WebView/WebView.mm:

(-[WebView addVisitedLinks:]):
Add the visited links to the store.

1:49 PM Changeset in webkit [176575] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/mac

More work on the legacy WebKit visited link store
https://bugs.webkit.org/show_bug.cgi?id=139100

Reviewed by Sam Weinig.

  • History/WebHistory.mm:

(+[WebHistory setOptionalSharedHistory:]):
Call WebVisitedLinkStore::setShouldTrackVisitedLinks and WebVisitedLinkStore::removeAllVisitedLinks.

  • WebCoreSupport/WebVisitedLinkStore.h:
  • WebCoreSupport/WebVisitedLinkStore.mm:

(visitedLinkStores):
(WebVisitedLinkStore::WebVisitedLinkStore):
(WebVisitedLinkStore::~WebVisitedLinkStore):
Keep track of live visited link stores.

(WebVisitedLinkStore::setShouldTrackVisitedLinks):
Update s_shouldTrackVisitedLinks and call removeAllVisitedLinks if necessary.

(WebVisitedLinkStore::removeAllVisitedLinks):
Iterate over all live link stores and remove their links.

(WebVisitedLinkStore::isLinkVisited):
Populate visited links and check if our hash table contains the link.

(WebVisitedLinkStore::addVisitedLink):
Add the link hash to the table.

(WebVisitedLinkStore::populateVisitedLinksIfNeeded):
Add stub.

(WebVisitedLinkStore::removeVisitedLinkHashes):
Clear out the hash table.

1:12 PM Changeset in webkit [176574] by andersca@apple.com
  • 6 edits
    2 adds in trunk

Crash when calling WKPageClose on the originated page from within createNewPage callback
https://bugs.webkit.org/show_bug.cgi?id=139099
<rdar://problem/19052564>

Reviewed by Sam Weinig.

Source/WebKit2:

Null check the namespace ID.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):

Tools:

Add a test.

  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp: Added.

(TestWebKitAPI::runJavaScriptAlert):
(TestWebKitAPI::createNewPage):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/close-from-within-create-page.html: Added.
  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::PlatformWebView):

9:47 AM Changeset in webkit [176573] by andersca@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit

Add a stubbed out WebVisitedLinkStore class on Windows
https://bugs.webkit.org/show_bug.cgi?id=139078

Reviewed by Sam Weinig.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:

Source/WebKit/win:

  • WebCoreSupport/WebVisitedLinkStore.cpp: Added.

(WebVisitedLinkStore::shared):
(WebVisitedLinkStore::WebVisitedLinkStore):
(WebVisitedLinkStore::~WebVisitedLinkStore):
(WebVisitedLinkStore::isLinkVisited):
(WebVisitedLinkStore::addVisitedLink):

  • WebCoreSupport/WebVisitedLinkStore.h: Added.

Nov 28, 2014:

11:11 PM Changeset in webkit [176572] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/JavaScriptCore

Use std::unique_ptr<>|make_unique<> in ftl, bytecode of JSC
https://bugs.webkit.org/show_bug.cgi?id=139063

Reviewed by Andreas Kling.

Clean up OwnPtr and PassOwnPtr in JSC.

  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::StructureStubClearingWatchpoint::push):

  • bytecode/StructureStubClearingWatchpoint.h:

(JSC::StructureStubClearingWatchpoint::StructureStubClearingWatchpoint):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLJITFinalizer.h:
  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • parser/SourceProviderCacheItem.h:
10:20 PM Changeset in webkit [176571] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139053

Patch by Sam Weinig <sam@webkit.org> on 2014-11-28
Reviewed by Andreas Kling.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertInitialLetter):
(WebCore::StyleBuilderConverter::convertTextStrokeWidth):
(WebCore::StyleBuilderConverter::convertLineBoxContain):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

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

Stale userData is handed to WKView _actionMenuItemsForHitTestResult under prepareForMenu
https://bugs.webkit.org/show_bug.cgi?id=139069
<rdar://problem/19075587>

Reviewed by Sam Weinig.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController wkView:willHandleMouseDown:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController _clearActionMenuState]):
Previously, _userData was not being cleared in didCloseMenu, so a subsequent
action menu invocation would end up sending stale userData to _actionMenuItemsForHitTestResult.

Additionally, factor all of the cleanup code out into _clearActionMenuState,
and call it from both wkView:willHandleMouseDown: and didCloseMenu:withEvent:.

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

DataDetectors PageOverlay callbacks are never called
https://bugs.webkit.org/show_bug.cgi?id=139067
<rdar://problem/19086676>

Reviewed by Anders Carlsson.

  • Shared/mac/ActionMenuHitTestResult.mm:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Encode/decode the PageOverlay ID.

10:39 AM Changeset in webkit [176568] by Simon Fraser
  • 6 edits in trunk/Source/WebKit2

Allow clients of the WKRenderLayerRef C SPI to connect layer trees across frame boundaries
https://bugs.webkit.org/show_bug.cgi?id=139021

Reviewed by Dan Bernstein.

Add WKRenderLayerGetFrameContentsLayer which returns a WKRenderLayerRef for
the content document of a RenderWidget, if its has one (e.g. frames, iframes
and <object> with document contents).

  • Shared/API/c/WKRenderLayer.cpp:

(WKRenderLayerGetFrameContentsLayer):

  • Shared/API/c/WKRenderLayer.h:
  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebRenderLayer.cpp:

(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::WebRenderLayer):

  • Shared/WebRenderLayer.h:

(WebKit::WebRenderLayer::frameContentsLayer):

9:05 AM Changeset in webkit [176567] by commit-queue@webkit.org
  • 2 edits
    3 adds in trunk/Tools

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

massive failures on release test bot (Requested by philn on
#webkit).

Reverted changeset:

"[GStreamer] Bump internal jhbuild versions to 1.4.4"
https://bugs.webkit.org/show_bug.cgi?id=138866
http://trac.webkit.org/changeset/176564

8:39 AM Changeset in webkit [176566] by Carlos Garcia Campos
  • 4 edits in trunk/Tools

[GTK] Use GMainLoopSource in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=138831

Reviewed by Sergio Villar Senin.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:

(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::waitToDumpWatchdogTimerCallback): Deleted.

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::TestController::notifyDone):
(WTR::TestController::platformRunUntil):
(WTR::cancelTimeout): Deleted.

7:27 AM Changeset in webkit [176565] by Philippe Normand
  • 2 edits in trunk

[CMake] Build failure against GStreamer git master
https://bugs.webkit.org/show_bug.cgi?id=138872

Reviewed by Csaba Osztrogon.

  • Source/cmake/FindGStreamer.cmake: Simplified the

FIND_GSTREAMER_COMPONENT macro. Trust pkg-config for include
headers lookup, there's no need to do this manually. Also
explicitely check the version specified in GStreamer_FIND_VERSION.

6:42 AM Changeset in webkit [176564] by Philippe Normand
  • 2 edits
    3 deletes in trunk/Tools

[GStreamer] Bump internal jhbuild versions to 1.4.4
https://bugs.webkit.org/show_bug.cgi?id=138866

Reviewed by Carlos Garcia Campos.

  • gtk/jhbuild.modules:
  • gtk/patches/gst-events-arent-gstobjects.patch: Removed.
  • gtk/patches/gst-plugins-base-fix-build-gcc-4.9-x86.patch: Removed.
  • gtk/patches/gst-prevent-neon-check-in-configure-from-passing-under-aarch64.patch: Removed.
6:29 AM Changeset in webkit [176563] by Carlos Garcia Campos
  • 14 edits
    2 deletes in trunk/Tools

[GTK] Use custom JavaScript instead of DBus to implement WebProcess tests
https://bugs.webkit.org/show_bug.cgi?id=138834

Reviewed by Sergio Villar Senin.

It makes everyting simpler and the tests run faster too, since we
don't need to spawn the private bus and wait until the DBus name
is registered. The web extension registers a new JavaSCript class
with a status method to run the tests, similar to the DBus
method. In the UI process side, tests use webkit_web_view_run_java_script()
instead of sending a DBus message.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:

(WebKitDOMNodeFilterTest::create):
(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):
(WebKitDOMNodeFilterTest::webPageFromArgs): Deleted.
(WebKitDOMNodeFilterTest::runTest): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::create):
(WebKitDOMNodeTest::testHierarchyNavigation):
(WebKitDOMNodeTest::testInsertion):
(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::webPageFromArgs): Deleted.
(WebKitDOMNodeTest::runTest): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp:

(WebKitDOMXPathNSResolverTest::create):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
(WebKitDOMXPathNSResolverTest::webPageFromArgs): Deleted.
(WebKitDOMXPathNSResolverTest::runTest): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp:

(WebKitFrameTest::create):
(WebKitFrameTest::testMainFrame):
(WebKitFrameTest::testURI):
(WebKitFrameTest::testJavaScriptContext):
(WebKitFrameTest::webPageFromArgs): Deleted.
(WebKitFrameTest::runTest): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMNodeHierarchyNavigation):
(testWebKitDOMNodeInsertion):
(testWebKitDOMNodeTagNames):
(beforeAll):
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp:

(runTest):
(beforeAll):
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp:

(testWebKitDOMXPathNSResolverNative):
(testWebKitDOMXPathNSResolverCustom):
(beforeAll):
(afterAll):
(runTest): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp:

(webkitFrameTestRun):
(beforeAll):
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(testsMap):
(WebProcessTest::add):
(WebProcessTest::create):
(runTest):
(windowObjectClearedCallback):
(webkit_web_extension_initialize):
(methodCallCallback): Deleted.
(webkit_web_extension_initialize_with_user_data): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp: Removed.
  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.h: Removed.
  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::runWebProcessTest):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
5:41 AM Changeset in webkit [176562] by Csaba Osztrogonác
  • 2 edits
    1 add in trunk/Tools

[EFL] libseccomp should pick up CC environment variable to be conform to other jhbuild modules
https://bugs.webkit.org/show_bug.cgi?id=139086

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
  • efl/patches/libseccomp-pick-up-CC.patch: Added.
3:05 AM Changeset in webkit [176561] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] HTTP source element lacks SCHEDULING query support
https://bugs.webkit.org/show_bug.cgi?id=139064

Reviewed by Carlos Garcia Campos.

No new tests, covered by http/tests/media/hls.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
to configure itself for adaptive streaming playback scenarios.

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

[EFL] Add warning if CMake version is too old for building with ninja.
https://bugs.webkit.org/show_bug.cgi?id=139055

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-11-28
Reviewed by Gyuyoung Kim.

CMake need to be >= 2.8.10 to build WebKit using ninja, some repos don't have
that version in their repositories.

  • efl/install-dependencies:
1:10 AM Changeset in webkit [176559] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2] SecComp buildfix after r176452
https://bugs.webkit.org/show_bug.cgi?id=139081

Reviewed by Antti Koivisto.

  • Shared/linux/SeccompFilters/SeccompBroker.cpp:

(WebKit::SeccompBrokerClient::dispatch):
(WebKit::SeccompBroker::runLoop):

1:09 AM Changeset in webkit [176558] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

Fix -Wc++11-narrowing error in SeccompFilters.cpp
https://bugs.webkit.org/show_bug.cgi?id=139079

Reviewed by Carlos Garcia Campos.

  • Shared/linux/SeccompFilters/SeccompFilters.cpp:

(WebKit::SeccompFilters::addRule):

  • Shared/linux/SeccompFilters/SeccompFilters.h:
1:04 AM Changeset in webkit [176557] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2] SecComp buildfix after r168605 and r168999
https://bugs.webkit.org/show_bug.cgi?id=139080

Reviewed by Carlos Garcia Campos.

  • Shared/linux/SeccompFilters/SyscallPolicy.cpp:

(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

1:00 AM Changeset in webkit [176556] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[ATK] Allowing the use of AccessibilityUIElement::columnHeaders method for table.
https://bugs.webkit.org/show_bug.cgi?id=139044

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-11-28
Reviewed by Chris Fleizach.

ATK method AccessibilityUIElement::columnHeaders currently focused only on the object table cell.
The proposed solution will enable the use of this method for the object table.
Existing test shows the result.

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::columnHeaders):

LayoutTests:

  • accessibility/table-column-headers-with-captions.html: Updated for ATK platform.
  • platform/efl/accessibility/table-column-headers-with-captions-expected.txt: Added.
  • platform/gtk/TestExpectations: Updated for GTK.
  • platform/gtk/accessibility/table-column-headers-with-captions-expected.txt: Added.
Note: See TracTimeline for information about the timeline view.