WebKit-https.git
6 years agoFontCache should only deal with SimpleFontData
antti@apple.com [Fri, 9 Jan 2015 19:33:40 +0000 (19:33 +0000)]
FontCache should only deal with SimpleFontData
https://bugs.webkit.org/show_bug.cgi?id=140293

Reviewed by Andreas Kling.

FontCache::fontForFamilyAtIndex hands out FontData objects and calls to FontSelector. That sort
of code does not belong to the cache layer. Move the functionality up to FontGlyphs.

* platform/graphics/Font.cpp:
(WebCore::Font::operator==):
(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::isLoadingCustomFonts):
* platform/graphics/Font.h:
(WebCore::Font::loadingCustomFonts): Deleted.
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::similarFontPlatformData):

    Generic null implementation to reduce #ifs.

(WebCore::FontCache::fontForFamilyAtIndex): Deleted.
* platform/graphics/FontCache.h:

    Unfriend FontGlyphs.

* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::isLoadingCustomFonts):

    We can figure thus out cheaply without caching a bit.

(WebCore::realizeNextFamily):
(WebCore::FontGlyphs::realizeFontDataAt):

    Reorganize a bit to make the logic clearer.
    Get rid of the strange cAllFamiliesScanned constant.

(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):

    Loop until null, that always works.

* platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::loadingCustomFonts): Deleted.
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::similarFontPlatformData):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::similarFontPlatformData):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::dashesForIntersectionsWithRect):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoplatform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration...
ap@apple.com [Fri, 9 Jan 2015 19:29:40 +0000 (19:29 +0000)]
platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html fails on Retina machines
https://bugs.webkit.org/show_bug.cgi?id=140300

Reviewed by Simon Fraser.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::updateWindowScaleForTest):
(WTR::TestController::configureViewForTest):
* WebKitTestRunner/TestController.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate expectations for fast/text/atsui-rtl-override-selection.html, which also
ap@apple.com [Fri, 9 Jan 2015 19:29:10 +0000 (19:29 +0000)]
Update expectations for fast/text/atsui-rtl-override-selection.html, which also
fails on Mountain Lion after enabling kerning and ligatures.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r177925): It broke the !ENABLE(INSPECTOR) build
ossy@webkit.org [Fri, 9 Jan 2015 19:27:50 +0000 (19:27 +0000)]
REGRESSION(r177925): It broke the !ENABLE(INSPECTOR) build
https://bugs.webkit.org/show_bug.cgi?id=140098

Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/InspectorBackendDispatcher.h: Missing ENABLE(INSPECTOR) guard added.

Source/WebCore:

* inspector/InspectorInstrumentationCookie.cpp: Removed ENABLE(INSPECTOR) guard,
becaue InspectorInstrumentationCookie is used everywhere unconditionally.
* inspector/InspectorInstrumentationCookie.h: Removed ENABLE(INSPECTOR) guard.
* loader/appcache/ApplicationCacheGroup.h: Removed ENABLE(INSPECTOR) guard around
m_currentResourceIdentifier, because it is used unconditionally in the cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Fix crash introduced in r178029
commit-queue@webkit.org [Fri, 9 Jan 2015 18:58:29 +0000 (18:58 +0000)]
[EFL] Fix crash introduced in r178029
https://bugs.webkit.org/show_bug.cgi?id=140289

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-09
Reviewed by Martin Robinson.

Clearing childClippingMaskLayer of CoordinatedGraphics should be called
before clearing childClippingLayer.

No new tests, covered by existing tests.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::~RenderLayerBacking):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Cannot paste an image URL in a plain text field in a page.
enrica@apple.com [Fri, 9 Jan 2015 18:31:12 +0000 (18:31 +0000)]
[iOS] Cannot paste an image URL in a plain text field in a page.
https://bugs.webkit.org/show_bug.cgi?id=140274
rdar://problem/18590809

Reviewed by Alexey Proskuryakov.

Source/WebCore:

When we want to get plain text from the pasteboard, we
should also try kUTTypeURL if there is no kUTTypeText available.

* WebCore.exp.in:
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::read):
* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::readString):

Source/WebKit2:

supportedPasteboardTypesForCurrentSelection should include kUTTypeURL for plain
text controls and WebArchivePboardType for rich text controls.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView supportedPasteboardTypesForCurrentSelection]): Remove obsolete and
incorrect FIXME.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r178141.
commit-queue@webkit.org [Fri, 9 Jan 2015 17:50:14 +0000 (17:50 +0000)]
Unreviewed, rolling out r178141.
https://bugs.webkit.org/show_bug.cgi?id=140294

Broke multiple API tests (Requested by ap on #webkit).

Reverted changeset:

"Make WKNavigation bridged to API::Navigation"
https://bugs.webkit.org/show_bug.cgi?id=140272
http://trac.webkit.org/changeset/178141

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r178154, r178163, and r178164.
commit-queue@webkit.org [Fri, 9 Jan 2015 17:44:37 +0000 (17:44 +0000)]
Unreviewed, rolling out r178154, r178163, and r178164.
https://bugs.webkit.org/show_bug.cgi?id=140292

Still multiple assertion failures on tests (Requested by ap on
#webkit).

Reverted changesets:

"Modernize and streamline HTMLTokenizer"
https://bugs.webkit.org/show_bug.cgi?id=140166
http://trac.webkit.org/changeset/178154

"Unreviewed speculative buildfix after r178154."
http://trac.webkit.org/changeset/178163

"One more unreviewed speculative buildfix after r178154."
http://trac.webkit.org/changeset/178164

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[MSE] Implement Append Window support.
commit-queue@webkit.org [Fri, 9 Jan 2015 17:16:15 +0000 (17:16 +0000)]
[MSE] Implement Append Window support.
https://bugs.webkit.org/show_bug.cgi?id=139861

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

Source/WebCore:

Implement Append Windows support for SourceBuffer as per spec.
Also change order in idl to match spec order.

Test: media/media-source/media-source-append-buffer-with-append-window.html

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::appendWindowStart):
(WebCore::SourceBuffer::setAppendWindowStart):
(WebCore::SourceBuffer::appendWindowEnd):
(WebCore::SourceBuffer::setAppendWindowEnd):
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
* Modules/mediasource/SourceBuffer.h:
* Modules/mediasource/SourceBuffer.idl:

LayoutTests:

Added test which checks whether correct samples from contiguous range of samples are added
when manipulating appendWindow.

* media/media-source/media-source-append-buffer-with-append-window-expected.txt: Added.
* media/media-source/media-source-append-buffer-with-append-window.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: Crash at -[WebAccessibilityObjectWrapperBase accessibilityTitle] + 31
cfleizach@apple.com [Fri, 9 Jan 2015 15:29:09 +0000 (15:29 +0000)]
AX: Crash at -[WebAccessibilityObjectWrapperBase accessibilityTitle] + 31
https://bugs.webkit.org/show_bug.cgi?id=140286

Reviewed by Mario Sanchez Prada.

This is crashing because AppKit is checking if certain method names like "accessibilityTitle" exist,
and then it bypasses accessibilityAttributeValue: to call directly into those methods.

That bypasses are safety checks. I think a safe way to avoid this is rename our methods.

No new tests, problem only occurs when triggered through AppKit.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
(-[WebAccessibilityObjectWrapper accessibilityHint]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase baseAccessibilityTitle]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityDescription]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityHelpText]):
(-[WebAccessibilityObjectWrapperBase accessibilityTitle]): Deleted.
(-[WebAccessibilityObjectWrapperBase accessibilityDescription]): Deleted.
(-[WebAccessibilityObjectWrapperBase accessibilityHelpText]): Deleted.
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Moving myself to the committer section.
mtibor@inf.u-szeged.hu [Fri, 9 Jan 2015 13:50:07 +0000 (13:50 +0000)]
Unreviewed. Moving myself to the committer section.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GStreamer][MSE] ASSERT in MediaSourceClientGStreamer::addSourceBuffer
philn@webkit.org [Fri, 9 Jan 2015 13:33:47 +0000 (13:33 +0000)]
[GStreamer][MSE] ASSERT in MediaSourceClientGStreamer::addSourceBuffer
https://bugs.webkit.org/show_bug.cgi?id=140119

Reviewed by Carlos Garcia Campos.

* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
(WebCore::MediaSourceClientGStreamer::addSourceBuffer): Use a raw
pointer for the ghost pad, its reference is then taken once attached
to the parent element.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAfter r178166, ANGLE's EGL/GLES/GLES2 headers are included before the
zandobersek@gmail.com [Fri, 9 Jan 2015 13:26:15 +0000 (13:26 +0000)]
After r178166, ANGLE's EGL/GLES/GLES2 headers are included before the
system-default headers because the Source/ThirdParty/ANGLE/include
directory is searched through. This shouldn't be the case for ports
which want to use system-default headers and are searching for them
explicitly. To avoid that, OPENGL_INCLUDE_DIR or OPENGLES2_INCLUDE_DIR
should be added to WebCore_INCLUDE_DIRECTORIES before ANGLE directories.

Rubber-stamped by Carlos Garcia Campos.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a script to check for platform layering violations
carlosgc@webkit.org [Fri, 9 Jan 2015 11:48:28 +0000 (11:48 +0000)]
Add a script to check for platform layering violations
https://bugs.webkit.org/show_bug.cgi?id=140248

Reviewed by Darin Adler.

It prints all the cases where files inside platform include
headers that are not in platform directory.

* Scripts/check-for-platform-layering-violations: Added.
(get_platform_headers):
(check_source_file):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse angle-bracket form to include external headers in WebCore
carlosgc@webkit.org [Fri, 9 Jan 2015 11:46:50 +0000 (11:46 +0000)]
Use angle-bracket form to include external headers in WebCore
https://bugs.webkit.org/show_bug.cgi?id=140288

Reviewed by Žan Doberšek.

* CMakeLists.txt:
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
* platform/graphics/harfbuzz/HarfBuzzFace.cpp:
* platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp:
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
* platform/graphics/win/GraphicsContext3DWin.cpp:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
* platform/image-decoders/png/PNGImageDecoder.cpp:
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
* platform/image-encoders/JPEGImageEncoder.cpp:
* platform/image-encoders/PNGImageEncoder.cpp:
* platform/text/TextEncodingDetectorICU.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOne more unreviewed speculative buildfix after r178154.
ossy@webkit.org [Fri, 9 Jan 2015 08:06:28 +0000 (08:06 +0000)]
One more unreviewed speculative buildfix after r178154.

* xml/parser/CharacterReferenceParserInlines.h:
(WebCore::consumeCharacterReference): Remove highestValidCharacter too, it became unused after r178163.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed speculative buildfix after r178154.
ossy@webkit.org [Fri, 9 Jan 2015 08:01:13 +0000 (08:01 +0000)]
Unreviewed speculative buildfix after r178154.

* xml/parser/CharacterReferenceParserInlines.h:
(WebCore::consumeCharacterReference): Remove unused overflow variable.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove strange CharacterData::dataImpl function
darin@apple.com [Fri, 9 Jan 2015 05:29:55 +0000 (05:29 +0000)]
Remove strange CharacterData::dataImpl function
https://bugs.webkit.org/show_bug.cgi?id=140115

Reviewed by Anders Carlsson.

Every call site could just use the data function instead.

* dom/CharacterData.h:
(WebCore::CharacterData::dataImpl): Deleted.

* dom/Text.cpp:
(WebCore::Text::splitText): Use data instead of dataImpl.
(WebCore::Text::createTextRenderer): Ditto.

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::RenderCombineText): Updated to take
const String&. We missed this class when RenderText changed.
* rendering/RenderCombineText.h: Ditto.

* style/StyleResolveTree.cpp:
(WebCore::Style::updateTextRendererAfterContentChange): Use data.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: !valueWithCalculation.calculation() in WebCore::CSSParser::validate...
cdumez@apple.com [Fri, 9 Jan 2015 05:29:09 +0000 (05:29 +0000)]
ASSERTION FAILED: !valueWithCalculation.calculation() in WebCore::CSSParser::validateCalculationUnit
https://bugs.webkit.org/show_bug.cgi?id=140251

Reviewed by Darin Adler.

Source/WebCore:

