WebKit-https.git
4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 years agoAdd layout test for animated GIFs in iframes moved in and out of the viewport using...
cdumez@apple.com [Wed, 7 Jan 2015 22:26:28 +0000 (22:26 +0000)]
Add layout test for animated GIFs in iframes moved in and out of the viewport using -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=139701

Reviewed by Simon Fraser.

Add layout test for animated GIFs in iframes moved in and out of the
viewport using '-webkit-transform' CSS property.

* fast/images/animated-gif-iframe-webkit-transform-expected.txt: Added.
* fast/images/animated-gif-iframe-webkit-transform.html: Added.
* fast/images/resources/iframe-with-animated-gif.html: Added.
* fast/images/resources/iframe-with-animated-gif2.html: Added.

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

4 years ago[Win] Unreviewed test change to improve run reproducibility
bfulgham@apple.com [Wed, 7 Jan 2015 22:16:15 +0000 (22:16 +0000)]
[Win] Unreviewed test change to improve run reproducibility

* Scripts/webkitpy/port/win.py:
(WinPort.default_child_processes): Run a single DRT instance to help
identify failures caused by earlier test runs.

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

4 years ago[Win] Test gardening. Clean up lint errors on Windows file.
bfulgham@apple.com [Wed, 7 Jan 2015 22:12:48 +0000 (22:12 +0000)]
[Win] Test gardening. Clean up lint errors on Windows file.

* platform/win/TestExpectations:

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

4 years agoMyles C. Maxfield is a reviewer now
mmaxfield@apple.com [Wed, 7 Jan 2015 21:24:01 +0000 (21:24 +0000)]
Myles C. Maxfield is a reviewer now
https://bugs.webkit.org/show_bug.cgi?id=140196

Reviewed by Dean Jackson.

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

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

4 years agoMake webkit-patch try harder to find keychain credentials
mmaxfield@apple.com [Wed, 7 Jan 2015 21:20:57 +0000 (21:20 +0000)]
Make webkit-patch try harder to find keychain credentials
https://bugs.webkit.org/show_bug.cgi?id=140170

Reviewed by Ryosuke Niwa.

When the user manually enters a password into webkit-patch, we hand that off to the
Keyring Python module. However, that module creates a generic password entry instead
of an internet password entry. We should look for both kinds.

* Scripts/webkitpy/common/net/credentials.py:
(Credentials._run_security_tool):
(Credentials._credentials_from_keychain):
* Scripts/webkitpy/common/net/credentials_unittest.py:
(test_security_output_parse_entry_not_found):
(_assert_security_call):

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

4 years agoModernize the SVGElement and MathMLElement factories
weinig@apple.com [Wed, 7 Jan 2015 20:56:24 +0000 (20:56 +0000)]
Modernize the SVGElement and MathMLElement factories
https://bugs.webkit.org/show_bug.cgi?id=140163

Reviewed by Dan Bernstein.

* dom/Element.cpp:
(WebCore::Element::create):
* dom/Element.h:
Change to return a Ref rather than a RefPtr.

* dom/make_names.pl:
(printConstructorSignature):
(printFactoryCppFile):
(printFactoryHeaderFile):
Change to unconditionally use Ref as the return type for element factories
now that HTML is not special cased.

* SVG and MathML element files elided *
Changed all SVG and MathML element's create functions to return a Ref.

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

4 years agoREGRESSION (r178028): iOS build broken due to unused parameters in GlyphPage::mayUseM...
ddkilzer@apple.com [Wed, 7 Jan 2015 20:50:53 +0000 (20:50 +0000)]
REGRESSION (r178028): iOS build broken due to unused parameters in GlyphPage::mayUseMixedFontDataWhenFilling()

Fixes the following build errors:

    WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:61: error: unused parameter 'buffer' [-Werror,-Wunused-parameter]
    bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)
                                                                ^
    WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:78: error: unused parameter 'bufferLength' [-Werror,-Wunused-parameter]
    bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)
                                                                                 ^
    WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:114: error: unused parameter 'fontData' [-Werror,-Wunused-parameter]
    bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)
                                                                                                                     ^
    3 errors generated.

* platform/graphics/mac/GlyphPageMac.cpp:
(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling): Add
UNUSED_PARAM() as needed.

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

4 years agoGive simple HTML documents a database provider
andersca@apple.com [Wed, 7 Jan 2015 20:40:02 +0000 (20:40 +0000)]
Give simple HTML documents a database provider
https://bugs.webkit.org/show_bug.cgi?id=140192
rdar://problem/19398825

Reviewed by Tim Horton.

* WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

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

4 years ago[CSS Shapes] Content does not wrap with overflow: hidden and reference box different...
bjonesbe@adobe.com [Wed, 7 Jan 2015 20:13:07 +0000 (20:13 +0000)]
[CSS Shapes] Content does not wrap with overflow: hidden and reference box different from margin-box
https://bugs.webkit.org/show_bug.cgi?id=138139

Reviewed by David Hyatt.

Source/WebCore:

To determine how much an box needs to shink to avoid a float, the code
was only taking into account the first line of the box. This doesn't
work when the float has a shape, as it can make it seem like there is
more space on the line than there actually is. This patch changes the
calculations to take into account the entire height of the box that
needs to be shrunk, and thus computes the correct amount of space
available.

Test: fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin.html
      fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin.html
      fast/shapes/shape-outside-floats/shape-overflow-hidden.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):

LayoutTests:

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

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

4 years agoRelease build fix.
ap@apple.com [Wed, 7 Jan 2015 19:49:26 +0000 (19:49 +0000)]
Release build fix.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:

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

4 years ago[Mac] Secondary WebKit processes get re-exec'ed twice when running under ASan
ap@apple.com [Wed, 7 Jan 2015 19:48:13 +0000 (19:48 +0000)]
[Mac] Secondary WebKit processes get re-exec'ed twice when running under ASan
https://bugs.webkit.org/show_bug.cgi?id=140175

Reviewed by Sam Weinig.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):
If the main process is ASanified, add the ASan dynamic library to DYLD_INSERT_LIBRARIES.
This avoids an extra re-exec, which is very annoying when debugging.
The library is linked in using @rpath, so the only reliable way to find its location
is by examining binary images loaded into the current process.

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

4 years agoUnreviewed, rolling out r178039.
commit-queue@webkit.org [Wed, 7 Jan 2015 19:32:05 +0000 (19:32 +0000)]
Unreviewed, rolling out r178039.
https://bugs.webkit.org/show_bug.cgi?id=140187