Using a calculated value for text-shadow's blur-radius was hitting an
assertion in CSSParser::validateCalculationUnit() because validUnit()
is called twice, first with 'FLength' unit, then more stricly with
'FLength|FNonNeg' if parsing the blur-radius as it cannot be negative
as per the specification:
- http://dev.w3.org/csswg/css-text-decor-3/#text-shadow-property
- http://dev.w3.org/csswg/css-backgrounds-3/#shadow

On the second call, the ValueWithCalculation's m_calculation member
was already initialized and the code did not handle this. This patch
updates validateCalculationUnit() to teach it to reuse the previously
parsed calculation in this case. All it needs to do is to update the
existing CSSCalcValue's range to allow negative values or not.

When writing the layout test for this, I also noticed that the CSS
parser was not rejecting negative calculated values for blur-radius
(only negative non-calculated ones). This is because
validateCalculationUnit() was ignoring FNonNeg if the calculated
value is a Length. This patch also addresses the issue.

Test: fast/css/text-shadow-calc-value.html

* css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::setPermittedValueRange):
Add a setter to update the CSSCalculationValue's permitted value range
so that the CSS parser does not need to fully reparse the calculation
only to update the permitted value range.

* css/CSSParser.cpp:
(WebCore::CSSParser::validateCalculationUnit):
- Teach the code to reuse the previously parsed calculation value.
- Do the FNonNeg check for Length calculations as well.

LayoutTests:

Add a layout test to check that using calculated values for
'text-shadow' CSS doesn't crash and works as intended. Also check
that the CSS parser is correctly validating the blur-radius, which
is supposed to be non-negative, as per the specification:
- http://dev.w3.org/csswg/css-text-decor-3/#text-shadow-property
- http://dev.w3.org/csswg/css-backgrounds-3/#shadow

* fast/css/text-shadow-calc-value-expected.txt: Added.
* fast/css/text-shadow-calc-value.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: REGRESSION Showing debugger sidebar shouldn't change selected JS file
commit-queue@webkit.org [Fri, 9 Jan 2015 05:18:40 +0000 (05:18 +0000)]
Web Inspector: REGRESSION Showing debugger sidebar shouldn't change selected JS file
https://bugs.webkit.org/show_bug.cgi?id=139526

Patch by Nikita Vasilyev <nvasilyev@apple.com> on 2015-01-08
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
When switching to Debugger, show last selected JS or HTML resource.

(WebInspector.showSplitConsole):
(WebInspector.showFullHeightConsole):
(WebInspector.toggleConsoleView):
(WebInspector._sidebarCollapsedStateDidChange):
(WebInspector._updateContentViewForCurrentNavigationSidebar):
(WebInspector._navigationSidebarPanelSelected):
(WebInspector._contentBrowserCurrentContentViewDidChange):
(WebInspector._updateNavigationSidebarForCurrentContentView): Deleted.
* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/DatabaseContentView.js:
(WebInspector.DatabaseContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/FontResourceContentView.js:
(WebInspector.FontResourceContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/ResourceClusterContentView.js:
(WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype.showMainFrame):
* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.removeSidebarPanel):
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype.get allowedNavigationSidebarPanels):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoModernize and streamline HTMLTokenizer
darin@apple.com [Fri, 9 Jan 2015 05:07:21 +0000 (05:07 +0000)]
Modernize and streamline HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=140166

Reviewed by Sam Weinig.

Source/WebCore:

* html/parser/AtomicHTMLToken.h:
(WebCore::AtomicHTMLToken::initializeAttributes): Removed unneeded assertions
based on fields I removed.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser): Change to use updateStateFor
to set the initial state when parsing a fragment, since it implements the same
rule taht the tokenizerStateForContextElement function did.
(WebCore::HTMLDocumentParser::pumpTokenizer): Updated to use the revised
interfaces for HTMLSourceTracker and HTMLTokenizer.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Changed to take a
TokenPtr instead of an HTMLToken, so we can clear out the TokenPtr earlier
for non-character tokens, and let them get cleared later for character tokens.
(WebCore::HTMLDocumentParser::insert): Pass references.
(WebCore::HTMLDocumentParser::append): Ditto.
(WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): Ditto.

* html/parser/HTMLDocumentParser.h: Updated argument type for constructTreeFromHTMLToken
and removed now-unneeded m_token data members.

* html/parser/HTMLEntityParser.cpp: Removed unneeded uses of the inline keyword.
(WebCore::HTMLEntityParser::consumeNamedEntity): Replaced two uses of
advanceAndASSERT with just plain advance; there's really no need to assert the
character is the one we just got out of the string.

* html/parser/HTMLInputStream.h: Moved the include of TextPosition.h here from
its old location since this class has two data members that are OrdinalNumber.

* html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): Removed most of the
initialization, since it's now done by defaults.
(WebCore::extractCharset): Rewrote this to be a non-member function, and to
use a for loop, and to handle quote marks in a simpler way. Also changed it
to return a StringView so we don't have to allocate a new string.
(WebCore::HTMLMetaCharsetParser::processMeta): Use a modern for loop, and
also take a token argument since it's no longer a data member.
(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): Use a modern for
loop, StringView instead of string, and don't bother naming the local enum.
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Updated for the new
way of getting tokens from the tokenizer.

* html/parser/HTMLMetaCharsetParser.h: Got rid of some data members and
tightened up the formatting a little. Don't bother allocating the tokenizer
on the heap.

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::TokenPreloadScanner): Removed unneeded
initialization.
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Ditto.
(WebCore::HTMLPreloadScanner::scan): Changed to take a reference.

* html/parser/HTMLPreloadScanner.h: Removed unneeded includes, typedefs,
and forward declarations. Removed explicit declaration of the destructor,
since the default one works. Removed unused createCheckpoint and rewindTo
functions. Gave initial values for various data members. Marked the device
scale factor const beacuse it's set in the constructor and never changed.
Also removed the unneeded isSafeToSendToAnotherThread.

* html/parser/HTMLResourcePreloader.cpp:
(WebCore::PreloadRequest::isSafeToSendToAnotherThread): Deleted.

* html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::PreloadRequest): Removed unneeded calls to
isolatedCopy. Also removed isSafeToSendToAnotherThread.

* html/parser/HTMLSourceTracker.cpp:
(WebCore::HTMLSourceTracker::startToken): Renamed. Changed to keep state
 in the source tracker itself, not the token.
(WebCore::HTMLSourceTracker::endToken): Ditto.
(WebCore::HTMLSourceTracker::source): Renamed. Changed to use the state
from the source tracker.

* html/parser/HTMLSourceTracker.h: Removed unneeded include of HTMLToken.h.
Renamed functions, removed now-unneeded comment.

* html/parser/HTMLToken.h: Cut down on the fields used by the source tracker.
It only needs to know the start and end of each attribute, not each part of
each attribute. Removed setBaseOffset, setEndOffset, length, addNewAttribute,
beginAttributeName, endAttributeName, beginAttributeValue, endAttributeValue,
m_baseOffset and m_length. Added beginAttribute and endAttribute.
(WebCore::HTMLToken::clear): No need to zero m_length or m_baseOffset any more.
(WebCore::HTMLToken::length): Deleted.
(WebCore::HTMLToken::setBaseOffset): Deleted.
(WebCore::HTMLToken::setEndOffset): Deleted.
(WebCore::HTMLToken::beginStartTag): Only null out m_currentAttribute if we
are compiling in assertions.
(WebCore::HTMLToken::beginEndTag): Ditto.
(WebCore::HTMLToken::addNewAttribute): Deleted.
(WebCore::HTMLToken::beginAttribute): Moved the code from addNewAttribute in
here and set the start offset.
(WebCore::HTMLToken::beginAttributeName): Deleted.
(WebCore::HTMLToken::endAttributeName): Deleted.
(WebCore::HTMLToken::beginAttributeValue): Deleted.
(WebCore::HTMLToken::endAttributeValue): Deleted.

* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLToken::endAttribute): Added. Sets the end offset.
(WebCore::HTMLToken::appendToAttributeName): Updated assertion.
(WebCore::HTMLToken::appendToAttributeValue): Ditto.
(WebCore::convertASCIIAlphaToLower): Renamed from toLowerCase and changed
so it's legal to call on lower case letters too.
(WebCore::vectorEqualsString): Changed to take a string literal rather than
a WTF::String.
(WebCore::HTMLTokenizer::inEndTagBufferingState): Made this a member function.
(WebCore::HTMLTokenizer::HTMLTokenizer): Updated for data member changes.
(WebCore::HTMLTokenizer::bufferASCIICharacter): Added. Optimized version of
bufferCharacter for the common case where we know the character is ASCII.
(WebCore::HTMLTokenizer::bufferCharacter): Moved this function here from the
header since it's only used inside the class.
(WebCore::HTMLTokenizer::emitAndResumeInDataState): Moved this here, renamed
it and removed the state argument.
(WebCore::HTMLTokenizer::emitAndReconsumeInDataState): Ditto.
(WebCore::HTMLTokenizer::emitEndOfFile): More of the same.
(WebCore::HTMLTokenizer::saveEndTagNameIfNeeded): Ditto.
(WebCore::HTMLTokenizer::haveBufferedCharacterToken): Ditto.
(WebCore::HTMLTokenizer::flushBufferedEndTag): Updated since m_token is now
the actual token, not just a pointer.
(WebCore::HTMLTokenizer::flushEmitAndResumeInDataState): Renamed this and
removed the state argument.
(WebCore::HTMLTokenizer::processToken): This function, formerly nextToken,
is now the internal function used by nextToken. Updated its contents to use
simpler macros, changed code to set m_state when returning, rather than
constantly setting it when cycling through states, switched style to use
early return/goto rather than lots of else statements, took out unneeded
braces now that BEGIN/END_STATE handles the braces, collapsed upper and
lower case letter handling in many states, changed lookAhead call sites to
use the new advancePast function instead.
(WebCore::HTMLTokenizer::updateStateFor): Set m_state directly instead of
calling a setstate function.
(WebCore::HTMLTokenizer::appendToTemporaryBuffer): Moved here from header.
(WebCore::HTMLTokenizer::temporaryBufferIs): Changed argument type to
a literal instead of a WTF::String.
(WebCore::HTMLTokenizer::appendToPossibleEndTag): Renamed and changed type
to be a UChar instead of LChar, although all characters will be ASCII.
(WebCore::HTMLTokenizer::isAppropriateEndTag): Marked const, and changed
type from size_t to unsigned.

* html/parser/HTMLTokenizer.h: Changed interface of nextToken so it returns
a TokenPtr so code doesn't have to understand special rules about when to
work with an HTMLToken and when to clear it. Made most functions private,
and made the State enum private as well. Replaced the state and setState
functions with more specific functions for the few states we need to deal
with outside the class. Moved function bodies outside the class definition
so it's easier to read the class definition.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to use the
new set state functions instead of setState.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.

* html/parser/InputStreamPreprocessor.h: Marked the constructor explicit,
and mde it take a reference rather than a pointer.

* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement): Updated to use the
new set state functions instead of setState.

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::decodedSnippetForName): Updated for name change.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Updated for changes to
attribute range tracking.
(WebCore::XSSAuditor::decodedSnippetForJavaScript): Updated for name change.
(WebCore::XSSAuditor::isSafeToSendToAnotherThread): Deleted.

* html/parser/XSSAuditor.h: Deleted isSafeToSendToAnotherThread.

* html/track/WebVTTTokenizer.cpp: Removed the local state variable from
WEBVTT_ADVANCE_TO; there is no need for it.
(WebCore::WebVTTTokenizer::WebVTTTokenizer): Use a reference instead of a
pointer for the preprocessor.
(WebCore::WebVTTTokenizer::nextToken): Ditto. Also removed the state local
variable and the switch statement, replacing with labels instead since we
go between states with goto.

* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::operator=): Changed the return type to be non-const
to match normal C++ design rules.
(WebCore::SegmentedString::pushBack): Renamed from prepend since this is not a
general purpose prepend function. Also fixed assertions to not use the strangely
named "escaped" function, since we are deleting it.
(WebCore::SegmentedString::append): Ditto.
(WebCore::SegmentedString::advancePastNonNewlines): Renamed from advance, since
the function only works for non-newlines.
(WebCore::SegmentedString::currentColumn): Got rid of unneeded local variable.
(WebCore::SegmentedString::advancePastSlowCase): Moved here from header and
renamed. This function now consumes the characters if they match.