Breaks ObjC Inspector Protocol (Requested by JoePeck on
#webkit).

Reverted changeset:

"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
http://trac.webkit.org/changeset/178039

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

4 years ago[Win] WindowCloseTimer is an ActiveDOMObject and must call suspendIfNeeded
bfulgham@apple.com [Wed, 7 Jan 2015 18:33:52 +0000 (18:33 +0000)]
[Win] WindowCloseTimer is an ActiveDOMObject and must call suspendIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=140184
<rdar://problem/19399740>

Reviewed by Jer Noble.

This bug was found in fast/loader/stateobjects/popstate-fires-with-page-cache.html

* WebView.cpp:
(WindowCloseTimer::create): Modify to ensure a call to suspendIfNeeded is made
during the creation process.

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

4 years agomathml/mathml-in-dashboard.html results are different on mac-mountainlion.
eric.carlson@apple.com [Wed, 7 Jan 2015 17:36:26 +0000 (17:36 +0000)]
mathml/mathml-in-dashboard.html results are different on mac-mountainlion.

* platform/mac-mountainlion/mathml/mathml-in-dashboard-expected.png: Added.
* platform/mac-mountainlion/mathml/mathml-in-dashboard-expected.txt: Added.

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

4 years agoWeb Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped...
burg@cs.washington.edu [Wed, 7 Jan 2015 17:32:15 +0000 (17:32 +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

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@178039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAX: Crash: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AXObjectCache...
cfleizach@apple.com [Wed, 7 Jan 2015 16:55:10 +0000 (16:55 +0000)]
AX: Crash: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse + 149
https://bugs.webkit.org/show_bug.cgi?id=139929

Reviewed by Darin Adler.

Source/WebCore:

When a frame is replaced, there were instances when it was not clearing its associated nodes in the accessibility text marker -> Node cache.
This caused dead Nodes to be left in the cache which would eventually be accessed when the cache was cleaned out at a later time.

To fix this we should be clearing out the cache in Document::prepareForDestruction, instead of Frame::disconnectOwnerElement.

While working on this, it also exposed a problem where when a frame goes away, it doesn't inform its parent to update its children,
which causes an ASSERT to be hit with this test as well.

Tests: accessibility/frame-disconnect-textmarker-cache-crash.html

* dom/Document.cpp:
(WebCore::Document::prepareForDestruction):
* page/Frame.cpp:
(WebCore::Frame::disconnectOwnerElement):
    Remove cache management from here since it is superceded by code in Document::prepareForDestruction
* page/FrameView.cpp:
(WebCore::FrameView::removeFromAXObjectCache):

LayoutTests:

* accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: Added.
* accessibility/frame-disconnect-textmarker-cache-crash.html: Added.
* accessibility/resources/frameset.html: Added.
* accessibility/resources/inform-parent-of-load.html: Added.
* accessibility/resources/text.html: Added.

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

4 years ago[GTK] Unreviewed GTK gardening after r177637.
clopez@igalia.com [Wed, 7 Jan 2015 16:44:36 +0000 (16:44 +0000)]
[GTK] Unreviewed GTK gardening after r177637.

* platform/gtk/TestExpectations: Mark new crashing/failing tests after r177637.

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

4 years agoUnreviewed fix for the CoordinatedGraphics builds after r178034.
zandobersek@gmail.com [Wed, 7 Jan 2015 16:09:57 +0000 (16:09 +0000)]
Unreviewed fix for the CoordinatedGraphics builds after r178034.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setChildren): Add back the setChildren()
variant that receives a reference to the Vector of TextureMapperLayer
objects. This is still used by the CoordinatedGraphics code that still
constructs a separate Vector object each time the layer's children change.
* platform/graphics/texmap/TextureMapperLayer.h:

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

4 years ago[TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder()
zandobersek@gmail.com [Wed, 7 Jan 2015 13:19:20 +0000 (13:19 +0000)]
[TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder()
https://bugs.webkit.org/show_bug.cgi?id=136212

Reviewed by Darin Adler.

Use std::sort() instead of qsort() to sort the TextureMapperLayer objects
by their z-order. A lambda expression can be used to compare the m_centerZ
member variables of any two TextureMapperLayers.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::sortByZOrder):
(WebCore::TextureMapperLayer::compareGraphicsLayersZValue): Deleted.
* platform/graphics/texmap/TextureMapperLayer.h:

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

4 years ago[TexMap] Avoid constructing Vector when setting new children of TextureMapperLayer
zandobersek@gmail.com [Wed, 7 Jan 2015 13:14:25 +0000 (13:14 +0000)]
[TexMap] Avoid constructing Vector when setting new children of TextureMapperLayer
https://bugs.webkit.org/show_bug.cgi?id=137265

Reviewed by Brent Fulgham.

Instead of constructing a vector object and populating it with TextureMapperLayers
every time the children of a GraphicsLayer change, the children vector is now passed
directly to TextureMapperLayer::setChildren(), which properly downcasts GraphicsLayers
and adds the new TextureMapperLayer children.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::toTextureMapperLayerVector): Deleted.
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setChildren):
* platform/graphics/texmap/TextureMapperLayer.h:

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

4 years ago[TexMap] m_layer member in GraphicsLayerTextureMapper is always non-null
zandobersek@gmail.com [Wed, 7 Jan 2015 12:49:15 +0000 (12:49 +0000)]
[TexMap] m_layer member in GraphicsLayerTextureMapper is always non-null
https://bugs.webkit.org/show_bug.cgi?id=140135

Reviewed by Darin Adler.

Source/WebCore:

Since the TextureMapperLayer member in the GraphicsLayerTextureMapper class
is always non-null, we don't need to keep it in a std::unique_ptr<>.

GraphicsLayerTextureMapper::layer() now returns a reference to the m_layer member.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::setFilters):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit/win:

GraphicsLayerTextureMapper::layer() now returns a reference,
so the call sites are updated.

* WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::startedAnimation):
(AcceleratedCompositingContext::compositeLayersToContext):

Source/WebKit2:

GraphicsLayerTextureMapper::layer() now returns a reference,
so the call sites are updated.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::compositeLayersToContext):

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

4 years agoWeb Inspector: Abstract common functions from TypeTokenAnnotator into a parent class...
saambarati1@gmail.com [Wed, 7 Jan 2015 10:34:48 +0000 (10:34 +0000)]
Web Inspector: Abstract common functions from TypeTokenAnnotator into a parent class and introduce an AnnotatorManager
https://bugs.webkit.org/show_bug.cgi?id=139426

Reviewed by Timothy Hatcher.

This patch creates a parent class, Annotator, that TypeTokenAnnotator
inherits from. Annotator defines a common set of functionality
that a text editor annotator can use to mark up UI. This
is in preparation other classes that will inherit from Annotator.