* platform/text/SegmentedString.h: Made the changes mentioned above.
(WebCore::SegmentedString::excludeLineNumbers): Deleted.
(WebCore::SegmentedString::advancePast): Renamed from lookAhead. Also changed
behavior so the characters are consumed.
(WebCore::SegmentedString::advancePastIgnoringCase): Ditto.
(WebCore::SegmentedString::advanceAndASSERT): Deleted.
(WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Deleted.
(WebCore::SegmentedString::escaped): Deleted.

* xml/parser/CharacterReferenceParserInlines.h:
(WebCore::isHexDigit): Deleted.
(WebCore::unconsumeCharacters): Updated for name change.
(WebCore::consumeCharacterReference): Removed unneeded name for local enum,
renamed local variable "cc" to character. Changed code to use helpers like
isASCIIAlpha and toASCIIHexValue. Removed unneeded use of advanceAndASSERT,
since we don't really need to assert the character we just extracted.

* xml/parser/MarkupTokenizerInlines.h:
(WebCore::isTokenizerWhitespace): Renamed argument to character.
(WebCore::advanceStringAndASSERTIgnoringCase): Deleted.
(WebCore::advanceStringAndASSERT): Deleted.
Changed all the macro implementations so they set m_state only when
returning from the function and just use goto inside the state machine.

Source/WTF:

* wtf/Forward.h: Removed PassRef, added OrdinalNumber and TextPosition.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Phantom breakpoint appears on empty line after reload of minified...
commit-queue@webkit.org [Fri, 9 Jan 2015 04:25:30 +0000 (04:25 +0000)]
Web Inspector: Phantom breakpoint appears on empty line after reload of minified file with a breakpoint
https://bugs.webkit.org/show_bug.cgi?id=140276

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-08
Reviewed by Timothy Hatcher.

Styles being set on lines (e.g. breakpoint styles) before content loaded can
carry forward with the empty line. It is safe for us to just remove all
the styles from the intial empty line before we load the initial content.

* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.set string.update):
(WebInspector.TextEditor.prototype.set string):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix after r178151
benjamin@webkit.org [Fri, 9 Jan 2015 02:19:02 +0000 (02:19 +0000)]
Build fix after r178151

* contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::actions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] Start a prototype for declarative site specific extensions
benjamin@webkit.org [Fri, 9 Jan 2015 01:56:00 +0000 (01:56 +0000)]
[WK2] Start a prototype for declarative site specific extensions
https://bugs.webkit.org/show_bug.cgi?id=140160

Reviewed by Andreas Kling.

Source/WebCore:

Currently, clients have various ways to execute custom code for certain URLs.
Each of those mechanism implies messaging the UIProcess, executing some code
calling back to the WebProcess, then actually load the resource.
All this back and forth introduces delays before we actually load resources.

Since the set of actions is done per site is actually simple and limited,
it may be possible to do everything in WebCore and shortcut the defered loading.

This patch provides the starting point for this idea. The "rules" (currently just blocking)
are be passed to WebCore in a JSON format. In WebCore, we create a state
machine to match the rules and we execute the action when the state machine tells
us to.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* contentextensions/ContentExtensionRule.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(WebCore::ContentExtensions::ContentExtensionRule::ContentExtensionRule):
* contentextensions/ContentExtensionRule.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(WebCore::ContentExtensions::ContentExtensionRule::trigger):
(WebCore::ContentExtensions::ContentExtensionRule::action):
* contentextensions/ContentExtensionsBackend.cpp: Added.
(WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance):
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
(WebCore::ContentExtensions::ContentExtensionsBackend::removeRuleList):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
* contentextensions/ContentExtensionsBackend.h: Added.
* contentextensions/ContentExtensionsInterface.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(WebCore::ContentExtensions::shouldBlockURL):
* contentextensions/ContentExtensionsInterface.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
* contentextensions/ContentExtensionsManager.cpp: Added.
(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):
(WebCore::ContentExtensions::ExtensionsManager::loadAction):
(WebCore::ContentExtensions::ExtensionsManager::loadRule):
(WebCore::ContentExtensions::ExtensionsManager::loadExtension):
* contentextensions/ContentExtensionsManager.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
* contentextensions/DFA.cpp: Added.
(WebCore::ContentExtensions::DFA::DFA):
(WebCore::ContentExtensions::DFA::operator=):
(WebCore::ContentExtensions::DFA::nextState):
(WebCore::ContentExtensions::DFA::actions):
(WebCore::ContentExtensions::DFA::debugPrintDot):
* contentextensions/DFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(WebCore::ContentExtensions::DFA::root):
* contentextensions/DFANode.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
* contentextensions/NFA.cpp: Added.
(WebCore::ContentExtensions::NFA::NFA):
(WebCore::ContentExtensions::NFA::createNode):
(WebCore::ContentExtensions::NFA::addTransition):
(WebCore::ContentExtensions::NFA::addEpsilonTransition):
(WebCore::ContentExtensions::NFA::setFinal):
(WebCore::ContentExtensions::NFA::debugPrintDot):
* contentextensions/NFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(WebCore::ContentExtensions::NFA::root):
* contentextensions/NFANode.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(WebCore::ContentExtensions::NFANode::NFANode):
* contentextensions/NFANode.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
* contentextensions/NFAToDFA.cpp: Added.
(WebCore::ContentExtensions::epsilonClosure):
(WebCore::ContentExtensions::setTransitionsExcludingEpsilon):
(WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet):
(WebCore::ContentExtensions::HashableNodeIdSet::operator=):
(WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue):
(WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue):
(WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet):
(WebCore::ContentExtensions::HashableNodeIdSetHash::hash):
(WebCore::ContentExtensions::HashableNodeIdSetHash::equal):
(WebCore::ContentExtensions::addDFAState):
(WebCore::ContentExtensions::NFAToDFA::convert):
* contentextensions/NFAToDFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):

Source/WebKit2:

Provide a small SPI for OS X. This will likely move
to a better place.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]):
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::loadContentExtension):
* UIProcess/WebProcessPool.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::loadContentExtension):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Source/WTF:

* wtf/FeatureDefines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake better use of the stack when compiling selectors
benjamin@webkit.org [Fri, 9 Jan 2015 01:50:41 +0000 (01:50 +0000)]
Make better use of the stack when compiling selectors
https://bugs.webkit.org/show_bug.cgi?id=139615
rdar://problem/19226482

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-08
Reviewed by Andreas Kling.

Source/WebCore:

Selectors used to be only on one level. To avoid memory allocations, we were allocating
a lot of stack upfront and we were using that to create all the intermediary objects
used by the code generator.

Then, selectors became multilevel. We now support arbitrary nesting of selector lists.

We did not adapt any of the structures and the creation of the intermediary object is recursive.
This resulted in over 1k of stack allocation at every level, quickly accumulating to unreasonable
numbers.

This patch fixes this problem by making each stack frame of the recursion much lighter.
We no longer allocate the big objects (SelectorFragment and SelectorFragmentList) on the stack.

In each case where we would have used a Stack allocated SelectorFragment or SelectorFragmentList,
we now allocate the memory directly into the target vector.

In the cases where the object should not be on the vector, we simply remove it. Those are uncommon
cases so that should not be too bad.

Tests: fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html
       fast/selectors/not-selector-list-ending-with-never-matching-selectors.html
       fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors.html
       fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors.html

* cssjit/SelectorCompiler.cpp:
SelectorFragmentList is also used for nested lists. Keeping 32 SelectorFragment preallocated
for each nested list is way too big.

(WebCore::SelectorCompiler::addPseudoClassType):
There are three cases of nested selector lists supported by the compiler: :matches(), :not()
and :nth-child(). For those 3 cases, use the target vector memory instead of the stack.

(WebCore::SelectorCompiler::constructFragmentsInternal):
(WebCore::SelectorCompiler::constructFragments):
Make sure we do not modify the input list on failure since it may be reused.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass):
I changed the handling of :nth-child(An+B of selectorList) to not generate empty filters.
With that we can generalize the assertion to generateElementMatchesSelectorList() and simplify
the flow of selector lists a bit.

LayoutTests:

Those tests are checking the tail behavior of the various loop, just in case.

* fast/selectors/matches-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
* fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html: Added.
* fast/selectors/not-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
* fast/selectors/not-selector-list-ending-with-never-matching-selectors.html: Added.
* fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
* fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors.html: Added.
* fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
* fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove '-webkit-font-feature-settings' CSS property to the new StyleBuilder
cdumez@apple.com [Fri, 9 Jan 2015 01:42:10 +0000 (01:42 +0000)]
Move '-webkit-font-feature-settings' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140267

Reviewed by Andreas Kling.

Move '-webkit-font-feature-settings' CSS property to the new
StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertFontFeatureSettings):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialWebkitFontFeatureSettings):
(WebCore::StyleBuilderCustom::applyInheritWebkitFontFeatureSettings):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::makeNormalFeatureSettings): Deleted.
* platform/graphics/FontDescription.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoText not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing...
dino@apple.com [Fri, 9 Jan 2015 01:13:51 +0000 (01:13 +0000)]
Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page
https://bugs.webkit.org/show_bug.cgi?id=140232

Yet another attempt to get the Safari 7/8 build to work. I've moved the
stubs back into a place where they can be seen (both definition and implementation).
I also removed the previous workaround.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetApplicationChromeModeEnabled): Deleted.
(WKPreferencesGetApplicationChromeModeEnabled): Deleted.
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetApplicationChromeModeEnabled):
(WKPreferencesGetApplicationChromeModeEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFurther twek the results for kerning and ligature related failures:
ap@apple.com [Fri, 9 Jan 2015 01:13:09 +0000 (01:13 +0000)]
Further twek the results for kerning and ligature related failures:
1. Added Mavericks+ to all expectations, because Mountain Kion is fine.
2. Changed some expectations from [ Failure ] to [ Pass Failure ] to silence annoying
"unexpectedly passed" output. We need to do more of this.
3. Added a few tests that failed locally.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac WK2] Test snapshots are 1600x1200 on Retina devices
ap@apple.com [Fri, 9 Jan 2015 00:54:39 +0000 (00:54 +0000)]
[Mac WK2] Test snapshots are 1600x1200 on Retina devices
https://bugs.webkit.org/show_bug.cgi?id=139884

Reviewed by Tim Horton.

* WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::windowSnapshotImage):
Tell CGWindowListCreateImage to use the correct resolution. I don't really understand
what the "nominal resolution" is, but this appears to work in practice.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoArgument object created by "Function dot arguments" should use a clone of the argumen...
mark.lam@apple.com [Fri, 9 Jan 2015 00:49:31 +0000 (00:49 +0000)]
Argument object created by "Function dot arguments" should use a clone of the argument values.
<https://webkit.org/b/140093>

Reviewed by Geoffrey Garen.

After the change in <https://webkit.org/b/139827>, the dfg-tear-off-arguments-not-activation.js
test will crash.  The relevant code which manifests the issue is as follows:

    function bar() {
        return foo.arguments;
    }

    function foo(p) {
        var x = 42;
        if (p)
            return (function() { return x; });
        else
            return bar();
    }

In this case, foo() has no knowledge of bar() needing its LexicalEnvironment and
has dead code eliminated the SetLocal that stores it into its designated local.
In bar(), the factory for the Arguments object (for creating foo.arguments) tries
to read foo's LexicalEnvironment from its designated lexicalEnvironment local,
but instead, finds it to be uninitialized.  This results in a null pointer access
which causes a crash.

This can be resolved by having bar() instantiate a clone of the Arguments object
instead, and populate its elements with values fetched directly from foo's frame.
There's no need to reference foo's LexicalEnvironment (whether present or not).

* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::createArguments):
* runtime/Arguments.h:
(JSC::Arguments::finishCreation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake bmalloc work with ASan
ggaren@apple.com [Fri, 9 Jan 2015 00:41:58 +0000 (00:41 +0000)]
Make bmalloc work with ASan
https://bugs.webkit.org/show_bug.cgi?id=140194

Reviewed by Mark Lam.

* bmalloc/BPlatform.h: Added a way to detect Darwin OSes, since we need
an OS-specific API to test for loaded runtime libraries.

* bmalloc/Environment.cpp:
(bmalloc::isASanEnabled):
(bmalloc::Environment::computeIsBmallocEnabled): Disabled bmalloc if
ASan is enabled, since system malloc has the Asan hooks we need.

You could check for the ASan compile-time flag instead, but doing this
check at runtime prepares bmalloc for a world where it is a dynamic
library that might be loaded into projects it did not compile with.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake the LLINT and Baseline JIT's op_create_arguments and op_get_argument_by_val...
mark.lam@apple.com [Fri, 9 Jan 2015 00:10:01 +0000 (00:10 +0000)]
Make the LLINT and Baseline JIT's op_create_arguments and op_get_argument_by_val use their lexicalEnvironment operand.
<https://webkit.org/b/140236>

Reviewed by Geoffrey Garen.

Will change the DFG to use the operand on a subsequent pass.  For now,
the DFG uses a temporary thunk (operationCreateArgumentsForDFG()) to
retain the old behavior of getting the lexicalEnviroment from the
ExecState.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitGetArgumentByVal):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):
- When the lexicalEnvironment is not available, pass the invalid VirtualRegister
  instead of an empty JSValue as the lexicalEnvironment operand.

* dfg/DFGOperations.cpp:
- Use the lexicalEnvironment from the ExecState for now.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- Use the operationCreateArgumentsForDFG() thunk for now.

* interpreter/CallFrame.cpp:
(JSC::CallFrame::lexicalEnvironmentOrNullptr):
* interpreter/CallFrame.h:
- Added this convenience function to return either the
  lexicalEnvironment or a nullptr so that we don't need to do a
  conditional check on codeBlock->needsActivation() at multiple sites.

* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::createArguments):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emitSlow_op_get_argument_by_val):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emitSlow_op_get_argument_by_val):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/Arguments.h:
(JSC::Arguments::create):
(JSC::Arguments::finishCreation):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::argumentsGetter):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Build fix after r178133.
bfulgham@apple.com [Thu, 8 Jan 2015 23:51:11 +0000 (23:51 +0000)]
[Win] Build fix after r178133.

* platform/graphics/FontCache.h: Correct declaration of fontDataFromDescriptionAndLogFont
* platform/graphics/SimpleFontData.h: We still need 'platformDestroy'
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy): Add stub back to prevent build break.
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::fontDataFromDescriptionAndLogFont): Correct signature.
(WebCore::FontCache::lastResortFallbackFont): Correct '::' syntax.
(WebCore::FontCache:lastResortFallbackFont): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake WKNavigation bridged to API::Navigation
weinig@apple.com [Thu, 8 Jan 2015 23:48:34 +0000 (23:48 +0000)]
Make WKNavigation bridged to API::Navigation
https://bugs.webkit.org/show_bug.cgi?id=140272

Reviewed by Anders Carlsson.

* Shared/API/APIObject.h:
Add Navigation.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Bridge to WKNavigation.

* UIProcess/API/APINavigation.cpp: Added.
(API::Navigation::Navigation):
(API::Navigation::~Navigation):
* UIProcess/API/APINavigation.h: Added.
(API::Navigation::create):
(API::Navigation::request):
Add initial implementation.

* UIProcess/API/Cocoa/WKNavigation.mm:
(-[WKNavigation dealloc]):
(-[WKNavigation _request]):
(-[WKNavigation _apiObject]):
* UIProcess/API/Cocoa/WKNavigationInternal.h:
(API::wrapper):
Implement bridging to API::Navigation and get the request from the underlying object.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _restoreSessionState:andNavigate:]):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::createLoadRequestNavigation):
(WebKit::NavigationState::createBackForwardNavigation):
(WebKit::NavigationState::createReloadNavigation):
(WebKit::NavigationState::createLoadDataNavigation):
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
Switch to storing API::Navigations.

* WebKit2.xcodeproj/project.pbxproj:
Add the new files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoText not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing...
dino@apple.com [Thu, 8 Jan 2015 23:47:39 +0000 (23:47 +0000)]
Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page
https://bugs.webkit.org/show_bug.cgi?id=140232

Unreviewed followup to try to get the Mavericks Safari to build.

* Shared/WebPreferencesDefinitions.h: Add the application chrome mode definition.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTools:
bfulgham@apple.com [Thu, 8 Jan 2015 23:34:31 +0000 (23:34 +0000)]
Tools:
[Win] DumpRenderTree is always using 800x600 size, even if tests need other size.
https://bugs.webkit.org/show_bug.cgi?id=140256

Reviewed by Anders Carlsson.

* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues): Drive-by fix of a buffer overrun found while
running with heap validation checks.
(sizeWebViewForCurrentTest): Check both path separators ('/' and '\\') when checking for
the "svg\\W3C-SVG-1.1" test directory.
(removeFontFallbackIfPresent): Use nullptr instead of 0.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::clearPersistentUserStyleSheet): Ditto.

LayoutTests:
[Win] DumpRenderTree always using 800x600 size even if test needs other size
https://bugs.webkit.org/show_bug.cgi?id=140256

Reviewed by Anders Carlsson.

* platform/win/TestExpectations: Take out the skips now that this works properly.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Pause Reason Improvements (Breakpoint, Debugger Statement, Pause on...
joepeck@webkit.org [Thu, 8 Jan 2015 23:16:48 +0000 (23:16 +0000)]
Web Inspector: Pause Reason Improvements (Breakpoint, Debugger Statement, Pause on Next Statement)
https://bugs.webkit.org/show_bug.cgi?id=138991

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::pauseIfNeeded):
(JSC::Debugger::didReachBreakpoint):
When actually pausing, if we hit a breakpoint ensure the reason
is PausedForBreakpoint, otherwise use the current reason.

* debugger/Debugger.h:
Make pause reason and pausing breakpoint ID public.

* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::buildAssertPauseReason):
(Inspector::buildCSPViolationPauseReason):
(Inspector::InspectorDebuggerAgent::buildBreakpointPauseReason):
(Inspector::InspectorDebuggerAgent::buildExceptionPauseReason):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
Clean up creation of pause reason objects and other cleanup
of PassRefPtr use and InjectedScript use.

(Inspector::InspectorDebuggerAgent::didPause):
Clean up so that we first check for an Exception, and then fall
back to including a Pause Reason derived from the Debugger.

* inspector/protocol/Debugger.json:
Add new DebuggerStatement, Breakpoint, and PauseOnNextStatement reasons.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
New UI strings for Pause Reasons.

* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
Provide a way to get the breakpoint with an identifier.

* UserInterface/Images/PausedBreakpoint.svg: Added.
* UserInterface/Images/gtk/PausedBreakpoint.svg: Added.
Copy PseudoElement.svg icon and give it a new name.

* UserInterface/Views/BreakpointTreeElement.css:
(.breakpoint-paused-icon .icon):
New icon for a breakpoint causing a pause.

* UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement.prototype.removeStatusImage):
(WebInspector.BreakpointTreeElement.prototype._updateStatus):
Give API to remove the breakpoint status icon from a BreakpointTreeElement.

* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype.get hasSelectedElement):
(WebInspector.DebuggerSidebarPanel.prototype.deselectBreakpointContentTreeElements):
(WebInspector.DebuggerSidebarPanel.prototype.deselectPauseReasonContentTreeElements):
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
Give DebuggerSidebarPanel an optional pause reason tree outline. When available
include it in the pattern of ensuring a single exclusive selection.

(WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
When a breakpoint is removed, check if we should update the pause reason tree outline.

(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
Update Pause Reason section contents depending on the reason.

(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonGotoArrow):
Always try to include a goto arrow to jump to the original pause location
if it is available at the time of pausing.

LayoutTests:

Test that the frontend receives expected pause reasons for different kinds of pauses.

* inspector/debugger/pause-reason-expected.txt: Added.
* inspector/debugger/pause-reason.html: Added.
* inspector/debugger/resources/pause-reasons.js: Added.
(triggerBreakpoint):
(triggerException):
(triggerDebuggerStatement):
(triggerAssert):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove the concept of "retained" font
antti@apple.com [Thu, 8 Jan 2015 22:30:06 +0000 (22:30 +0000)]
Remove the concept of "retained" font
https://bugs.webkit.org/show_bug.cgi?id=140246

Reviewed by Darin Adler.

FontCache currently maintains a secondary refcount for SimpleFontDatas. This is used to decide whether
a font is considered inactive and is eligible for purging. This is confusing and complex.

The new scheme in this patch considers fonts in font cache inactive if their refcount is 1 (they are
owned by the cache only). This simplifies the code and gives similar behavior. Types that "retained" the
font this way always also ref it.

We also avoid unnecessarily removing fonts that wouldn't get deleted from the cache.

Also modernized some names and code.

* WebCore.exp.in:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontData):
(WebCore::CSSFontSelector::getFallbackFontData):
* platform/graphics/FontCache.cpp:
(WebCore::fontPlatformDataCache):
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::cachedFonts):
(WebCore::FontCache::fontForFamily):
(WebCore::FontCache::fontDataForPlatformData):
(WebCore::FontCache::purgeInactiveFontDataIfNeeded):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::fontDataCount):
(WebCore::FontCache::inactiveFontDataCount):
(WebCore::FontCache::fontForFamilyAtIndex):
(WebCore::FontCache::invalidate):
(WebCore::FontCache::getCachedFontData): Deleted.
(WebCore::FontCache::getNonRetainedLastResortFallbackFont): Deleted.
(WebCore::FontCache::releaseFontData): Deleted.
(WebCore::FontCache::getFontData): Deleted.
* platform/graphics/FontCache.h:
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::~FontGlyphs):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::releaseFontData): Deleted.
* platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::~FontGlyphs): Deleted.
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::~SimpleFontData):
* platform/graphics/SimpleFontData.h:
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::platformDestroy): Deleted.
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::similarFontPlatformData):
(WebCore::FontCache::lastResortFallbackFont):
(WebCore::FontCache::getLastResortFallbackFont): Deleted.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::platformDestroy): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove AbstractSQLTransaction
andersca@apple.com [Thu, 8 Jan 2015 22:11:44 +0000 (22:11 +0000)]
Remove AbstractSQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=140265

Reviewed by Tim Horton.

* Modules/webdatabase/AbstractSQLTransaction.h: Removed.
* Modules/webdatabase/DatabaseBackend.cpp:
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::~SQLTransaction):
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
* Modules/webdatabase/SQLTransactionBackend.h:
* WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed build fix after r178124.
bfulgham@apple.com [Thu, 8 Jan 2015 21:55:40 +0000 (21:55 +0000)]
[Win] Unreviewed build fix after r178124.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbol that
is no longer part of WebCore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed build fix after r178124.
bfulgham@apple.com [Thu, 8 Jan 2015 21:29:11 +0000 (21:29 +0000)]
[Win] Unreviewed build fix after r178124.

Remove uses of the removed applicationChromeMode method.

* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::getThemeData):
(WebCore::RenderThemeWin::paintMenuList):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove AbstractSQLTransactionBackend
andersca@apple.com [Thu, 8 Jan 2015 21:13:41 +0000 (21:13 +0000)]
Remove AbstractSQLTransactionBackend
https://bugs.webkit.org/show_bug.cgi?id=140227

Reviewed by Darin Adler.

* Modules/webdatabase/AbstractSQLTransaction.h:
* Modules/webdatabase/AbstractSQLTransactionBackend.h: Removed.
* Modules/webdatabase/SQLStatementBackend.cpp:
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::setBackend):
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransactionBackend.h:
* WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: character != kEndOfFileMarker in WebCore::HTMLTokenizer::bufferChar...
darin@apple.com [Thu, 8 Jan 2015 21:12:08 +0000 (21:12 +0000)]
ASSERTION FAILED: character != kEndOfFileMarker in WebCore::HTMLTokenizer::bufferCharacter
https://bugs.webkit.org/show_bug.cgi?id=140179

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/parser/numeric-entities.html

* html/parser/HTMLEntityParser.cpp:
(WebCore::HTMLEntityParser::legalEntityFor): Merged adjustEntity logic in here.
Since the type UChar32 is a signed integer, need to check for <= 0, not just 0.
This <= change alone would have fixed the bug.

* xml/parser/CharacterReferenceParserInlines.h:
(WebCore::consumeCharacterReference): Added overflow checking when parsing hex
and decimal character references. This change alone would also have fixed the
bug, but in addition it makes overflow cases reliably generate replacement
characters rather than ignoring the overflow and producing seemingly random
characters. Test cases cover the original reported bug and other overflow cases.