This patch also introduces AnnotatorManager which controls a
set of Annotators and provides a single interface for
controlling them.

* UserInterface/Controllers/Annotator.js: Added.
(WebInspector.Annotator):
(WebInspector.Annotator.prototype.get sourceCodeTextEditor):
(WebInspector.Annotator.prototype.get isActive):
(WebInspector.Annotator.prototype.pause):
(WebInspector.Annotator.prototype.resume):
(WebInspector.Annotator.prototype.refresh):
(WebInspector.Annotator.prototype.reset):
(WebInspector.Annotator.prototype.clear):
(WebInspector.Annotator.prototype.insertAnnotations):
(WebInspector.Annotator.prototype.clearAnnotations):
(WebInspector.Annotator.prototype._clearTimeoutIfNeeded):
* UserInterface/Controllers/AnnotatorManager.js: Added.
(WebInspector.AnnotatorManager):
(WebInspector.AnnotatorManager.prototype.addAnnotator):
(WebInspector.AnnotatorManager.prototype.isAnnotatorActive):
(WebInspector.AnnotatorManager.prototype.pauseAll):
(WebInspector.AnnotatorManager.prototype.resumeAll):
(WebInspector.AnnotatorManager.prototype.refreshAllIfActive):
(WebInspector.AnnotatorManager.prototype.resetAllIfActive):
(WebInspector.AnnotatorManager.prototype.clearAll):
(WebInspector.AnnotatorManager.prototype.removeAllAnnotators):
(WebInspector.AnnotatorManager.prototype._getAnnotators):
* UserInterface/Controllers/TypeTokenAnnotator.js:
(WebInspector.TypeTokenAnnotator):
(WebInspector.TypeTokenAnnotator.prototype.insertAnnotations.):
(WebInspector.TypeTokenAnnotator.prototype.clearAnnotations):
(WebInspector.TypeTokenAnnotator.prototype._insertToken):
(WebInspector.TypeTokenAnnotator.prototype.get isActive): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.pause): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.resume): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.refresh): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.reset): Deleted.
(WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.): Deleted.
(WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded): Deleted.
* UserInterface/Main.html:
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

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

4 years agoFix Border-radius clipping issue on a composited descendants
commit-queue@webkit.org [Wed, 7 Jan 2015 10:22:16 +0000 (10:22 +0000)]
Fix Border-radius clipping issue on a composited descendants
https://bugs.webkit.org/show_bug.cgi?id=138551

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-07
Reviewed by Simon Fraser.

Fix clipping compositing descendants of an accelerated layer having
border radius and clip overflow issue by using layer corner-radius
or a CAShapeLayer mask on Mac, and setting up a separate mask layer
on the childContainmentLayer on other platforms.

This patch is extracted from following Blink revisions:
<http://src.chromium.org/viewvc/blink?view=revision&revision=162463>
<http://src.chromium.org/viewvc/blink?view=revision&revision=158258>
by <rosca@adobe.com>

Clip accelerated descendants of an accelerated layer having border radius and clip overflow.
Large canvas does not honor containing div's border radius.

and <http://src.chromium.org/viewvc/blink?view=revision&revision=160578>
by <junov@chromium.org>

Fix for CSS clip-path with accelerated 2D canvas.

* WebCore.exp.in:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::applyClippingBorder):
(WebCore::GraphicsLayer::clearClippingBorder):
(WebCore::GraphicsLayer::needsClippingMaskLayer):
* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::applyClippingBorder):
(WebCore::GraphicsLayerCA::clearClippingBorder):
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/PaintPhase.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintClippingMask):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::destroyGraphicsLayers):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
* rendering/RenderLayerBacking.h:

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

4 years agoUse HashMap instead of CFDictionary for composite font reference map
antti@apple.com [Wed, 7 Jan 2015 09:51:48 +0000 (09:51 +0000)]
Use HashMap instead of CFDictionary for composite font reference map
https://bugs.webkit.org/show_bug.cgi?id=140150

Reviewed by Geoff Garen.

Use WebKit types. Also use USE(APPKIT) consistently for this feature.

* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):

    The whole desctructor gets handled implicitly.

* platform/graphics/SimpleFontData.h:
* platform/graphics/mac/GlyphPageMac.cpp:
(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling):
(WebCore::GlyphPage::fill):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::compositeFontReferenceFontData):
(WebCore::SimpleFontData::getCompositeFontReferenceFontData): Deleted.

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