LayoutTests:

* fast/parser/numeric-entities-expected.txt: Added.
* fast/parser/numeric-entities.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Type check NSArray's in ObjC Interfaces have the right object types
joepeck@webkit.org [Thu, 8 Jan 2015 21:03:50 +0000 (21:03 +0000)]
Web Inspector: Type check NSArray's in ObjC Interfaces have the right object types
https://bugs.webkit.org/show_bug.cgi?id=140209

Reviewed by Timothy Hatcher.

Check the types of objects in NSArrays for all interfaces (commands, events, types)
when the user can set an array of objects. Previously we were only type checking
they were RWIJSONObjects, now we add an explicit check for the exact object type.

* inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
* inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjCProtocolTypesImplementationGenerator._generate_setter_for_member):
* inspector/scripts/codegen/objc_generator.py:
(ObjCGenerator.objc_class_for_array_type):
(ObjCGenerator):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCan't use DataDetectors after immediate action preparation
timothy_horton@apple.com [Thu, 8 Jan 2015 20:59:21 +0000 (20:59 +0000)]
Can't use DataDetectors after immediate action preparation
https://bugs.webkit.org/show_bug.cgi?id=140263
<rdar://problem/19412705>

Reviewed by Beth Dakin.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
To match WebKit2, only call shouldUseActions if the animation is actually
going to begin, not when preparing for it. This way, we're guaranteed
to get a didCancel or didComplete.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAfter updating tests to use kerning, ligatures, and printer fonts, some tests fail
eric.carlson@apple.com [Thu, 8 Jan 2015 20:54:22 +0000 (20:54 +0000)]
After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

* platform/mac/TestExpectations: Mark Mavericks-only failures as Mavericks+ because some of them
also fail Yosemite. Add more tests that are sometimes flaky after r177774.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoText not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing...
dino@apple.com [Thu, 8 Jan 2015 20:24:52 +0000 (20:24 +0000)]
Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page
https://bugs.webkit.org/show_bug.cgi?id=140232
<rdar://problem/19371010>

Reviewed by Anders Carlsson.

Source/WebCore:

We need to support default button styling even when application chrome
mode is not enabled (it was a bit weird that this was exposed as a Setting
anyway). We should render as a default button whenever content sets
the proprietary -webkit-appearance. This means we don't need the
applicationChromeMode setting.

For normal Web content there should be no change in behavior.

* page/Settings.in: Remove applicationChromeMode
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isDefault): Don't test for the setting.

Source/WebKit/mac:

Remove the applicationChromeMode setting, but leave stubs in to make
sure existing binaries don't break.

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences applicationChromeModeEnabled]):
(-[WebPreferences setApplicationChromeModeEnabled:]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Remove the applicationChromeMode setting, but leave stubs in to make
sure existing binaries don't break.

* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::inApplicationChromeMode):
(WebPreferences::setApplicationChromeMode):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

Remove the applicationChromeMode setting, but leave stubs in to make
sure existing binaries don't break.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetApplicationChromeModeEnabled):
(WKPreferencesGetApplicationChromeModeEnabled):
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetApplicationChromeModeEnabled): Deleted.
(WKPreferencesGetApplicationChromeModeEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorPageGroups::createInspectorPageGroup):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnfriend StyleResolver and StyleBuilderCustom
cdumez@apple.com [Thu, 8 Jan 2015 20:05:15 +0000 (20:05 +0000)]
Unfriend StyleResolver and StyleBuilderCustom
https://bugs.webkit.org/show_bug.cgi?id=140247

Reviewed by Darin Adler.

Stop marking StyleBuilderCustom as a friend of StyleResolver by
refactoring the code a bit.

* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFont):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyFont):
* css/StyleResolver.h:
(WebCore::StyleResolver::documentSettings):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed Win gardening to get bots green.
bfulgham@apple.com [Thu, 8 Jan 2015 19:24:14 +0000 (19:24 +0000)]
[Win] Unreviewed Win gardening to get bots green.

Provide new baselines for a number of tests, and add new expectations for a number of bugs I've filed
documenting failures on the Windows platform.

* platform/win/TestExpectations:
* platform/win/fast/forms/search-vertical-alignment-expected.txt:
* platform/win/fast/forms/textfield-overflow-by-value-update-expected.txt:
* platform/win/fast/regions: Added.
* platform/win/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Added.
* platform/win/fast/regions/region-dynamic-after-before-expected.txt: Added.
* platform/win/fast/regions/region-generated-content-before-after-expected.txt: Added.
* platform/win/fast/regions/repaint: Added.
* platform/win/fast/regions/repaint/region-painting-invalidation-expected.txt: Added.
* platform/win/fast/regions/text-region-split-small-pagination-expected.txt: Added.
* platform/win/fast/text/international/danda-space-expected.txt:
* platform/win/fast/text/international/thai-baht-space-expected.txt:
* platform/win/media/audio-constructor-preload-expected.txt: Added.
* platform/win/media/encrypted-media: Added.
* platform/win/media/encrypted-media/encrypted-media-can-play-type-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed GTK gardening after r178115.
clopez@igalia.com [Thu, 8 Jan 2015 18:47:56 +0000 (18:47 +0000)]
[GTK] Unreviewed GTK gardening after r178115.

* platform/gtk/TestExpectations: Update expected failures.
* platform/gtk/fast/ruby/bopomofo-expected.png: Added. Add image baseline as expected (generated before r177637).
* platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.png: Added. Add image baseline as expected (generated before r177637).
* platform/gtk/fast/ruby/bopomofo-rl-expected.png: Added. Add image baseline as expected (generated before r177637).
* platform/gtk/fast/text/khmer-lao-font-expected.png: Added. Add image baseline as expected (generated before r177637).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[ThreadedCompositor] Update active animations without interrupting the main-thread
yoon@igalia.com [Thu, 8 Jan 2015 18:11:19 +0000 (18:11 +0000)]
[ThreadedCompositor] Update active animations without interrupting the main-thread
https://bugs.webkit.org/show_bug.cgi?id=140245

Reviewed by Martin Robinson.

In the Threaded Compositor, CoordinatedGraphicsScene can directly
request updateViewport to the compositing thread if it has any active
animation.

To keep current behavior of CoordinatedGraphics, this patch modifies
CoordinatedGraphicsScene to remember the constructed thread as a
clientRunLoop, and dispatch updateViewport calls to clientRunLoop.

No new tests. No change in functionality.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop):
(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::updateViewport):
* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::ThreadedCompositor):
(WebKit::ThreadedCompositor::runCompositingThread):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CoordinatedGraphics] Update fixedVisibleContentRect only it is actually changed
yoon@igalia.com [Thu, 8 Jan 2015 18:03:21 +0000 (18:03 +0000)]
[CoordinatedGraphics] Update fixedVisibleContentRect only it is actually changed
https://bugs.webkit.org/show_bug.cgi?id=140244

Reviewed by Martin Robinson.

CompositingCoordinator::setVisibleContentsRect already knows whether the
rect has been changed. Therefore, there is no need to call
FrameView::setFixedVisibleContentRect every time.

No new tests, covered by existing tests.

* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::setVisibleContentsRect):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFollow-up to: When WebProcess is slow to respond to IPC, that's mistakenly reported...
ap@apple.com [Thu, 8 Jan 2015 18:02:09 +0000 (18:02 +0000)]
Follow-up to:  When WebProcess is slow to respond to IPC, that's mistakenly reported as crash
https://bugs.webkit.org/show_bug.cgi?id=140218

* Scripts/webkitpy/port/driver.py: (Driver._check_for_driver_crash_or_unresponsiveness):
Undone an accidental change - check for self.has_crashed() again. This code path
is for ports that don't have a signal handler printing #CRASHED when main process
crashes.

* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_check_for_driver_crash.assert_crash):
(DriverTest.test_check_for_driver_crash):
Updated the tests, all changes are expected.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTwo tests, which include data uri images, need to be changed and rebaselined since...
ap@apple.com [Thu, 8 Jan 2015 17:11:37 +0000 (17:11 +0000)]
Two tests, which include data uri images, need to be changed and rebaselined since the expected results are incorrect
https://bugs.webkit.org/show_bug.cgi?id=140199

Revert unneeded changes landed in this patch, and update results on Mavericks
to make bots green

* fast/forms/basic-buttons.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWhen WebProcess is slow to respond to IPC, that's mistakenly reported as crash
ap@apple.com [Thu, 8 Jan 2015 17:10:01 +0000 (17:10 +0000)]
When WebProcess is slow to respond to IPC, that's mistakenly reported as crash
https://bugs.webkit.org/show_bug.cgi?id=140218

Reviewed by Darin Adler.

* Scripts/webkitpy/port/driver.py:
(Driver.__init__): Removed _subprocess_was_unresponsive that was a modifier for
"process crashed" condition. These don't make sense together - it's either a crash
or a timeout, and we should detect those properly at a much lower level.
(Driver.run_test): Ditto.
(Driver._check_for_driver_crash_or_unresponsiveness): Split crash and unresponsiveness
cases.

* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::webProcessName):
(WTR::TestController::processDidCrash):
Factored out hardcoded child process names, as we now use these in two places.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Dump an accurate child
process name, so that it can be sampled (fixes sampling on Mavericks and above).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r177637) [HarfBuzz][GTK][EFL] It made 3 performance tests crash and +24...
carlosgc@webkit.org [Thu, 8 Jan 2015 16:47:53 +0000 (16:47 +0000)]
REGRESSION(r177637) [HarfBuzz][GTK][EFL] It made 3 performance tests crash and +24 layout tests crashes/failures
https://bugs.webkit.org/show_bug.cgi?id=139905

Reviewed by Antti Koivisto.

Source/WebCore:

* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns): Fallback to
primary font data for missing glyphs.

LayoutTests:

* platform/gtk/TestExpectations: Remove crashing/failing tests
that should pass now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBorders inside box-decoration-break: clone after a br do not contribute to line breaking
mmaxfield@apple.com [Thu, 8 Jan 2015 16:14:59 +0000 (16:14 +0000)]
Borders inside box-decoration-break: clone after a br do not contribute to line breaking
https://bugs.webkit.org/show_bug.cgi?id=140238

Reviewed by Darin Adler.

Source/WebCore:

When we iterate through renderers for line breaking, we determine which of the renderers
is responsible for inserting its parent's border width. However, this determination didn't
take a <br> and box-decoration-break: clone into account.

Test: fast/box-decoration-break/box-decoration-break-clone-line-break.html

* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling): Clean up to use a do / while block.

LayoutTests:

* fast/box-decoration-break/box-decoration-break-clone-line-break-expected.html: Added.
* fast/box-decoration-break/box-decoration-break-clone-line-break.html: Added.
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReorder my list of email addresses, keeping the Bugzilla address at the
zandobersek@gmail.com [Thu, 8 Jan 2015 15:55:16 +0000 (15:55 +0000)]
Reorder my list of email addresses, keeping the Bugzilla address at the
top since Bugzilla and other webkitpy scripts rely on that ordering.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Clean typos in tests expectations after r177492.
commit-queue@webkit.org [Thu, 8 Jan 2015 15:00:54 +0000 (15:00 +0000)]
[EFL] Clean typos in tests expectations after r177492.
https://bugs.webkit.org/show_bug.cgi?id=140242.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-08
Reviewed by Csaba Osztrogonác.

There were few missing spaces, which made expectations not correctly recognized as tokens.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Seperate updateBackingStore from flushCompositingState.
yoon@igalia.com [Thu, 8 Jan 2015 13:29:41 +0000 (13:29 +0000)]
[GTK] Seperate updateBackingStore from flushCompositingState.
https://bugs.webkit.org/show_bug.cgi?id=136887

Reviewed by Žan Doberšek.

Source/WebCore:

When LayerTreeHostGtk flushes pending layer changes, it updates backing
stores using same loop. This makes requesting layer flush during
flushing in certain condition which causes a assertion failure.

Animated GIF's animations are drived by the painting cycle,
GraphicsLayerTextureMapper::updateBackingStoreIfNeeded would request
scheduleLayerFlush during flushing layers, if animated GIF needs to
advance its frame immediately. It doesn't mean the advanced frame should
be painted in this painting phase. This frame advancing happens after
painting a current frame to the backing store. It means the advanced
frame should be painted ASAP without using its frame timer.

This patch seperates updateBackingStore from flushCompositingState
to avoid above behavior.

No new tests. The bug is timing-dependent.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::toGraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
Modified to call GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Expected UserAgent styles to be crossed-out if overridden
commit-queue@webkit.org [Thu, 8 Jan 2015 11:43:00 +0000 (11:43 +0000)]
Web Inspector: Expected UserAgent styles to be crossed-out if overridden
https://bugs.webkit.org/show_bug.cgi?id=140154

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-08
Reviewed by Timothy Hatcher.

* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
Add a comment about anonymous styles. The getter is no longer used, and it is not
clear if we really care about this state, or if "anonymous" is an appropriate name.

(WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
Allow browser styles (user agent / html attributes) to be overridden.

(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
When refreshing styles after changes, the Style object backing HTML attributes
was being completely replaced. Allow it to be remembered by a unique key.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMoving myself to the reviewers section and updating
zandobersek@gmail.com [Thu, 8 Jan 2015 10:37:39 +0000 (10:37 +0000)]
Moving myself to the reviewers section and updating
the list of my email addresses.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout...
cdumez@apple.com [Thu, 8 Jan 2015 07:55:44 +0000 (07:55 +0000)]
Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140219

Reviewed by Darin Adler.

Move -webkit-tap-highlight-color / -webkit-overflow-scrolling /
-webkit-touch-callout to the new StyleBuilder.

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::gradientWithStylesResolved):
* css/CSSPropertyNames.in:
* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertTouchCallout):
(WebCore::StyleBuilderConverter::convertTapHighlightColor):
(WebCore::StyleBuilderConverter::convertOverflowScrolling):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
(WebCore::StyleResolver::colorFromPrimitiveValue):
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd the lexicalEnvironment as an operand to op_get_argument_by_val.
mark.lam@apple.com [Thu, 8 Jan 2015 06:20:00 +0000 (06:20 +0000)]
Add the lexicalEnvironment as an operand to op_get_argument_by_val.
<https://webkit.org/b/140233>

Reviewed by Filip Pizlo.

This patch only adds the operand to the bytecode.  It is not in use yet.

* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetArgumentByVal):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Editing Inline Styles Not Working
burg@cs.washington.edu [Thu, 8 Jan 2015 06:19:38 +0000 (06:19 +0000)]
Web Inspector: Editing Inline Styles Not Working
https://bugs.webkit.org/show_bug.cgi?id=140239

Reviewed by Joseph Pecoraro.

Fix a regression introduced in r178060, where we no longer set
m_ordinal in InspectorCSSId. The original refactoring should have
passed m_ordinal. Fix this and introduce a sensible default value.

* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
dbates@webkit.org [Thu, 8 Jan 2015 06:07:19 +0000 (06:07 +0000)]
[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

As pointed out by Tim Horton, use C-style comment instead of C++-style comment as
wtf/Compiler.h is included in the sandbox profile and the sandbox profile compiler
doesn't understand C++-style comments.

* wtf/Compiler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Build gtk-doc without gtkdoc-mktmpl
commit-queue@webkit.org [Thu, 8 Jan 2015 06:00:52 +0000 (06:00 +0000)]
[GTK] Build gtk-doc without gtkdoc-mktmpl
https://bugs.webkit.org/show_bug.cgi?id=140225

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2015-01-07
Reviewed by Darin Adler.

Stop calling gtkdoc-mktmpl. It's being removed upstream, and since we
don't modify the tmpl files that it generates, it's not doing anything
for us.

* gtk/gtkdoc.py:
(GTKDoc.generate):
(GTKDoc._run_gtkdoc_scangobj):
(GTKDoc._run_gtkdoc_mktmpl): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAssert should never be reached hit in WebCore::CSSCalcPrimitiveValue::doubleValue
cdumez@apple.com [Thu, 8 Jan 2015 05:56:27 +0000 (05:56 +0000)]
Assert should never be reached hit in WebCore::CSSCalcPrimitiveValue::doubleValue
https://bugs.webkit.org/show_bug.cgi?id=140180

Reviewed by Darin Adler.

Source/WebCore:

Add support for using floating-point angles with 'turn' unit, as per the
specification:
http://dev.w3.org/csswg/css-values-3/#angles

Previously, we only supported integer values for the 'turn' unit even
though other angle units (e.g. 'deg') handle floating-point values just
fine. Trying to use a floating-point value with 'turn' unit would cause
us to hit an assertion in CSSCalcPrimitiveValue::doubleValue().

Also fix the support for angles in calc().
CSSPrimitiveValue::computeDegrees() was accessing m_primitiveUnitType
member directly, which would be incorrect in the case of calculated
values. This patch switches to calling CSSPrimitiveValue::primitiveType()
which handles calculated values.

Test: fast/css/turn-angle-double.html

* css/CSSCalculationValue.cpp:
(WebCore::hasDoubleValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeDegrees):

LayoutTests:

Add a layout test to make sure that using float-point angles with 'turn' unit
does not crash and behaves as intended. Also cover the case where calc() is
used.

* fast/css/turn-angle-double-expected.txt: Added.
* fast/css/turn-angle-double.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove 'font' CSS property to the new StyleBuilder
cdumez@apple.com [Thu, 8 Jan 2015 05:36:59 +0000 (05:36 +0000)]
Move 'font' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140181

Reviewed by Darin Adler.

Move 'font' CSS property to the new StyleBuilder.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove '-webkit-dashboard-region' CSS property to the new StyleBuilder
cdumez@apple.com [Thu, 8 Jan 2015 05:33:07 +0000 (05:33 +0000)]
Move '-webkit-dashboard-region' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140204

Reviewed by Darin Adler.

Move '-webkit-dashboard-region' CSS property to the new StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderCustom.h:
(WebCore::convertToIntLength):
(WebCore::StyleBuilderCustom::applyValueWebkitDashboardRegion):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::convertToIntLength): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoThe ASCII decoding for non ASCII character is incorrect if this character comes after...
commit-queue@webkit.org [Thu, 8 Jan 2015 05:18:20 +0000 (05:18 +0000)]
The ASCII decoding for non ASCII character is incorrect if this character comes after going through the fast decoding code path and before the end of the text by less than a machine word size of characters.
https://bugs.webkit.org/show_bug.cgi?id=140173.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-07
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/encoding/char-after-fast-path-ascii-decoding.html.

* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::decode):
This function has a bug when it goes through the fast decoding code path. After copying
one or more all ASCII MachineWords from source to the destination, the following byte
is copied as is from the source to the destination even if it is non ASCII byte. This
causes the decoded bytes to be incorrect. The fix is to ensure that the current byte
is still ASCII after exiting the fast decoding code path.

LayoutTests:

* fast/encoding/char-after-fast-path-ascii-decoding-expected.txt: Added.
* fast/encoding/char-after-fast-path-ascii-decoding.html: Added.
Ensures when an non ASCII character comes after a machine word, whose bytes are all
ASCII characters, is decoded correctly.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoInvestigate the character type of repeated string instead of checking is8Bit flag
utatane.tea@gmail.com [Thu, 8 Jan 2015 05:09:25 +0000 (05:09 +0000)]
Investigate the character type of repeated string instead of checking is8Bit flag
https://bugs.webkit.org/show_bug.cgi?id=140139

Reviewed by Darin Adler.

Instead of checking is8Bit flag of the repeated string, investigate
the actual value of the repeated character since i8Bit flag give a false negative case.

* runtime/StringPrototype.cpp:
(JSC::repeatCharacter):
(JSC::stringProtoFuncRepeat):
(JSC::repeatSmallString): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHTMLSelectElement and HTMLOptionsCollection add() method should support index as...
commit-queue@webkit.org [Thu, 8 Jan 2015 04:55:45 +0000 (04:55 +0000)]
HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument.
https://bugs.webkit.org/show_bug.cgi?id=139179

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-07
Reviewed by Darin Adler.

Source/WebCore:

HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument as per specification
http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element.
Also this matches the behavior of Chrome and FireFox.

Tests: fast/dom/HTMLSelectElement/add.html
       fast/dom/HTMLSelectElement/options-collection-add.html

* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add): Deleted.
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add):
* html/HTMLOptionsCollection.h:
* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
* html/HTMLSelectElement.h:
* html/HTMLSelectElement.idl:

LayoutTests:

* fast/dom/HTMLSelectElement/add-expected.txt: Added.
* fast/dom/HTMLSelectElement/add.html: Added.
* fast/dom/HTMLSelectElement/options-collection-add-expected.txt: Added.
* fast/dom/HTMLSelectElement/options-collection-add.html: Added.
* fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt:
* fast/dom/HTMLSelectElement/select-add-optgroup.html:
* fast/dom/incompatible-operations-expected.txt:
* fast/dom/incompatible-operations.html:
* js/dom/script-tests/select-options-add.js:
* js/dom/select-options-add-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Do not create rulesMap entries for rules without identifiers
commit-queue@webkit.org [Thu, 8 Jan 2015 04:37:13 +0000 (04:37 +0000)]
Web Inspector: Do not create rulesMap entries for rules without identifiers
https://bugs.webkit.org/show_bug.cgi?id=140237

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-07
Reviewed by Timothy Hatcher.

* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
We were accidentally converting a null into a string with a loose string
concatenation. Only do this if the mapKey is not-null.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK][ThreadedCompositor] Add support for threaded compositor.
yoon@igalia.com [Thu, 8 Jan 2015 04:29:24 +0000 (04:29 +0000)]
[GTK][ThreadedCompositor] Add support for threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=118265

Reviewed by Martin Robinson.

.:

Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
autotools build systems. The feature is disabled by default.
And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
from the feature flags.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebCore:

* PlatformGTK.cmake:
Adds CoodinatedGraphics and threaded compositor related classes to
support threaded compositor

* platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
* platform/graphics/texmap/coordinated/CoordinatedTile.h:
This class should be guarded by COORDINATED_GRAPHICS instead of
TILED_BACKING_STORE

Source/WebKit2:

This patch introduces a threaded compositor for WebKitGTK+.
It is disabled as a default because it is a initial implementation.
The threaded compositor can be enabled using --threaded-compositor
option at compile time.

No new tests, this is an experimental feature.

* PlatformGTK.cmake:
Adds CoodinatedGraphics and threaded compositor related classes to
support threaded compositor

* Shared/DrawingAreaInfo.h:
Use DrawingAreaImpl for threaded compositor

* UIProcess/API/gtk/WebKitSettings.cpp:
(_WebKitSettingsPrivate::_WebKitSettingsPrivate):
Modified to use forceCompositingMode when the threaded compositor used.
If we does not set this mode here, it cannot draw the root content layer.

* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: Added.
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: Added.
(WebKit::ThreadedCoordinatedLayerTreeHost::rootLayer):
Implements ThreadedCoordinatedLayerTreeHost to use the threaded
compositor. It is basically similar with CoordinatedLayerTreeHost but it uses ThreadedCompositor instead of IPC.

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentsSizeChanged):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::create):
(WebKit::DrawingArea::DrawingArea):
* WebProcess/WebPage/DrawingArea.h:
COORDINATED_GRAPHICS_MULTIPROCESS is introduced to classify IPC specific codes
from Coordinated Graphics.
And COORDINATED_GRAPHICS_THREADED is used to guard the threaded
compositor specific codes.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
Modified to use forceCompositingMode when the threaded compositor used.
If we does not set this mode here, it will crash because of PageOverlay.
(WebKit::DrawingAreaImpl::mainFrameContentSizeChanged):
(WebKit::DrawingAreaImpl::updateBackingStoreState):
Modified to handle contents / viewport size changes for threaded compositor.
(WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer):
Added to support Overlay layer in the threaded compositor.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Push the surface handle for compositing to the threaded compositor.

* WebProcess/WebPage/DrawingAreaImpl.h: Use COORDINATED_GRAPIHCS_THREADED to guard the threaded compositor related codes.
* WebProcess/WebPage/LayerTreeHost.cpp: Ditto.
* WebProcess/WebPage/LayerTreeHost.h: Ditto.
* WebProcess/WebPage/WebPage.cpp: Ditto.
* WebProcess/WebPage/WebPage.h: Ditto.
* WebProcess/WebPage/WebPage.messages.in: Ditto.

* WebProcess/gtk/WebProcessMainGtk.cpp:
    Modified to call XInitThreads to use thread-safe xlib.

Tools:

Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
autotools build systems. The feature is disabled by default.
And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
from the feature flags.

* Scripts/webkitperl/FeatureList.pm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
dbates@webkit.org [Thu, 8 Jan 2015 04:16:54 +0000 (04:16 +0000)]
[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/GraphicsServicesSPI.h: Added.
* platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
* platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

* Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

* Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to
the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().
* Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
* Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
* Platform/spi/ios/CorePDFSPI.h: Added.
* Platform/spi/ios/DataDetectorsUISPI.h: Added.
* Platform/spi/ios/ManagedConfigurationSPI.h: Added.
* Platform/spi/ios/TCCSPI.h: Added.
* Platform/spi/ios/TextInputSPI.h: Added.
* Platform/spi/ios/UIKitSPI.h: Added.
* Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally
include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead
of directly including private headers.
* Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
* Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
* UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
* UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
* UIProcess/API/ios/WKViewIOS.mm: Ditto.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
* UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
* UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
* UIProcess/ios/WKActionSheet.mm: Ditto.
* UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
* UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI
forward declarations to QuartzCoreSPI.h
* UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,
ManagedConfigurationSPI.h, TextInputSPI.h.
* UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
* UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
* UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
* UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
* UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
* UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
* UIProcess/ios/forms/WKFormPopover.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
* UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of
directly including private headers. Also, ignore deprecated declaration for bootstrap_register2().
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly
including private headers.
* config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN
and  WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

* wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

* DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
* DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios
to the list of iOS header search directories so that we can include header UIKitSPI.h.
* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/TestRunnerMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake WebKitAcceleratedDrawingEnabled into a "debug" pref, so that it's read without...
simon.fraser@apple.com [Thu, 8 Jan 2015 03:00:46 +0000 (03:00 +0000)]
Make WebKitAcceleratedDrawingEnabled into a "debug" pref, so that it's read without page group prefixes
https://bugs.webkit.org/show_bug.cgi?id=140221

Reviewed by Sam Weinig.

Applications should not be toggling WebKitAcceleratedDrawingEnabled; it's really only
useful to toggle for debugging, so make it a debug pref.

* Shared/WebPreferencesDefinitions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTwo tests, which include data uri images, need to be changed and rebaselined since...
commit-queue@webkit.org [Thu, 8 Jan 2015 02:17:51 +0000 (02:17 +0000)]
Two tests, which include data uri images, need to be changed and rebaselined since the expected results are incorrect.
https://bugs.webkit.org/show_bug.cgi?id=140199.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-07
Reviewed by Simon Fraser.

* compositing/tiling/huge-layer-img-expected.txt:
* compositing/tiling/huge-layer-img.html:
* platform/mac/compositing/tiling/huge-layer-img-expected.txt:
This test draws a huge image on a canvas and then gets the data uri from the canvas and
set it as the source of an <img> tag. We need to rebaseline the expected results since
the original ones were incorrect. The test was getting the layer tree too early. Before
the image data was loaded, a tiled layer was created. After the image data is loaded, we
could have figured out that the image is a simple one and we could have removed the tiling.
The fix is to change the test to delay capturing the layer tree only after making sure
that the image data is loaded.

* fast/forms/basic-buttons.html:
* platform/mac-mountainlion/fast/forms/basic-buttons-expected.txt:
* platform/mac/fast/forms/basic-buttons-expected.png:
* platform/mac/fast/forms/basic-buttons-expected.txt:
This test includes a data uri image just to not include a file for the image by itself.
We need to rebaseline the expected results since the original ones were incorrect. The
test was assuming that after the <img> tag is added to the HTML body, the image size can
be retrieved immediately. Because this assumption is incorrect in general, we were getting
empty sizes for all the the data uri images. The fix is to change the test such that it
prints the sizes of the images only after making sure that all the images are loaded.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r178068.
commit-queue@webkit.org [Thu, 8 Jan 2015 02:04:26 +0000 (02:04 +0000)]
Unreviewed, rolling out r178068.
https://bugs.webkit.org/show_bug.cgi?id=140235

Breaks the iOS build (Requested by enrica on #webkit).

Reverted changeset:

"[iOS] Make WebKit2 build with public iOS SDK and more build
fixes for DRT"
https://bugs.webkit.org/show_bug.cgi?id=137371
http://trac.webkit.org/changeset/178068

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Rebaseline windows fast/text tests.
bfulgham@apple.com [Thu, 8 Jan 2015 02:01:54 +0000 (02:01 +0000)]
[Win] Rebaseline windows fast/text tests.

Most of these work properly, but have different DRT output because the font rendering
on Windows is different than Mac.

* platform/win/TestExpectations:
* platform/win/fast/text/atsui-pointoffset-calls-cg-expected.txt: Added.
* platform/win/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Added.
* platform/win/fast/text/cg-vs-atsui-expected.txt: Added.
* platform/win/fast/text/complex-text-opacity-expected.txt: Added.
* platform/win/fast/text/international/001-expected.txt: Added.
* platform/win/fast/text/international/bidi-linebreak-001-expected.txt: Added.
* platform/win/fast/text/international/bidi-linebreak-002-expected.txt: Added.
* platform/win/fast/text/international/bidi-linebreak-003-expected.txt: Added.
* platform/win/fast/text/international/bidi-listbox-atsui-expected.txt: Added.
* platform/win/fast/text/international/bidi-listbox-expected.txt: Added.
* platform/win/fast/text/international/bidi-menulist-expected.txt:
* platform/win/fast/text/international/danda-space-expected.txt: Added.
* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Removed.
* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Removed.
* platform/win/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Added.
* platform/win/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.
* platform/win/fast/text/international/thai-baht-space-expected.txt: Added.
* platform/win/fast/text/shaping: Added.
* platform/win/fast/text/shaping/shaping-script-order-expected.txt: Added.
* platform/win/fast/text/shaping/shaping-selection-rect-expected.txt: Added.
* platform/win/fast/text/updateNewFont-expected.txt: Added.
* platform/win/fast/text/vertical-rl-rtl-linebreak-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: ObjC Generate types from the GenericTypes domain
commit-queue@webkit.org [Thu, 8 Jan 2015 01:59:27 +0000 (01:59 +0000)]
Web Inspector: ObjC Generate types from the GenericTypes domain
https://bugs.webkit.org/show_bug.cgi?id=140229

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-07
Reviewed by Timothy Hatcher.

Generate types from the GenericTypes domain, as they are expected
by other domains (like Page domain). Also, don't include the @protocol
forward declaration for a domain if it doesn't have any commands.

* inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
(ObjCBackendDispatcherHeaderGenerator): Deleted.
(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations_for_domains): Deleted.
* inspector/scripts/codegen/objc_generator.py:
(ObjCGenerator):
* inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/expected/enum-values.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Remove unnecessary copyRef for paramsObject in generated dispatchers
commit-queue@webkit.org [Thu, 8 Jan 2015 01:49:07 +0000 (01:49 +0000)]
Web Inspector: Remove unnecessary copyRef for paramsObject in generated dispatchers
https://bugs.webkit.org/show_bug.cgi?id=140228

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-07
Reviewed by Timothy Hatcher.

* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):
* inspector/scripts/tests/expected/enum-values.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agointerpret op_profile_type in the LLInt instead of unconditionally calling into the...
saambarati1@gmail.com [Thu, 8 Jan 2015 01:22:29 +0000 (01:22 +0000)]
interpret op_profile_type in the LLInt instead of unconditionally calling into the slow path
https://bugs.webkit.org/show_bug.cgi?id=140165

Reviewed by Michael Saboff.

Inlining the functionality of TypeProfilerLog::recordTypeInformationForLocation
into the LLInt speeds up type profiling.

* llint/LLIntOffsetsExtractor.cpp:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/TypeProfilerLog.h:
(JSC::TypeProfilerLog::recordTypeInformationForLocation): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCan't copy URL for images and paste it into plain text fields.
enrica@apple.com [Thu, 8 Jan 2015 01:17:13 +0000 (01:17 +0000)]
Can't copy URL for images and paste it into plain text fields.
https://bugs.webkit.org/show_bug.cgi?id=140230
rdar://problem/18736680

Reviewed by Dan Bernstein.

The incorrect objective C type was being written to the pasteboard.

* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::write):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix build.
andersca@apple.com [Thu, 8 Jan 2015 00:52:15 +0000 (00:52 +0000)]
Fix build.

* Modules/webdatabase/SQLStatementBackend.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
dbates@webkit.org [Thu, 8 Jan 2015 00:35:57 +0000 (00:35 +0000)]
[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/GraphicsServicesSPI.h: Added.
* platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
* platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

* Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

* Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to
the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().
* Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
* Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
* Platform/spi/ios/CorePDFSPI.h: Added.
* Platform/spi/ios/DataDetectorsUISPI.h: Added.
* Platform/spi/ios/ManagedConfigurationSPI.h: Added.
* Platform/spi/ios/TCCSPI.h: Added.
* Platform/spi/ios/TextInputSPI.h: Added.
* Platform/spi/ios/UIKitSPI.h: Added.
* Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally
include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead
of directly including private headers.
* Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
* Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
* UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
* UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
* UIProcess/API/ios/WKViewIOS.mm: Ditto.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
* UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
* UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
* UIProcess/ios/WKActionSheet.mm: Ditto.
* UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
* UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI
forward declarations to QuartzCoreSPI.h
* UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,
ManagedConfigurationSPI.h, TextInputSPI.h.
* UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
* UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
* UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
* UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
* UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
* UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
* UIProcess/ios/forms/WKFormPopover.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
* UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of
directly including private headers.
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly
including private headers.
* config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN
and  WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

* wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

* DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
* DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios
to the list of header search directories so that we can include header UIKitSPI.h.
* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/TestRunnerMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: !lengthOrPercentageValue.isUndefined() in WebCore::ApplyPropertyTex...
ljaehun.lim@samsung.com [Thu, 8 Jan 2015 00:30:02 +0000 (00:30 +0000)]
ASSERTION FAILED: !lengthOrPercentageValue.isUndefined() in WebCore::ApplyPropertyTextIndent::applyValue
https://bugs.webkit.org/show_bug.cgi?id=130341

Reviewed by Chris Dumez.

Replace ASSERT() with 'if' statement because 'ex' unit length in <title> is not defined.

Source/WebCore:

Test: fast/css3-text/css3-text-indent/text-indent-crash-in-title.html

* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueTextIndent): Change ASSERT() to 'if' statement.

LayoutTests:

* fast/css3-text/css3-text-indent/text-indent-crash-in-title-expected.txt: Added.
* fast/css3-text/css3-text-indent/text-indent-crash-in-title.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove AbstractSQLStatement
andersca@apple.com [Thu, 8 Jan 2015 00:22:01 +0000 (00:22 +0000)]
Remove AbstractSQLStatement
https://bugs.webkit.org/show_bug.cgi?id=140223

Reviewed by Sam Weinig.

* Modules/webdatabase/AbstractSQLStatement.h: Removed.
* Modules/webdatabase/AbstractSQLTransactionBackend.h:
* Modules/webdatabase/SQLStatement.h:
* Modules/webdatabase/SQLStatementBackend.cpp:
(WebCore::SQLStatementBackend::create):
(WebCore::SQLStatementBackend::SQLStatementBackend):
(WebCore::SQLStatementBackend::frontend):
* Modules/webdatabase/SQLStatementBackend.h:
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::deliverStatementCallback):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::executeSQL):
* Modules/webdatabase/SQLTransactionBackend.h:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoManually-animated TextIndicator fades out blue selection if you click inside it
timothy_horton@apple.com [Thu, 8 Jan 2015 00:16:12 +0000 (00:16 +0000)]
Manually-animated TextIndicator fades out blue selection if you click inside it
https://bugs.webkit.org/show_bug.cgi?id=140224
<rdar://problem/19317526>

Reviewed by Beth Dakin.

* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView hasCompletedAnimation]):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
Avoid fading out the TextIndicator if the animation hadn't completed.
Also, use wantsManualAnimation instead of duplicating the switch here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Shapes] Add a vertical-rl test for shapes affecting a box that shrinks to avoid...
bjonesbe@adobe.com [Wed, 7 Jan 2015 23:59:53 +0000 (23:59 +0000)]
[CSS Shapes] Add a vertical-rl test for shapes affecting a box that shrinks to avoid the float
https://bugs.webkit.org/show_bug.cgi?id=140189

Reviewed by David Hyatt.

These are just straightforward vertical writing mode versions of the
existing tests.

* fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-vertical-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-vertical.html: Added.
* fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-vertical-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-vertical.html: Added.
* fast/shapes/shape-outside-floats/shape-overflow-hidden-vertical-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-overflow-hidden-vertical.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate css3/flexbox/auto-margins.html after r177774
mmaxfield@apple.com [Wed, 7 Jan 2015 23:56:01 +0000 (23:56 +0000)]
Update css3/flexbox/auto-margins.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=139975

Patch by Myles C. Maxfield <litherum@gmail.com> on 2015-01-07
Reviewed by Darin Adler.

This is a subpixel problem. Flexbox uses SimpleLineLayout for the entire
box and therefore does all its math in floating point, while the
-expected uses the regular renderer hierarchy and therefore fixed-point
math. This patch updates the test to use Ahem so that the character
widths divide the same way in both cases.

* css3/flexbox/auto-margins-expected.html:
* css3/flexbox/auto-margins.html:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove AbstractSQLStatementBackend
andersca@apple.com [Wed, 7 Jan 2015 23:50:17 +0000 (23:50 +0000)]
Remove AbstractSQLStatementBackend
https://bugs.webkit.org/show_bug.cgi?id=140222

Reviewed by Sam Weinig.

We're unlikely to fully take advantage of the SQL implementation being abstract anyway, so let's just simplify the code instead.

* Modules/webdatabase/AbstractSQLStatement.h:
* Modules/webdatabase/AbstractSQLStatementBackend.h: Removed.
* Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::setBackend):
* Modules/webdatabase/SQLStatement.h:
* Modules/webdatabase/SQLStatementBackend.cpp:
(WebCore::SQLStatementBackend::~SQLStatementBackend):
* Modules/webdatabase/SQLStatementBackend.h:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed test gardening (writing-mode).
bfulgham@apple.com [Wed, 7 Jan 2015 23:41:28 +0000 (23:41 +0000)]
[Win] Unreviewed test gardening (writing-mode).

Rebaseline some of the writing-mode tests based on current WebKit behavior.

* platform/win/TestExpectations:
* platform/win/fast/writing-mode/fallback-orientation-expected.txt:
* platform/win/fast/writing-mode/vertical-font-fallback-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped...
joepeck@webkit.org [Wed, 7 Jan 2015 23:29:03 +0000 (23:29 +0000)]
Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
https://bugs.webkit.org/show_bug.cgi?id=140053

Patch by Brian J. Burg <burg@cs.washington.edu> on 2015-01-07
Reviewed by Andreas Kling.

Source/JavaScriptCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

Creation methods for subclasses of InspectorValue now return a Ref, and callsites
have been updated to take a Ref instead of RefPtr.

Builders for typed protocol objects now return a Ref. Since there is no implicit
call to operator&, callsites now must explicitly call .release() to convert a
builder object into the corresponding protocol object once required fields are set.
Update callsites and use auto to eliminate repetition of longwinded protocol types.

Tests for inspector protocol and replay inputs have been rebaselined.

* bindings/ScriptValue.cpp:
(Deprecated::jsToInspectorValue):
(Deprecated::ScriptValue::toInspectorValue):
* bindings/ScriptValue.h:
* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::addToFrontend):
* inspector/ContentSearchUtilities.cpp:
(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):
* inspector/ContentSearchUtilities.h:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.
* inspector/InspectorBackendDispatcher.cpp:
(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(Inspector::InspectorBackendDispatcher::create):
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::InspectorBackendDispatcher::getString):
(Inspector::InspectorBackendDispatcher::getBoolean):
(Inspector::InspectorBackendDispatcher::getObject):
(Inspector::InspectorBackendDispatcher::getArray):
(Inspector::InspectorBackendDispatcher::getValue):
* inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect
protocol error strings.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
Convert the supplemental dispatcher's reference to Ref since it is never null.
* inspector/InspectorEnvironment.h:
* inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and
StructItemTraits. Add more versions of addItem to handle pushing various types.
(Inspector::Protocol::Array::openAccessors):
(Inspector::Protocol::Array::addItem):
(Inspector::Protocol::Array::create):
(Inspector::Protocol::StructItemTraits::push):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast): Assert argument.
(Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<String>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<int>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<double>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<bool>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<Protocol::Array<T>>::Traits::pushRefPtr): Deleted.
* inspector/InspectorValues.cpp: Straighten out getArray and getObject to have
the same call signature as other getters. Use Ref where possible.
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::getValue):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::get):
(Inspector::InspectorObject::create):
(Inspector::InspectorArray::create):
(Inspector::InspectorValue::null):
(Inspector::InspectorString::create):
(Inspector::InspectorBasicValue::create):
(Inspector::InspectorObjectBase::get): Deleted.
* inspector/InspectorValues.h:
(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):
* inspector/JSGlobalObjectConsoleClient.cpp:
(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
(Inspector::JSGlobalObjectConsoleClient::timeStamp):
* inspector/JSGlobalObjectConsoleClient.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::executionStopwatch):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/ScriptCallFrame.cpp:
(Inspector::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
* inspector/ScriptCallStack.cpp:
(Inspector::ScriptCallStack::create):
(Inspector::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
* inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::activateExtraDomain):
* inspector/agents/InspectorAgent.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::breakProgram):
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/scripts/codegen/cpp_generator.py:
(CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
(CppGenerator.cpp_type_for_type_with_name):
(CppGenerator.cpp_type_for_formal_async_parameter):
(CppGenerator.should_use_references_for_type):
(CppGenerator):
* inspector/scripts/codegen/cpp_generator_templates.py:
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
(CppFrontendDispatcherHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
* inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
(CppProtocolTypesHeaderGenerator.generate_output):
(_generate_class_for_object_declaration):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):
* inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):
* inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator.generate_output):
* inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/expected/enum-values.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
* replay/EncodedValue.cpp:
(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):
* replay/EncodedValue.h:
* replay/scripts/CodeGeneratorReplayInputs.py:
(Type.borrow_type):
(Type.argument_type):
(Generator.generate_member_move_expression):
* runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):
* runtime/ConsoleClient.h:
* runtime/TypeSet.cpp:
(JSC::TypeSet::allStructureRepresentations):
(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):
* runtime/TypeSet.h:

Source/WebCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

No new tests, no behavior changed.

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabase):
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):
* dom/Document.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportException):
* dom/ScriptExecutionContext.h:
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::generateViolationReport):
* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::inspectImpl):
* inspector/CommandLineAPIHost.h:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::stopProfiling):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::executionStopwatch):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::resolveNode):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::findStorageArea):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are
not nullable.
(WebCore::InspectorDatabaseAgent::executeSQL):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseInstrumentation.h:
(WebCore::InspectorInstrumentation::didOpenDatabase):
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
(WebCore::InspectorDatabaseResource::setDatabase):
* inspector/InspectorFrontendHost.h:
(WebCore::InspectorFrontendHost::create):
* inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are
not nullable.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::ClearObjectStoreListener::create):
(WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
(WebCore::ClearObjectStore::create):
(WebCore::ClearObjectStore::ClearObjectStore):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
(WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::buildObjectForSize):
(WebCore::buildObjectForCSSRegionContentClip):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildObjectForRendererFragments):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementInfo):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::reset):
(WebCore::InspectorOverlay::evaluateInOverlay):
* inspector/InspectorOverlay.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::createXHRTextDecoder):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorReplayAgent.cpp:
(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):
* inspector/InspectorReplayAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::loadResource):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
(WebCore::InspectorResourceAgent::disable): Deleted.
(WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.
* inspector/InspectorResourceAgent.h:
* inspector/InspectorStyleSheet.cpp:
(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::sendMessageToWorker):
* inspector/InspectorWorkerAgent.h:
* inspector/NetworkResourcesData.cpp:
(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):
* inspector/NetworkResourcesData.h:
(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
(WebCore::NetworkResourcesData::ResourceData::buffer):
(WebCore::NetworkResourcesData::ResourceData::setBuffer):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore::TimelineRecordFactory::createResizeImageData):
(WebCore::TimelineRecordFactory::createMarkData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):
* inspector/TimelineRecordFactory.h:
(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::executionStopwatch):
* inspector/WorkerInspectorController.h:
* page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):
* page/PageConsoleClient.h:
* replay/ReplayController.cpp:
(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
* replay/ReplayInputCreationMethods.cpp:
(WebCore::InitialNavigation::createFromPage):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
* workers/SharedWorkerGlobalScope.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
* workers/WorkerGlobalScope.h:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.

Source/WTF:

* wtf/Stopwatch.h:
(WTF::Stopwatch::create): Return a Ref.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLayout Test http/tests/navigation/forward-and-cancel.html is flaky
eric.carlson@apple.com [Wed, 7 Jan 2015 23:05:20 +0000 (23:05 +0000)]
Layout Test http/tests/navigation/forward-and-cancel.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140217

* platform/mac-wk2/TestExpectations: Mark it as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a radar link to the ChangeLog.
andersca@apple.com [Wed, 7 Jan 2015 23:01:05 +0000 (23:01 +0000)]
Add a radar link to the ChangeLog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAnnotate properties that start with "new" so they'll work under ARC
andersca@apple.com [Wed, 7 Jan 2015 22:59:44 +0000 (22:59 +0000)]
Annotate properties that start with "new" so they'll work under ARC
https://bugs.webkit.org/show_bug.cgi?id=140215

Reviewed by Geoffrey Garen.

When encountering attributes that start with "new", also generate an additional getter method declaration that
has an NS_RETURNS_NOT_RETAINED annotation so ARC will know not to overrelease the property value.

* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdopt delegate callbacks so that standardQuickLookMenuItem does not obscure the
bdakin@apple.com [Wed, 7 Jan 2015 22:48:07 +0000 (22:48 +0000)]
Adopt delegate callbacks so that standardQuickLookMenuItem does not obscure the
link
https://bugs.webkit.org/show_bug.cgi?id=140206
-and corresponding-
rdar://problem/19300492

Reviewed by Tim Horton.

Source/WebCore:

More delegate methods.
* platform/spi/mac/QuickLookMacSPI.h:

Source/WebKit/mac:

Providing and item frame will ensure that the original link is not obscured.
* WebView/WebImmediateActionController.mm:
(elementBoundingBoxInWindowCoordinatesFromNode):
(-[WebImmediateActionController menuItem:itemFrameForPoint:]):

For now use a max size that is smaller than the WebView, with the screen’s aspect
ratio, and scaled down.
(-[WebImmediateActionController menuItem:maxSizeForPoint:]):

Source/WebKit2:

Providing and item frame will ensure that the original link is not obscured.
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController menuItem:itemFrameForPoint:]):

For now use a max size that is smaller than the WKView, with the screen’s aspect
ratio, and scaled down.
(-[WKImmediateActionController menuItem:maxSizeForPoint:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed test gardening.
bfulgham@apple.com [Wed, 7 Jan 2015 22:46:10 +0000 (22:46 +0000)]
[Win] Unreviewed test gardening.

Provide a correct baseline for the one failing XSL test.

* platform/win/TestExpectations: Clean up the XSL declarations.
* platform/win/fast/xsl: Added.
* platform/win/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Shapes] Negative raster shape height leads to crash
bjonesbe@adobe.com [Wed, 7 Jan 2015 22:30:32 +0000 (22:30 +0000)]
[CSS Shapes] Negative raster shape height leads to crash
https://bugs.webkit.org/show_bug.cgi?id=136087

Reviewed by Zoltan Horvath.

Source/WebCore:

This patch clamps the size of the margin box rect used to compute the
raster shape on a float so the width and height cannot be negative.
This makes it safe to use that rect to determine the size of the shape
intervals data structure.

Test: fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html

* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape): Add an assert to be explict about
    the precondition.
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::getShapeImageMarginRect): Clamp the marginRect's size.

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-expected.txt: Added.
* fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178054 268f45cc-cd09-0410-ab3c-d52691b4dbfc