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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoVersioning.
bshafiei@apple.com [Wed, 7 Jan 2015 09:27:55 +0000 (09:27 +0000)]
Versioning.

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

6 years agoASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateF...
mihnea@adobe.com [Wed, 7 Jan 2015 08:19:35 +0000 (08:19 +0000)]
ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock() in WebCore::RenderBlock::locateFlowThreadContainingBlock
https://bugs.webkit.org/show_bug.cgi?id=139390

Reviewed by Andrei Bucur.

Source/WebCore:

When a block level element is inserted into an inline element, the inline element is split
in order to make sure that all the inline element children are properly wrapped inside
anonymous block elements. If the inline element is inside a pagination context, we have
to invalidate the cached flow thread containing block for the split inline element and its descendants.

Test: fast/multicol/newmulticol/block-split-inline-in-multicol.html

* rendering/RenderInline.cpp:
(WebCore::RenderInline::splitInlines):

LayoutTests:

* fast/multicol/newmulticol/block-split-inline-in-multicol-expected.txt: Added.
* fast/multicol/newmulticol/block-split-inline-in-multicol.html: Added.

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

6 years agoRemove the remaining uses of OwnPtr in threaded compositor.
yoon@igalia.com [Wed, 7 Jan 2015 07:18:01 +0000 (07:18 +0000)]
Remove the remaining uses of OwnPtr in threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=140172

Reviewed by Sam Weinig.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::runCompositingThread):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:

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

6 years agomathml/mathml-in-dashboard.html fails on WebKit2 testers.
ap@apple.com [Wed, 7 Jan 2015 07:16:00 +0000 (07:16 +0000)]
mathml/mathml-in-dashboard.html fails on WebKit2 testers.

* platform/wk2/TestExpectations: Skip the test, setUseDashboardCompatibilityMode
is not implemented in WebKitTestRunner.

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

6 years agoMove 'content' CSS property to the new StyleBuilder
cdumez@apple.com [Wed, 7 Jan 2015 07:13:00 +0000 (07:13 +0000)]
Move 'content' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140169

Reviewed by Sam Weinig.

Move 'content' CSS property to the new StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialContent):
(WebCore::StyleBuilderCustom::applyInheritContent):
(WebCore::StyleBuilderCustom::applyValueContent):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

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

6 years agoWeb Inspector: Do not style implicit CSS properties in the Style Rules section
commit-queue@webkit.org [Wed, 7 Jan 2015 07:03:17 +0000 (07:03 +0000)]
Web Inspector: Do not style implicit CSS properties in the Style Rules section
https://bugs.webkit.org/show_bug.cgi?id=140161

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

Previously, implicit properties being transparent in the Rules section
was confusing and not useful. Lets simplify what transparency means:

    - Rules:  transparency means a non-inheritable property in an inherited rule
    - Computed: transparency means an implicit value

* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)): Deleted.

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

6 years agoMove 'webkit-mask-image' CSS property to the new StyleBuilder
cdumez@apple.com [Wed, 7 Jan 2015 06:35:54 +0000 (06:35 +0000)]
Move 'webkit-mask-image' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140168

Reviewed by Sam Weinig.

Move 'webkit-mask-image' CSS property to the new StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertMaskImageOperations):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createMaskImageOperations): Deleted.
* css/StyleResolver.h:

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

6 years agoDrop ResourceResponseBase::connectionID and connectionReused members
cdumez@apple.com [Wed, 7 Jan 2015 03:23:54 +0000 (03:23 +0000)]
Drop ResourceResponseBase::connectionID and connectionReused members
https://bugs.webkit.org/show_bug.cgi?id=140158

Reviewed by Sam Weinig.

Drop ResourceResponseBase::connectionID and connectionReused members.
Those were needed by the Chromium port but are no longer used.

Source/JavaScriptCore:

* inspector/protocol/Network.json:

Source/WebCore:

* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceResponse):
* page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):
* page/PerformanceResourceTiming.h:
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::connectionReused): Deleted.
(WebCore::ResourceResponseBase::setConnectionReused): Deleted.
(WebCore::ResourceResponseBase::connectionID): Deleted.
(WebCore::ResourceResponseBase::setConnectionID): Deleted.
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

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

6 years agoWeb Inspector: Uncaught Exception when dismissing Go To Line dialog
commit-queue@webkit.org [Wed, 7 Jan 2015 02:56:49 +0000 (02:56 +0000)]
Web Inspector: Uncaught Exception when dismissing Go To Line dialog
https://bugs.webkit.org/show_bug.cgi?id=139663

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

Calling removeChild would trigger the blur event handler and do a
nested call of dismiss(), re-entering and removing while in the middle
of removing. Avoid re-entrancy to avoid the exception.

* UserInterface/Views/GoToLineDialog.js:
(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog.prototype.dismiss):

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

6 years agoMove the 'alt' CSS property to the new StyleBuilder
cdumez@apple.com [Wed, 7 Jan 2015 02:36:48 +0000 (02:36 +0000)]
Move the 'alt' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140129

Reviewed by Darin Adler.

Move the 'alt' CSS property to the new StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueAlt):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* rendering/style/RenderStyle.h:

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

6 years agoMove '-webkit-text-size-adjust' CSS property to the new StyleBuilder
cdumez@apple.com [Wed, 7 Jan 2015 02:23:25 +0000 (02:23 +0000)]
Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140157

Reviewed by Darin Adler.

Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderCustom.h:
(WebCore::applyValueWebkitTextSizeAdjust):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

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

6 years ago[CSS Masking][CSS Shapes] Large corner radii use with inset() clip-path are not prope...
bjonesbe@adobe.com [Wed, 7 Jan 2015 02:22:12 +0000 (02:22 +0000)]
[CSS Masking][CSS Shapes] Large corner radii use with inset() clip-path are not properly constrained
https://bugs.webkit.org/show_bug.cgi?id=140127

Reviewed by Darin Adler.

Source/WebCore:

Constrain large corner radii for inset() clip-path in the same way
that border-radii are constrained.

Test: fast/masking/clip-path-inset-large-radii.html

* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeInset::path): Add radii constraint. Also reformat
    code a little to shut the style bot up.

LayoutTests:

* fast/masking/clip-path-inset-large-radii-expected.html: Added.
* fast/masking/clip-path-inset-large-radii.html: Added.

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

6 years agoOnly throttle DOM timers if they change CSS properties that cannot cause non-descenda...
cdumez@apple.com [Wed, 7 Jan 2015 02:08:23 +0000 (02:08 +0000)]
Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible
https://bugs.webkit.org/show_bug.cgi?id=140142

Reviewed by Darin Adler.

Source/WebCore:

Only throttle DOM timers if they change CSS properties that cannot cause
non-descendant elements to become visible. For example, a DOM timer may
change the height of an element that is outside the viewport. However,
changing its height may causes elements inside the viewport to move. As
such, we should NOT throttle such DOM timer.

With this patch, we only mark a repeating timer as candidate for
throttling if it is updating one of the following CSS properties:
left, right, top, bottom, webkit-transform, opacity.

Test: fast/dom/timer-height-change-no-throttling.html

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::propertyChangeMayRepaintNonDescendants):
(WebCore::JSCSSStyleDeclaration::putDelegate):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::scriptDidCauseElementRepaint):
* page/DOMTimer.h:

LayoutTests:

Add a layout test to make sure that a DOM timer changing the 'height'
property of an element outside the viewport does not get throttled.

* fast/dom/timer-height-change-no-throttling-expected.txt: Added.
* fast/dom/timer-height-change-no-throttling.html: Added.

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

6 years agoAdd utility method on FrameView that resumes animated images and unthrottles DOM...
cdumez@apple.com [Wed, 7 Jan 2015 02:06:19 +0000 (02:06 +0000)]
Add utility method on FrameView that resumes animated images and unthrottles DOM timers
https://bugs.webkit.org/show_bug.cgi?id=140151

Reviewed by Darin Adler.

Add utility method on FrameView that resumes animated images and
unthrottles DOM timers.

* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::performPostLayoutTasks):
* page/FrameView.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):

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

6 years agoDo not attempt to revalidate cached main resource on back/forward navigation
cdumez@apple.com [Wed, 7 Jan 2015 01:59:10 +0000 (01:59 +0000)]
Do not attempt to revalidate cached main resource on back/forward navigation
https://bugs.webkit.org/show_bug.cgi?id=139263

Reviewed by Darin Adler.

Source/WebCore:

Do not attempt to revalidate cached main resource on back/forward
navigation, as allowed by RFC2616 & newer RFC7234 which distinguish
history mechanisms and caches, stating:

   The freshness model (Section 4.2) does not necessarily apply to
   history mechanisms.  That is, a history mechanism can display a
   previous representation even if it has expired.

Previously, we would bypass revalidation on back/forward navigation
only for sub-resources. This patch extends this policy to the main
resource as well.

This behavior is also consistent with IE10+ and Chrome. It makes it more
likely we return cached content to the user on back/forward navigation
and avoids making network requests in this case.

Test: http/tests/cache/history-navigation-no-resource-revalidation.html

* loader/cache/CacheValidation.cpp:
(WebCore::redirectChainAllowsReuse):
* loader/cache/CacheValidation.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::redirectChainAllowsReuse):
Add a "ReuseExpiredRedirectionOrNot" flag argument because in the case
of an HistoryBuffer navigation, we don't mind reuse an expired
redirection. However, we still need to make sure that the redirection
is actually cached before reusing it.

* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
- Do the redirectChainAllowsReuse() check *before* checking if the cache
  policy is CachePolicyHistoryBuffer. This is needed because
  redirectChainAllowsReuse() will return false if the redirection is not
  cached. Loading from the cache in this case will cause us to load the
  wrong resource (the one before the redirection). This case is covered
  by http/tests/navigation/redirect-on-reload-updates-history-item.html.
- Do not use the cached main resource if it has "cache-control: no-store",
  even if it is a history navigation (cachePolicy is
  CachePolicyHistoryBuffer). This maintains the previous behavior, and
  some layout tests rely on this. We now have to be explicit about it
  because cachePolicy() can now return CachePolicyHistoryBuffer for the
  main resource (not just sub-resources). This difference in behavior
  on history navigation for the main resource and sub-resources is not
  great. However, I chose to maintain this pre-existing behavior in this
  patch to do one behavior change at a time. We can harmonize this later.

Previously, the order was not an issue because the main resource was
always revalidated on back/forward navigation.

(WebCore::CachedResourceLoader::cachePolicy):
Return CachePolicyHistoryBuffer for the main resource in case of
history navigation, instead of CachePolicyVerify so that we don't
attempt to revalidate.

LayoutTests:

Add layout test to make sure we don't attempt to revalidate a cached
main resource on back/forward navigation.

* http/tests/cache/history-navigation-no-resource-revalidation-expected.txt: Added.
* http/tests/cache/history-navigation-no-resource-revalidation.html: Added.
* http/tests/cache/resources/history-back.html: Renamed from LayoutTests/http/tests/cache/resources/no-store-resource-forward.html.
* http/tests/cache/resources/max-age-resource-forward.html: Removed.
* http/tests/cache/resources/max-age-resource.html:
* http/tests/cache/resources/no-cache-main-resource-next.php: Added.
* http/tests/cache/resources/no-cache-main-resource.php: Copied from LayoutTests/http/tests/cache/resources/no-store-resource.html.

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

6 years agoUnreviewed, rolling out r177988.
commit-queue@webkit.org [Wed, 7 Jan 2015 01:57:00 +0000 (01:57 +0000)]
Unreviewed, rolling out r177988.
https://bugs.webkit.org/show_bug.cgi?id=140159

mysteriously broke 2 tests (Requested by kling on #webkit).

Reverted changeset:

"Pack WebCore::RuleData better."
https://bugs.webkit.org/show_bug.cgi?id=140109
http://trac.webkit.org/changeset/177988

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

6 years agoSetting '-webkit-filter' to 'brightness(calc(10% * 2))' does not work
cdumez@apple.com [Wed, 7 Jan 2015 01:54:37 +0000 (01:54 +0000)]
Setting '-webkit-filter' to 'brightness(calc(10% * 2))' does not work
https://bugs.webkit.org/show_bug.cgi?id=140149

Reviewed by Darin Adler.

Source/WebCore:

Setting '-webkit-filter' to 'brightness(calc(10% * 2))' was not working
because the CSS parser did not handle calculated values inside
brightness(). This patch addresses the issue.

Test: fast/css/webkit-filter-calc.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseBuiltinFilterArguments):

LayoutTests:

Update the -webkit-filter calculated value test to cover brightness()
function as well.

* fast/css/webkit-filter-calc-expected.txt:
* fast/css/webkit-filter-calc.html:

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

6 years agoAssertion in RenderGeometryMap::mapToContainer with LayoutUnit overflow.
zalan@apple.com [Wed, 7 Jan 2015 01:22:09 +0000 (01:22 +0000)]
Assertion in RenderGeometryMap::mapToContainer with LayoutUnit overflow.
https://bugs.webkit.org/show_bug.cgi?id=108619
rdar://problem/19391214

Use only FloatQuad in RenderGeometryMap::mapToContainer.

Due to the difference in the internal representation of FloatRect and FloatQuad,
with certain float values, converting FloatRect to FloatQuad and back
to FloatRect could produce a slightly different rect.

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/block/geometry-map-assertion-with-tall-content.html

* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToContainer):

LayoutTests:

* fast/block/geometry-map-assertion-with-tall-content-expected.txt: Added.
* fast/block/geometry-map-assertion-with-tall-content.html: Added.

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

6 years agoAdd the lexicalEnvironment as an operand to op_create_arguments.
mark.lam@apple.com [Wed, 7 Jan 2015 01:03:25 +0000 (01:03 +0000)]
Add the lexicalEnvironment as an operand to op_create_arguments.
<https://webkit.org/b/140148>

Reviewed by Geoffrey Garen.

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::BytecodeGenerator):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):
- Adds the lexicalEnvironment register (if present) as an operand to
  op_create_arguments.  Else, adds a constant empty JSValue.
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

6 years agoTry to fix the Mountain Lion build.
andersca@apple.com [Wed, 7 Jan 2015 00:45:14 +0000 (00:45 +0000)]
Try to fix the Mountain Lion build.

* TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
(TestWebKitAPI::didGetImageForMatchResult):

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

6 years agoAllow MathML in dashboard compatibility mode
weinig@apple.com [Wed, 7 Jan 2015 00:34:17 +0000 (00:34 +0000)]
Allow MathML in dashboard compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=140153

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In what seems like an accident due to the way we used to disable SVG in
dashboard, MathML has been disable in dashboard compatibility mode. There
does not seem to be any reason to keep this accidental quirk.

Test: mathml/mathml-in-dashboard.html

* dom/make_names.pl:
(printFactoryCppFile):

LayoutTests:

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

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

6 years agoDebug ASan builds frequently crash in Register::jsValue under DFG::prepareOSREntry
ap@apple.com [Wed, 7 Jan 2015 00:26:01 +0000 (00:26 +0000)]
Debug ASan builds frequently crash in Register::jsValue under DFG::prepareOSREntry
https://bugs.webkit.org/show_bug.cgi?id=140095

Reviewed by Anders Carlsson.

* asan/webkit-asan-ignore.txt: Blacklist a function that gets inlined in release
builds, but not in debug ones.

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

6 years agoFix this test to wait for the load event before dumping. Expected image
simon.fraser@apple.com [Wed, 7 Jan 2015 00:20:06 +0000 (00:20 +0000)]
Fix this test to wait for the load event before dumping. Expected image
changes.

* compositing/images/content-image-change.html:
* platform/mac/compositing/images/content-image-change-expected.png:

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

6 years agoView state change callbacks are sometimes dropped on the floor
timothy_horton@apple.com [Wed, 7 Jan 2015 00:18:40 +0000 (00:18 +0000)]
View state change callbacks are sometimes dropped on the floor
https://bugs.webkit.org/show_bug.cgi?id=140156
<rdar://problem/19255417>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchViewStateChange):
Always send SetViewState to the Web process if we have any
registered view state change callbacks. Otherwise, if nothing changed,
we can end up never calling the callback.

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

6 years agoSome composting reflections tests are broken
simon.fraser@apple.com [Wed, 7 Jan 2015 00:08:36 +0000 (00:08 +0000)]
Some composting reflections tests are broken
https://bugs.webkit.org/show_bug.cgi?id=139889

Reviewed by Tim Horton.

Source/WebCore:

When creating layer clones for reflections, we'd clobber the layer background
color via resetting the custom appearance on the clone. Fix by having
PlatformCALayerMac::updateCustomAppearance() only do work when the appearance changes.

Some other drive-by nullptr changes, and include layer IDs in debug layer names.

Covered by existing pixel tests.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setName):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::updateCustomAppearance):
(PlatformCALayerMac::tiledBacking):

LayoutTests:

New image baselines.

* platform/mac/compositing/reflections/animation-inside-reflection-expected.png:
* platform/mac/compositing/reflections/compositing-change-inside-reflection-expected.png:
* platform/mac/compositing/reflections/masked-reflection-on-composited-expected.png:
* platform/mac/compositing/reflections/reflection-opacity-expected.png:
* platform/mac/compositing/reflections/transform-inside-reflection-expected.png:

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

6 years ago[Win] Extend WinLauncher with support for Page Zoom
bfulgham@apple.com [Tue, 6 Jan 2015 23:40:04 +0000 (23:40 +0000)]
[Win] Extend WinLauncher with support for Page Zoom
https://bugs.webkit.org/show_bug.cgi?id=140152

Reviewed by Anders Carlsson.

* WinLauncher/Common.cpp:
(WndProc):
* WinLauncher/WinLauncher.cpp:
(WinLauncher::resetZoom):
(WinLauncher::zoomIn):
(WinLauncher::zoomOut):
* WinLauncher/WinLauncher.h:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h:
* win/DLLLauncher/DLLLauncherMain.cpp:
(wWinMain):

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

6 years agoReplace some pixel results that were generated on Linux with no alpha with images
simon.fraser@apple.com [Tue, 6 Jan 2015 23:03:31 +0000 (23:03 +0000)]
Replace some pixel results that were generated on Linux with no alpha with images
having alpha, generated on Mac, since the canonical expected image format should have alpha.

* compositing/absolute-position-changed-in-composited-layer-expected.png:
* compositing/absolute-position-changed-with-composited-parent-layer-expected.png:
* compositing/backface-visibility/backface-visibility-image-expected.png:
* compositing/backface-visibility/backface-visibility-simple-expected.png:
* compositing/backface-visibility/backface-visibility-webgl-expected.png:
* compositing/checkerboard-expected.png:
* compositing/clip-change-expected.png: Removed.
* compositing/culling/clear-fixed-iframe-expected.png:
* compositing/culling/filter-occlusion-alpha-expected.png:
* compositing/culling/filter-occlusion-alpha-large-expected.png:
* compositing/culling/scrolled-within-boxshadow-expected.png:
* compositing/culling/tile-occlusion-boundaries-expected.png:
* compositing/culling/translated-boxshadow-expected.png:
* compositing/culling/unscrolled-within-boxshadow-expected.png:
* compositing/fixed-position-changed-in-composited-layer-expected.png:
* compositing/fixed-position-changed-within-composited-parent-layer-expected.png:
* compositing/geometry/foreground-offset-change-expected.png: Removed.
* compositing/iframes/fixed-position-iframe-expected.png: Removed.
* compositing/iframes/invisible-iframe-expected.png:
* compositing/iframes/invisible-nested-iframe-expected.png:
* compositing/iframes/nested-composited-iframe-expected.png:
* compositing/iframes/scroll-grandchild-iframe-expected.png: Removed.
* compositing/layer-creation/overlap-child-layer-expected.png:
* compositing/layer-creation/overlap-transformed-layer-expected.png:
* compositing/overflow/image-load-overflow-scrollbars-expected.png:
* compositing/overflow/scrollbars-with-clipped-owner-expected.png:
* compositing/overflow/transform-in-empty-container-expected.png:
* compositing/preserve-3d-toggle-expected.png:
* compositing/repaint/page-scale-repaint-expected.png: Removed.
* compositing/repaint/shrink-layer-expected.png: Removed.
* compositing/repaint/transform-style-change-expected.png: Removed.
* compositing/rtl/rtl-absolute-expected.png:
* compositing/rtl/rtl-absolute-overflow-expected.png:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.png: Removed.
* compositing/rtl/rtl-fixed-expected.png:
* compositing/rtl/rtl-fixed-overflow-expected.png:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Removed.
* compositing/rtl/rtl-iframe-absolute-expected.png:
* compositing/rtl/rtl-iframe-absolute-overflow-expected.png:
* compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png: Removed.
* compositing/rtl/rtl-iframe-fixed-expected.png: Removed.
* compositing/rtl/rtl-iframe-fixed-overflow-expected.png: Removed.
* compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png: Removed.
* compositing/rtl/rtl-iframe-relative-expected.png: Removed.
* compositing/rtl/rtl-overflow-invalidation-expected.png: Removed.
* compositing/rtl/rtl-overflow-scrolling-expected.png: Removed.
* compositing/rtl/rtl-relative-expected.png: Removed.
* compositing/scrollbar-painting-expected.png:
* compositing/tiling/huge-layer-img-expected.png:
* compositing/video-page-visibility-expected.png: Removed.
* compositing/video/video-reflection-expected.png:
* compositing/visibility/visibility-composited-animation-expected.png:
* compositing/webgl/webgl-repaint-expected.png:
* platform/mac/compositing/video/video-controls-layer-creation-expected.png:

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

6 years agoUpdate pixel results for some compositing tests.
simon.fraser@apple.com [Tue, 6 Jan 2015 23:03:26 +0000 (23:03 +0000)]
Update pixel results for some compositing tests.

* compositing/images/direct-pdf-image-expected.png:
* compositing/layer-creation/fixed-position-and-transform-expected.png:
* compositing/layer-creation/fixed-position-under-transform-expected.png:
* compositing/overflow/clip-content-under-overflow-controls-expected.png:
* platform/mac/compositing/animation/state-at-end-event-transform-layer-expected.png:
* platform/mac/compositing/color-matching/image-color-matching-expected.png:
* platform/mac/compositing/color-matching/pdf-image-match-expected.png:
* platform/mac/compositing/compositing-visible-descendant-expected.png:
* platform/mac/compositing/culling/filter-occlusion-blur-expected.png: Added.
* platform/mac/compositing/culling/filter-occlusion-blur-large-expected.png: Added.
* platform/mac/compositing/direct-image-compositing-expected.png:
* platform/mac/compositing/fixed-position-scroll-offset-history-restore-expected.png: Added.
* platform/mac/compositing/generated-content-expected.png:
* platform/mac/compositing/geometry/abs-position-inside-opacity-expected.png:
* platform/mac/compositing/geometry/clipping-foreground-expected.png:
* platform/mac/compositing/geometry/composited-html-size-expected.png:
* platform/mac/compositing/geometry/fixed-in-composited-expected.png:
* platform/mac/compositing/geometry/fixed-position-expected.png:
* platform/mac/compositing/geometry/foreground-layer-expected.png:
* platform/mac/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png:
* platform/mac/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.png: Added.
* platform/mac/compositing/geometry/outline-change-expected.png:
* platform/mac/compositing/geometry/partial-layout-update-expected.png:
* platform/mac/compositing/geometry/root-layer-update-expected.png:
* platform/mac/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png:
* platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
* platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
* platform/mac/compositing/iframes/composited-iframe-alignment-expected.png:
* platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.png:
* platform/mac/compositing/images/direct-image-background-color-expected.png:
* platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
* platform/mac/compositing/masks/direct-image-mask-expected.png:
* platform/mac/compositing/masks/masked-ancestor-expected.png:
* platform/mac/compositing/masks/multiple-masks-expected.png:
* platform/mac/compositing/masks/simple-composited-mask-expected.png:
* platform/mac/compositing/overflow/ancestor-overflow-expected.png:
* platform/mac/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.png: Added.
* platform/mac/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
* platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.png:
* platform/mac/compositing/overflow/nested-scrolling-expected.png: Added.
* platform/mac/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor-expected.png: Added.
* platform/mac/compositing/overflow/overflow-compositing-descendant-expected.png:
* platform/mac/compositing/overflow/overflow-positioning-expected.png:
* platform/mac/compositing/overflow/overflow-scroll-expected.png:
* platform/mac/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
* platform/mac/compositing/overflow/parent-overflow-expected.png:
* platform/mac/compositing/overflow/remove-overflow-crash2-expected.png: Added.
* platform/mac/compositing/overflow/scroll-ancestor-update-expected.png:
* platform/mac/compositing/overflow/scrollbar-painting-expected.png:
* platform/mac/compositing/plugins/composited-plugin-expected.png:
* platform/mac/compositing/reflections/deeply-nested-reflections-expected.png:
* platform/mac/compositing/reflections/nested-reflection-anchor-point-expected.png:
* platform/mac/compositing/reflections/nested-reflection-animated-expected.png:
* platform/mac/compositing/reflections/nested-reflection-expected.png:
* platform/mac/compositing/reflections/nested-reflection-mask-change-expected.png:
* platform/mac/compositing/reflections/nested-reflection-opacity-expected.png:
* platform/mac/compositing/reflections/nested-reflection-size-change-expected.png:
* platform/mac/compositing/reflections/nested-reflection-transformed-expected.png:
* platform/mac/compositing/reflections/nested-reflection-transformed2-expected.png:
* platform/mac/compositing/reflections/nested-reflection-transition-expected.png:
* platform/mac/compositing/reflections/reflection-in-composited-expected.png:
* platform/mac/compositing/reflections/reflection-on-composited-expected.png:
* platform/mac/compositing/reflections/reflection-ordering-expected.png:
* platform/mac/compositing/reflections/reflection-positioning-expected.png:
* platform/mac/compositing/reflections/reflection-positioning2-expected.png:
* platform/mac/compositing/reflections/simple-composited-reflections-expected.png:
* platform/mac/compositing/repaint/become-overlay-composited-layer-expected.png:
* platform/mac/compositing/repaint/composited-document-element-expected.png:
* platform/mac/compositing/repaint/layer-repaint-expected.png:
* platform/mac/compositing/repaint/layer-repaint-rects-expected.png:
* platform/mac/compositing/repaint/opacity-between-absolute-expected.png:
* platform/mac/compositing/repaint/opacity-between-absolute2-expected.png:
* platform/mac/compositing/repaint/repaint-on-layer-grouping-change-expected.png: Added.
* platform/mac/compositing/self-painting-layers-expected.png:
* platform/mac/compositing/shadows/shadow-drawing-expected.png:
* platform/mac/compositing/sibling-positioning-expected.png:
* platform/mac/compositing/text-on-large-layer-expected.png:
* platform/mac/compositing/transitions/scale-transition-no-start-expected.png:
* platform/mac/compositing/transitions/singular-scale-transition-expected.png:
* platform/mac/compositing/webgl/webgl-background-color-expected.png:
* platform/mac/compositing/webgl/webgl-no-alpha-expected.png:

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

6 years agoFix API tests that are broken under HiDPI
andersca@apple.com [Tue, 6 Jan 2015 22:47:58 +0000 (22:47 +0000)]
Fix API tests that are broken under HiDPI
https://bugs.webkit.org/show_bug.cgi?id=140146

Reviewed by Tim Horton.

* TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
(TestWebKitAPI::didGetImageForMatchResult):
NSImages are measured in points, so grab the underlying bitmap image and get its size in pixels.

* TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
(TestWebKitAPI::DeviceScaleFactorOnBack::runTest):
Don't assume that a web view not in a window has a backing scale factor of 1. Instead, always have web views start
out in a window that has a backing scale factor of 1.

* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:
(TestWebKitAPI::DynamicDeviceScaleFactor::runTest):
Ditto.

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

6 years agoModernize the HTMLElement factory
weinig@apple.com [Tue, 6 Jan 2015 22:32:48 +0000 (22:32 +0000)]
Modernize the HTMLElement factory
https://bugs.webkit.org/show_bug.cgi?id=140063

Reviewed by Darin Adler.

Make the HTMLElement (and derived classes) create functions
and HTMLElementFactory return Refs rather than RefPtr/PassRefPtr.

* Files elided *

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

6 years agoADDRESS_SANITIZER macro is overloaded
ap@apple.com [Tue, 6 Jan 2015 22:24:15 +0000 (22:24 +0000)]
ADDRESS_SANITIZER macro is overloaded
https://bugs.webkit.org/show_bug.cgi?id=140130

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* interpreter/JSStack.cpp: (JSC::JSStack::sanitizeStack): Use the new macro.
This code is nearly unused (only compiled in when JIT is disabled at build time),
however I've been told that it's best to keep it.

Source/WebCore:

* platform/RefCountedSupplement.h:
* platform/Supplementable.h:
Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used
in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS.

Source/WTF:

* wtf/Compiler.h: Added an ASAN_ENABLED macro. The abbreviation should become well
known - we already use it in tools.

* wtf/Assertions.h:
* wtf/RefCounted.h:
* wtf/SizeLimits.cpp:
Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used
in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS.

Tools:

* WebKitTestRunner/TestController.cpp: Use the new macro.

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

6 years agoFix Use details for op_create_arguments.
mark.lam@apple.com [Tue, 6 Jan 2015 21:58:12 +0000 (21:58 +0000)]
Fix Use details for op_create_arguments.
<https://webkit.org/b/140110>

Rubber stamped by Filip Pizlo.

The previous patch was wrong about op_create_arguments not using its 1st operand.
It does read from it (hence, used) to check if the Arguments object has already
been created or not.  This patch reverts the change for op_create_arguments.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):

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

6 years agoWeb Inspector: pass parameters to inspector agents by reference where possible
burg@cs.washington.edu [Tue, 6 Jan 2015 21:45:08 +0000 (21:45 +0000)]
Web Inspector: pass parameters to inspector agents by reference where possible
https://bugs.webkit.org/show_bug.cgi?id=140002

Reviewed by Andreas Kling.

Pass parameters by-reference from inspector instrumentation entry
points to inspector agents. If the event doesn't make sense with null
arguments, perform null checks before calling agent methods.

No new tests, no behavior changed.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::InspectorCSSAgent::didChangeRegionOverset):
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::forcePseudoState):
* inspector/InspectorCSSAgent.h: Reorder methods to match instrumentation.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::handleTouchEvent):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::willModifyDOMAttr):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
(WebCore::InspectorDOMAgent::characterDataModified):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMAgent::didPushShadowRoot):
(WebCore::InspectorDOMAgent::willPopShadowRoot):
* inspector/InspectorDOMAgent.h: Reorder methods to match instrumentation.
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::didPushShadowRootImpl):
(WebCore::InspectorInstrumentation::willPopShadowRootImpl):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::handleTouchEventImpl):
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::willScrollLayerImpl):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::applyEmulatedMediaImpl):
(WebCore::InspectorInstrumentation::willSendRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): Add null checks.
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):  Add null check.
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): Add null check.
(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::didFailLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Add null check.
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl): Add null checks.
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Add null check.
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl): Deleted.
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::frameStartedLoadingImpl): Deleted.
(WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameDetached):
(WebCore::InspectorPageAgent::loaderDetachedFromFrame):
(WebCore::InspectorPageAgent::applyEmulatedMedia):
* inspector/InspectorPageAgent.h:
* inspector/InspectorReplayAgent.cpp:
(WebCore::InspectorReplayAgent::frameDetached):
* inspector/InspectorReplayAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willDestroyCachedResource):
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
(WebCore::InspectorResourceAgent::mainFrameNavigated):
* inspector/InspectorResourceAgent.h: Reorder methods to match instrumentation.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didInvalidateLayout):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::willScroll):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didTimeStamp):
(WebCore::InspectorTimelineAgent::time):
(WebCore::InspectorTimelineAgent::timeEnd):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
* inspector/InspectorTimelineAgent.h: Reorder methods to match instrumentation.
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext): Deleted. It has no callers.
* inspector/PageRuntimeAgent.h:
* replay/ReplayController.cpp:
(WebCore::ReplayController::frameDetached):
* replay/ReplayController.h:

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

6 years agoRemove an old workaround for an old unsupported plug-in
andersca@apple.com [Tue, 6 Jan 2015 21:37:46 +0000 (21:37 +0000)]
Remove an old workaround for an old unsupported plug-in
https://bugs.webkit.org/show_bug.cgi?id=140141

Reviewed by Brent Fulgham.

The old, pre-Vista(!) plug-in is no longer available so we don't need to have this workaround in place.
(If for some bizarre reason we'd ever want to bring it back it should be a flag that the plug-in code sets on the timer,
the shared timer code shouldn't know about plug-ins at all).

* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc):

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

6 years agoPack WebCore::RuleData better.
akling@apple.com [Tue, 6 Jan 2015 21:20:33 +0000 (21:20 +0000)]
Pack WebCore::RuleData better.
<https://webkit.org/b/140109>

Reviewed by Benjamin Poulain.

Shrink RuleData by 8 bytes per instance by reordering members so that
the CSS JIT compilation status fits into the bitfield.

* css/RuleSet.h:
(WebCore::RuleData::compilationStatus):
* cssjit/SelectorCompiler.h:
(WebCore::SelectorCompilationStatus::SelectorCompilationStatus):

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

6 years agoReimplement NPN_PluginThreadAsyncCall without using PluginMainThreadScheduler
andersca@apple.com [Tue, 6 Jan 2015 20:43:22 +0000 (20:43 +0000)]
Reimplement NPN_PluginThreadAsyncCall without using PluginMainThreadScheduler
https://bugs.webkit.org/show_bug.cgi?id=140140

Reviewed by Andreas Kling.

Just use a dispatch_async call to the main queue. This will let us move PluginMainThreadScheduler
out of WebCore since nobody else is using it.

* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _createPlugin]):
(-[WebNetscapePluginView _destroyPlugin]):
* Plugins/npapi.mm:
(NPN_PluginThreadAsyncCall):

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

6 years agoAdd a WebKit1 database provider
andersca@apple.com [Tue, 6 Jan 2015 20:09:53 +0000 (20:09 +0000)]
Add a WebKit1 database provider
https://bugs.webkit.org/show_bug.cgi?id=140126

Reviewed by Sam Weinig.

Source/WebCore:

Use a Ref instead of a RefPtr since the database provider can never be null now.

* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::databaseProvider):

Source/WebKit:

Add a stubbed out database provider.

* Storage/WebDatabaseProvider.cpp: Added.
(WebDatabaseProvider::shared):
(WebDatabaseProvider::WebDatabaseProvider):
(WebDatabaseProvider::~WebDatabaseProvider):
(WebDatabaseProvider::createIDBFactoryBackend):
* Storage/WebDatabaseProvider.h: Added.
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
* WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Set the database provider.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Set the database provider.

* WebView.cpp:
(WebView::initWithFrame):

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

6 years agoREGRESSION (r177876): 35% regression in Parser/html5-full-render
antti@apple.com [Tue, 6 Jan 2015 20:06:28 +0000 (20:06 +0000)]
REGRESSION (r177876): 35% regression in Parser/html5-full-render
https://bugs.webkit.org/show_bug.cgi?id=140123

Followup fix.

* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::systemFallbackFontDataForCharacter):

    The code failed to pass isForPlatformFont boolean.

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

6 years agoUnreviewed, rolling out r177963.
commit-queue@webkit.org [Tue, 6 Jan 2015 19:43:33 +0000 (19:43 +0000)]
Unreviewed, rolling out r177963.
https://bugs.webkit.org/show_bug.cgi?id=140136

Caused lots of crashes (Requested by smfr on #webkit).

Reverted changeset:

"Add a WebKit1 database provider"
https://bugs.webkit.org/show_bug.cgi?id=140126
http://trac.webkit.org/changeset/177963

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

6 years agoFix Use details for op_create_lexical_environment and op_create_arguments.
mark.lam@apple.com [Tue, 6 Jan 2015 19:39:05 +0000 (19:39 +0000)]
Fix Use details for op_create_lexical_environment and op_create_arguments.
<https://webkit.org/b/140110>

Reviewed by Filip Pizlo.

The current "Use" details for op_create_lexical_environment and
op_create_arguments are wrong.  op_create_argument uses nothing instead of the
1st operand (the output local).  op_create_lexical_environment uses its 2nd
operand (the scope chain) instead of the 1st (the output local).
This patch fixes them to specify the proper uses.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):

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

6 years agoREGRESSION (r177876): 35% regression in Parser/html5-full-render
antti@apple.com [Tue, 6 Jan 2015 19:37:42 +0000 (19:37 +0000)]
REGRESSION (r177876): 35% regression in Parser/html5-full-render
https://bugs.webkit.org/show_bug.cgi?id=140123

Reviewed by Darin Adler.

Resolving system fallbacks is extremely slow. GlyphPageTree used to cache them globally.

This patch brings back a simple global cache for system fallbacks.

* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::systemFallbackCache):
(WebCore::SimpleFontData::systemFallbackFontDataForCharacter):
(WebCore::SimpleFontData::removeFromSystemFallbackCache):
* platform/graphics/SimpleFontData.h:

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

6 years agoImplement ES6 String.prototype.repeat(count)
utatane.tea@gmail.com [Tue, 6 Jan 2015 19:33:19 +0000 (19:33 +0000)]
Implement ES6 String.prototype.repeat(count)
https://bugs.webkit.org/show_bug.cgi?id=140047

Reviewed by Darin Adler.

Source/JavaScriptCore:

Introducing ES6 String.prototype.repeat(count) function.

* runtime/JSString.h:
* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::repeatSmallString):
(JSC::stringProtoFuncRepeat):

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/string-repeat.js: Added.
(stringRepeated.toString):
(count.valueOf):
* js/string-repeat-expected.txt: Added.
* js/string-repeat.html: Added.

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

6 years agoRename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData
antti@apple.com [Tue, 6 Jan 2015 19:21:28 +0000 (19:21 +0000)]
Rename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData
https://bugs.webkit.org/show_bug.cgi?id=140124

Reviewed by Anders Carlsson.

The current name is vague and confusing (as AdditionalFontData is not a FontData).

* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::glyphDataForCharacter):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::SimpleFontData):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::fillGlyphPage):
(WebCore::SimpleFontData::createScaledFontData):
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::widthForGlyph):
* rendering/svg/SVGTextLayoutEngineSpacing.cpp:
(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::svgFontAndFontFaceElementForFontData):
* svg/SVGFontData.h:

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

6 years agoMake explicit which TextIndicator animations are driven manually, and which run autom...
timothy_horton@apple.com [Tue, 6 Jan 2015 19:09:31 +0000 (19:09 +0000)]
Make explicit which TextIndicator animations are driven manually, and which run automatically
https://bugs.webkit.org/show_bug.cgi?id=140113
<rdar://problem/19383425>

Reviewed by Darin Adler.

* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformDictionaryLookup):
Delete an inaccurate comment.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::wantsManualAnimation):
Add wantsManualAnimation(). The old transitions (Bounce and BounceAndCrossfade)
run automatically, and the new ones (FadeIn and Crossfade) are driven manually.

* page/TextIndicator.h:
Add a comment explaining which animations are manual and which are not.

* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView present]):
Make use of wantsManualAnimation(). The previous (wantsFadeIn || wantsCrossfade)
was wrong, because it was true for BounceAndCrossfade, and would cause
BounceAndCrossfade animations (which aren't driven manually) to stall at progress=0.

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

6 years agoGive empty pages a valid database provider.
andersca@apple.com [Tue, 6 Jan 2015 19:08:37 +0000 (19:08 +0000)]
Give empty pages a valid database provider.

* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):

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

6 years agoFix iOS build after r177955 and r177952.
mmaxfield@apple.com [Tue, 6 Jan 2015 19:00:30 +0000 (19:00 +0000)]
Fix iOS build after r177955 and r177952.

Unreviewed.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

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

6 years agoRemove now unused IndexedDB code
andersca@apple.com [Tue, 6 Jan 2015 18:46:15 +0000 (18:46 +0000)]
Remove now unused IndexedDB code
https://bugs.webkit.org/show_bug.cgi?id=140128

Reviewed by Darin Adler.

Source/WebCore:

* CMakeLists.txt:
Remove files.

* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
Don't include PageGroupIndexedDatabase.h.

* Modules/indexeddb/IDBFactoryBackendInterface.cpp: Removed.
Remove this file, it just had one function calling through to the database strategy.

* Modules/indexeddb/IDBFactoryBackendInterface.h:
Remove the create function.

* Modules/indexeddb/PageGroupIndexedDatabase.cpp: Removed.
* Modules/indexeddb/PageGroupIndexedDatabase.h: Removed.
The backend is now per page, not per page group.

* WebCore.exp.in:
Remove an exported symbol.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Remove files.

* page/PageGroup.h:
PageGroup is no longer supplementable.

* platform/DatabaseStrategy.cpp:
(WebCore::DatabaseStrategy::createIDBFactoryBackend): Deleted.
* platform/DatabaseStrategy.h:
Remove a header.

Source/WebKit2:

Remove a function.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createIDBFactoryBackend): Deleted.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:

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

6 years agoTry to fix the Windows build.
andersca@apple.com [Tue, 6 Jan 2015 18:43:39 +0000 (18:43 +0000)]
Try to fix the Windows build.

* WebCore.vcxproj/copyForwardingHeaders.cmd:

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

6 years agoFix race in FindController code
darin@apple.com [Tue, 6 Jan 2015 18:29:56 +0000 (18:29 +0000)]
Fix race in FindController code
https://bugs.webkit.org/show_bug.cgi?id=140114

Reviewed by Anders Carlsson.

No idea how to reproduce this. Just ran into the crash in my local testing.

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findString): Use a RefPtr to guarantee the FindController is
not deleted while a this pointer is stored in a function.

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

6 years agoRegression(r176212): Carousel on mbusa.com is choppy
cdumez@apple.com [Tue, 6 Jan 2015 17:57:52 +0000 (17:57 +0000)]
Regression(r176212): Carousel on mbusa.com is choppy
https://bugs.webkit.org/show_bug.cgi?id=139543
<rdar://problem/19209406>

Reviewed by Antti Koivisto.

Source/WebCore:

A repeating DOM timer changing the style of an element that has
overflowing content that is visible would get throttled in the
case where the overflowing content has its own layer. This is
because the repaint rect returned by
RenderObject::absoluteClippedOverflowRect() does not take into
consideration descendants with their own self-painting layer when
accounting for the overflow.

Until I can find a relatively cheap way of computing the overflow
in this case, this patch takes the conservative approach and
assumes we may repaint inside the viewport if the element does not
have a layer or if any of its descendants has its own layer.

This patch also renames isInsideViewport() function to
mayCauseRepaintInsideViewport() for clarity.

Tests: fast/dom/repeating-timer-element-overflow-hidden-throttling.html
       fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html

* dom/Element.cpp:
(WebCore::Element::mayCauseRepaintInsideViewport):
(WebCore::Element::isInsideViewport): Deleted.
* dom/Element.h:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::scriptDidCauseElementRepaint):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::mayCauseRepaintInsideViewport):
(WebCore::RenderElement::isInsideViewport): Deleted.
* rendering/RenderElement.h:

LayoutTests:

Add a layout test to cover the case where a repeating DOM timer is
changing the style of an element which has overflowing content that
is visible and has its own layer. In such case, the DOM timer should
not be throttled. Also add a layout test to make sure we still throttle
if the element clips its overflow.

* fast/dom/repeating-timer-element-overflow-hidden-throttling-expected.txt: Added.
* fast/dom/repeating-timer-element-overflow-hidden-throttling.html: Added.
* fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling-expected.txt: Added.
* fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html: Added.
New tests.

* fast/dom/timer-unthrottle-on-layout-expected.txt:
* fast/dom/timer-unthrottle-on-layout.html:
* fast/dom/timer-unthrottle-on-scroll-expected.txt:
* fast/dom/timer-unthrottle-on-scroll.html:
Stop using <input> test elements as it appears one of the descendants
in its shadow tree has its own layer.

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

6 years agoAdd a WebKit1 database provider
andersca@apple.com [Tue, 6 Jan 2015 17:53:29 +0000 (17:53 +0000)]
Add a WebKit1 database provider
https://bugs.webkit.org/show_bug.cgi?id=140126

Reviewed by Sam Weinig.

Source/WebCore:

Use a Ref instead of a RefPtr since the database provider can never be null now.

* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::databaseProvider):

Source/WebKit:

Add a stubbed out database provider.

* Storage/WebDatabaseProvider.cpp: Added.
(WebDatabaseProvider::shared):
(WebDatabaseProvider::WebDatabaseProvider):
(WebDatabaseProvider::~WebDatabaseProvider):
(WebDatabaseProvider::createIDBFactoryBackend):
* Storage/WebDatabaseProvider.h: Added.
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
* WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Set the database provider.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Set the database provider.

* WebView.cpp:
(WebView::initWithFrame):

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

6 years ago[Win] Unreviewed build fix after r177952.
bfulgham@apple.com [Tue, 6 Jan 2015 17:18:19 +0000 (17:18 +0000)]
[Win] Unreviewed build fix after r177952.

Remove double class namespace in appendToAttributeValue.

* html/parser/HTMLToken.h:
(WebCore::HTMLToken::appendToAttributeValue): Added,
(WebCore::HTMLToken::HTMLToken::appendToAttributeValue): Deleted.

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

6 years agofast/events/before-unload-adopt-subframe-to-outside.html is flaky with ASan
ap@apple.com [Tue, 6 Jan 2015 17:13:00 +0000 (17:13 +0000)]
fast/events/before-unload-adopt-subframe-to-outside.html is flaky with ASan
https://bugs.webkit.org/show_bug.cgi?id=140061

Reviewed by Darin Adler.

Hide frames before dumping results. Something was making layout timing dependent,
hopefully this will make results consistent.

* fast/events/before-unload-adopt-subframe-to-outside-expected.txt:
* fast/events/before-unload-adopt-subframe-to-outside.html:

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

6 years agoAdd a DatabaseProvider subclass in WebKit2 and use it for IndexedDB
andersca@apple.com [Tue, 6 Jan 2015 16:54:19 +0000 (16:54 +0000)]
Add a DatabaseProvider subclass in WebKit2 and use it for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=140108

Reviewed by Darin Adler.

Source/WebCore:

* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
Get the IDBFactoryBackendInterface from the database provider.

* page/DatabaseProvider.cpp:
(WebCore::DatabaseProvider::idbFactoryBackend):
Change this to return a pointer.

* page/Page.h:
(WebCore::Page::databaseProvider):
Add a getter.

Source/WebKit2:

* CMakeLists.txt:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Databases/WebDatabaseProvider.cpp: Added.
(WebKit::databaseProviders):
(WebKit::WebDatabaseProvider::getOrCreate):
(WebKit::WebDatabaseProvider::WebDatabaseProvider):
(WebKit::WebDatabaseProvider::~WebDatabaseProvider):
(WebKit::WebDatabaseProvider::createIDBFactoryBackend):
* WebProcess/Databases/WebDatabaseProvider.h: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

6 years ago[Win] Another build fix attempt.
bfulgham@apple.com [Tue, 6 Jan 2015 16:52:15 +0000 (16:52 +0000)]
[Win] Another build fix attempt.

Reorder function declarations to avoid confusing compiler. Add explicit namespace for
out copied functions to avoid attempting to link against bindings version of these files.

* plugins/PluginPackage.cpp:
(WebCore::makeSource):
(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):
(WebCore::PluginPackage::initializeBrowserFuncs):

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

6 years agoMove '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder
cdumez@apple.com [Tue, 6 Jan 2015 16:49:58 +0000 (16:49 +0000)]
Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140112

Reviewed by Darin Adler.

Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder.

* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::parseSnapCoordinate):
(WebCore::StyleBuilderConverter::convertScrollSnapPoints):
(WebCore::StyleBuilderConverter::convertSnapCoordinatePair):
(WebCore::StyleBuilderConverter::convertScrollSnapCoordinates):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::parseSnapCoordinate): Deleted.
(WebCore::StyleResolver::parseSnapCoordinatePair): Deleted.
(WebCore::StyleResolver::parseSnapPoints): Deleted.
* css/StyleResolver.h:

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

6 years agoResolve mirroring and variant in Font instead of FontGlyphs
antti@apple.com [Tue, 6 Jan 2015 14:49:24 +0000 (14:49 +0000)]
Resolve mirroring and variant in Font instead of FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=140079

Reviewed by Darin Adler.

Make FontGlyphs more focused. It doesn't need to know about resolving variants and mirroring.

* platform/graphics/Font.cpp:
(WebCore::Font::glyphDataForCharacter):
* platform/graphics/Font.h:
(WebCore::Font::glyphDataForCharacter): Deleted.
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::glyphDataForCharacter):
* platform/graphics/FontGlyphs.h:

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

6 years agoFix Unused parameter warning in Webcore bindings.
gyuyoung.kim@samsung.com [Tue, 6 Jan 2015 11:59:47 +0000 (11:59 +0000)]
Fix Unused parameter warning in Webcore bindings.
https://bugs.webkit.org/show_bug.cgi?id=140118

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-06
Reviewed by Gyuyoung Kim.

remove the Unused parameter from createScriptInstanceForWidget() function

No new tests, no behavior changed.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::createScriptInstanceForWidget):

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

6 years agoFont::primaryFontData() should return a reference
antti@apple.com [Tue, 6 Jan 2015 11:23:58 +0000 (11:23 +0000)]
Font::primaryFontData() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=140081

Reviewed by Darin Adler.

It is not null.

Also rename primaryFont() -> primaryFontData().

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(AXAttributeStringSetStyle):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle):
* bindings/objc/DOM.mm:
(-[DOMElement _font]):
* editing/cocoa/HTMLConverter.mm:
(_font):
(WebCore::editingAttributedStringFromRange):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):
* editing/mac/EditorMac.mm:
(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):
* platform/graphics/Font.cpp:
(WebCore::Font::fastAverageCharWidthIfAvailable):
* platform/graphics/Font.h:
(WebCore::Font::fontMetrics):
(WebCore::Font::spaceWidth):
(WebCore::Font::tabWidth):
(WebCore::Font::primaryFontData):
(WebCore::Font::primaryFont): Deleted.
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::primaryFontHasGlyphForCharacter):
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForCharacter):
* platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::primarySimpleFontData):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::fontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont):
* platform/graphics/opentype/OpenTypeMathData.cpp:
* platform/graphics/opentype/OpenTypeMathData.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::constructTextRun):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustLogicalLeftOffsetForLine):
(WebCore::RenderBlock::adjustLogicalRightOffsetForLine):
(WebCore::constructTextRunInternal):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
* rendering/RenderThemeIOS.mm:
(WebCore::adjustInputElementButtonStyle):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack):
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
(WebCore::RenderMathMLOperator::findStretchyData):
(WebCore::RenderMathMLOperator::trailingSpaceError):
* rendering/mathml/RenderMathMLRadicalOperator.cpp:
(WebCore::RenderMathMLRadicalOperator::stretchTo):
(WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
(WebCore::RenderMathMLRadicalOperator::paint):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::updateStyle):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun):
* rendering/svg/SVGTextLayoutEngineSpacing.cpp:
(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::constructTextRun):
(WebCore::SVGTextMetrics::SVGTextMetrics):
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::missingGlyphForFont):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

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

6 years agoFix Unused parameter warning in Webcore bindings.
commit-queue@webkit.org [Tue, 6 Jan 2015 11:10:02 +0000 (11:10 +0000)]
Fix Unused parameter warning in Webcore bindings.
https://bugs.webkit.org/show_bug.cgi?id=140046

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-06
Reviewed by Gyuyoung Kim.

remove the Unused parameter from createScriptInstanceForWidget() function

No new tests, no behavior changed.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::createScriptInstanceForWidget):

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

6 years agoMove '-webkit-filter' / '-webkit-backdrop-filter' to the new StyleBuilder
cdumez@apple.com [Tue, 6 Jan 2015 10:25:16 +0000 (10:25 +0000)]
Move '-webkit-filter' / '-webkit-backdrop-filter' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140111

Reviewed by Darin Adler.

Move '-webkit-filter' / '-webkit-backdrop-filter' to the new
StyleBuilder.

* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::createFilterOperations):
* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertFilterOperations):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:

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

6 years agoModernize and streamline HTMLToken and AtomicHTMLToken
darin@apple.com [Tue, 6 Jan 2015 08:06:09 +0000 (08:06 +0000)]
Modernize and streamline HTMLToken and AtomicHTMLToken
https://bugs.webkit.org/show_bug.cgi?id=140046

Reviewed by Andreas Kling.

Source/WebCore:

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendDocumentType): Added code to properly
handle empty strings for systemId and publicId, rather than treating them
the same as missing systemId and publicId.

* html/parser/AtomicHTMLToken.h: Removed unneeded includes.
Moved function bodies out of the class so it's easier to see the contents of
the class. Renamed the isAll8BitData function to charactersIsAll8BitData
to make it clear that it is correct only for AtomicHTMLToken::characters.
Made more things private. Moved the findAttributeInVector function here
and renamed it to just findAttribute. Use unsigned instead of int and
size_t as appropriate. Changed the constructor that makes a fake one of
these to move the Vector of attributes in rather than copying it.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertDoctype): Moved the code to create
a string from here into AtomicHTMLToken.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Updated
to construct the Vector explicitly because all other call sites pass
ownership of the Vector in to the AtomicHTMLToken.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer): Check for an uninitialized
token without using a special function just for this purpose.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Ditto.

* html/parser/HTMLParserIdioms.h: Removed the version of
stripLeadingAndTrailingHTMLSpaces that takes a character vector. Instead
the caller can make a string. Later we might want this to work with
a StringView, or a StringView/String combination.

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::scan): Updated to not use HTMLToken::data.
(WebCore::TokenPreloadScanner::updatePredictedBaseURL): Updated to not use
HTMLToken::getAttributeItem and to not require a special overload of the
stripLeadingAndTrailingHTMLSpaces function.

* html/parser/HTMLSourceTracker.cpp:
(WebCore::HTMLSourceTracker::end): Updated to call the token-ending
function by its new name, setEndOffset.
(WebCore::HTMLSourceTracker::sourceForToken): Updated since we no
longer have a startIndex function that already returns 0. Instead just
call length. Also use unsigned instead of size_t.

* html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::getAttributeItem): Updated for name change.

* html/parser/HTMLToken.h: Removed the many unneeded includes,
including the self-include! Turned DoctypeData into a normal struct
without m_ prefixes on its member names. Turned HTMLToken::Attribute and
HTMLToken::Attribute::Range into normal structs. Moved function
bodies out of the class so it's easier to see the contents of
the class. Removed a few now-unneeded functions.

* html/parser/HTMLTokenizer.cpp: Removed the AtomicHTMLToken function
members that used to be here. None are needed any more; they are now all
just inlined at the call site. If we need any non-inline functions, then
we sould probably create an AtomicHTMLToken.cpp file instead.
(WebCore::HTMLTokenizer::processEntity): Use the new bufferASCIICharacter
function in all the cases where we know a character is ASCII to cut down
on the amount of 8-bit checking we have to do.
(WebCore::HTMLTokenizer::nextToken): Ditto.

* html/parser/HTMLTokenizer.h: Added a new bufferASCIICharacter function
so we don't have to do 8-bit checks on so many characters as we buffer
them. Also removed the call to ensureIsCharacterToken, since appendToCharacter
now does that. Also deleted overloads of bufferCharacter so we remember to
call bufferASCIICharacter instead.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
Updated for change in AtomicHTMLToken function names.
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::hasAttribute): Added.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Use hasAtttribute.

* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement): Move the attributes in
rather than copying them in.

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterCharacterToken): Use clear so we don't have to
have an eraseCharacters function. Use a local variable to avoid overloading
ambiguity.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Fixed a typo and the types
of some local variables.

LayoutTests:

* resources/dump-as-markup.js:
(Markup._get): Add code to handle null systemId and publicId,
dumping them as empty strings for now.

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

6 years agoWebCore:
darin@apple.com [Tue, 6 Jan 2015 07:46:07 +0000 (07:46 +0000)]
WebCore:

Revert mistake in yesterday's HTMLDocumentParser refactor.
https://bugs.webkit.org/show_bug.cgi?id=140041

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass the parser content policy
from the parserContentPolicy function, not the raw policy that was passed in. This
restores the behavior from before r177883.

LayoutTests:

* TestExpectations: Re-enabled the test I broke yesterday,
editing/pasteboard/drag-and-drop-objectimage-contenteditable.html,
now that it's fixed.

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

6 years agoUsing calc() for -webkit-filter does not work
cdumez@apple.com [Tue, 6 Jan 2015 05:51:44 +0000 (05:51 +0000)]
Using calc() for -webkit-filter does not work
https://bugs.webkit.org/show_bug.cgi?id=140106

Reviewed by Darin Adler.

Source/WebCore:

Using calc() for -webkit-filter did not work because the CSS parser did
not handle it properly. This patch addresses the issue.

Test: fast/css/webkit-filter-calc.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseBuiltinFilterArguments):

LayoutTests:

Add a layout test to make sure using calc() for -webkit-filter CSS
property is working as intended.

* fast/css/webkit-filter-calc-expected.txt: Added.
* fast/css/webkit-filter-calc.html: Added.

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

6 years agoRemove some stale class names in check-for-inappropriate-objc-class-names
commit-queue@webkit.org [Tue, 6 Jan 2015 04:50:25 +0000 (04:50 +0000)]
Remove some stale class names in check-for-inappropriate-objc-class-names
https://bugs.webkit.org/show_bug.cgi?id=140104

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-05
Reviewed by Darin Adler.

* Scripts/check-for-inappropriate-objc-class-names:
These UIWK* classes no longer exist.

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

6 years agoAllow HTTPS + 'Cache-control: no-cache' pages into the page cache
cdumez@apple.com [Tue, 6 Jan 2015 04:50:06 +0000 (04:50 +0000)]
Allow HTTPS + 'Cache-control: no-cache' pages into the page cache
https://bugs.webkit.org/show_bug.cgi?id=139251

Reviewed by Darin Adler.

Source/WebCore:

Allow HTTPS + 'Cache-control: no-cache' pages into the page cache as
IE10+ and Google Chrome do, and as allowed by RFC2616 & newer RFC7234
(both RFCs distinguish history mechanisms and caches).

Pages over HTTPs using 'Cache-control: no-store' still don't go into
the page cache for now.

Test: http/tests/navigation/https-in-page-cache.html

* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
* platform/FeatureCounterKeys.h:

LayoutTests:

Update http/tests/navigation/https-in-page-cache.html layout test so that it
expects HTTPS + 'Cache-control: no-cache' pages to go into the page cache.

* http/tests/navigation/https-in-page-cache-expected.txt:
* http/tests/navigation/resources/https-in-page-cache-2.php:

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

6 years agoUsing calc() in repeat() for -webkit-grid-template-rows does not work
cdumez@apple.com [Tue, 6 Jan 2015 04:48:25 +0000 (04:48 +0000)]
Using calc() in repeat() for -webkit-grid-template-rows does not work
https://bugs.webkit.org/show_bug.cgi?id=140094

Reviewed by Darin Adler.

Source/WebCore:

Using calc() in repeat() for -webkit-grid-template-rows was not working
because the CSS parser was not handling this case properly. This patch
addresses the issue.

Test: fast/css-grid-layout/grid-repeat-calc.html

* css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::isPositive):
Add isPositive() method as it is needed by
CSSParser::validateCalculationUnit().

* css/CSSParser.cpp:
(WebCore::CSSParser::validateCalculationUnit):
Add support for FPositiveInteger, similarly to what was done in
validateUnit(). This would cause us to consider calc(1 + 1) as invalid
if a FPositiveInteger was requested.

(WebCore::CSSParser::parseGridTrackRepeatFunction):
Do not access fValue directly and call parsedDouble() instead as it
correctly handles calculation values.

LayoutTests:

* fast/css-grid-layout/grid-repeat-calc-expected.txt: Added.
* fast/css-grid-layout/grid-repeat-calc.html: Added.

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

6 years agocalc() cannot be used in steps() for -webkit-animation-timing-function
cdumez@apple.com [Tue, 6 Jan 2015 04:46:51 +0000 (04:46 +0000)]
calc() cannot be used in steps() for -webkit-animation-timing-function
https://bugs.webkit.org/show_bug.cgi?id=140091

Reviewed by Darin Adler.

Source/WebCore:

calc() could not be used in steps() for -webkit-animation-timing-function
CSS property because the CSS parser did not handle this case properly.
This patch addresses the issue.

Test: fast/css/animation-steps-calculated-value.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationTimingFunction):

LayoutTests:

Add a layout test to make sure that calc() can be used in steps() for
-webkit-animation-timing-function CSS property.

* fast/css/animation-steps-calculated-value-expected.txt: Added.
* fast/css/animation-steps-calculated-value.html: Added.

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

6 years ago[Win] One more build fix for r177937.
bfulgham@apple.com [Tue, 6 Jan 2015 02:38:35 +0000 (02:38 +0000)]
[Win] One more build fix for r177937.

* plugins/PluginPackage.cpp: Provide forward declaration for local NPN_Evaluate
implementation to avoid linker error.

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

6 years agoWeb Inspector: inspector view top inset should not include height of web view banners
commit-queue@webkit.org [Tue, 6 Jan 2015 02:13:43 +0000 (02:13 +0000)]
Web Inspector: inspector view top inset should not include height of web view banners
https://bugs.webkit.org/show_bug.cgi?id=140076

Patch by Matt Baker <mattbaker@apple.com> on 2015-01-05
Reviewed by Anders Carlsson.

Added _totalHeightOfBanners property to WKView, which is used by the WebInspectorProxy
to calculate the correct vertical position of the Inspector view frame. The browser is
responsible for setting the property value whenever banners are installed or uninstalled from
the view.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _setTotalHeightOfBanners:]):
(-[WKView _totalHeightOfBanners]):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):

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

6 years ago[Win] Unreviewed build fix after r177937.
bfulgham@apple.com [Tue, 6 Jan 2015 02:01:45 +0000 (02:01 +0000)]
[Win] Unreviewed build fix after r177937.

Add the missing #include and namespace declarations to get a clean build.

* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
* plugins/PluginPackage.cpp:
(WebCore::getListFromVariantArgs):
(WebCore::NPN_Invoke):
(WebCore::makeSource):
(WebCore::NPN_Evaluate):

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

6 years agoRemove PluginViewNone.cpp
andersca@apple.com [Tue, 6 Jan 2015 01:54:32 +0000 (01:54 +0000)]
Remove PluginViewNone.cpp
https://bugs.webkit.org/show_bug.cgi?id=140107

Reviewed by Andreas Kling.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformWin.cmake:
* WebCore.xcodeproj/project.pbxproj:
* plugins/PluginViewNone.cpp: Removed.

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

6 years agoStop including PluginView.h from cross platform WebCore code
andersca@apple.com [Tue, 6 Jan 2015 01:23:42 +0000 (01:23 +0000)]
Stop including PluginView.h from cross platform WebCore code
https://bugs.webkit.org/show_bug.cgi?id=140105

Reviewed by Andreas Kling.

Instead, include PluginViewBase.h. This will allow us to move the old plug-in implementation to WebKit.

* bindings/js/ScriptController.cpp:
* bridge/NP_jsobject.cpp:
(_NPN_Evaluate):
* inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
* loader/FrameLoaderClient.h:
* page/Page.cpp:
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::setJavaScriptPaused):

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

6 years ago[Win] Unreviewed build fix after r177925.
bfulgham@apple.com [Tue, 6 Jan 2015 00:53:03 +0000 (00:53 +0000)]
[Win] Unreviewed build fix after r177925.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct symbol name.

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

6 years agoIntroduce a per-page database provider class
andersca@apple.com [Tue, 6 Jan 2015 00:29:36 +0000 (00:29 +0000)]
Introduce a per-page database provider class
https://bugs.webkit.org/show_bug.cgi?id=140102

Reviewed by Sam Weinig.

This class will replace DatabaseStrategy and allow for different providers per page.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* page/DatabaseProvider.cpp: Added.
(WebCore::DatabaseProvider::~DatabaseProvider):
(WebCore::DatabaseProvider::idbFactoryBackend):
* page/DatabaseProvider.h: Added.
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
* page/PageConfiguration.cpp:
* page/PageConfiguration.h:

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

6 years agoAdd copies of NPN_Evaluate and NPN_Invoke on Windows
andersca@apple.com [Tue, 6 Jan 2015 00:10:52 +0000 (00:10 +0000)]
Add copies of NPN_Evaluate and NPN_Invoke on Windows
https://bugs.webkit.org/show_bug.cgi?id=140103

Reviewed by Andreas Kling.

While this is unfortunate, it will allow us to get rid of PluginView.h and PluginViewNone.cpp
from the cross platform WebCore code and then move the plug-in code to WebKit/win (which is the only client of this plug-in implementation).

* plugins/PluginPackage.cpp:
(WebCore::NPN_Invoke):
(WebCore::NPN_Evaluate):
(WebCore::PluginPackage::initializeBrowserFuncs):

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

6 years agoFix up bmalloc's PerThread for use on Linux
ggaren@apple.com [Mon, 5 Jan 2015 23:33:54 +0000 (23:33 +0000)]
Fix up bmalloc's PerThread for use on Linux
https://bugs.webkit.org/show_bug.cgi?id=139804

Reviewed by Anders Carlsson.

The previous implementation was a bit slow.

* bmalloc/PerThread.h:
(bmalloc::PerThreadStorage<Cache>::get):
(bmalloc::PerThreadStorage::get):
(bmalloc::PerThreadStorage::init): Added a catch-all cross-platform Unix
way to do fast per-thread access without taking a lock every time. This
probably works on all the platforms we care about, and it matches other
techniques we use elsewhere in WebKit.

(bmalloc::PerThread<T>::getFastCase): Removed the conditional from
this class because PerThreadStorage now encapsulates everything that
needs to be conditional.

(bmalloc::PerThreadStorage::initSharedKeyIfNeeded): Deleted.

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

6 years agoheap-buffer-overflow on fast/loader/reload-zero-byte-plugin.html
andersca@apple.com [Mon, 5 Jan 2015 22:37:46 +0000 (22:37 +0000)]
heap-buffer-overflow on fast/loader/reload-zero-byte-plugin.html
https://bugs.webkit.org/show_bug.cgi?id=140096
rdar://problem/19368938

Reviewed by Alexey Proskuryakov.

When creating a new page, don't pass clientInfo when setting up the frame and policy clients,
since clientInfo points to a web view, not the test controller.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):

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

6 years agoPurge PassRefPtr from Page.
akling@apple.com [Mon, 5 Jan 2015 21:48:31 +0000 (21:48 +0000)]
Purge PassRefPtr from Page.
<https://webkit.org/b/140089>

Reviewed by Anders Carlsson.

Source/WebCore:

Use Ref or RefPtr instead of PassRefPtr as appropriate in WebCore::Page.

* page/Page.cpp:
(WebCore::Page::rangeOfString):
(WebCore::Page::setSessionStorage):
* page/Page.h:
* page/mac/PageMac.cpp:
(WebCore::Page::addSchedulePair):
(WebCore::Page::removeSchedulePair):

Source/WTF:

Make SchedulePair::create() return Ref since it never fails.

* wtf/SchedulePair.h:
(WTF::SchedulePair::create):

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

6 years agoImplicitly dismissed DD popovers don't clear immediate action state, prematurely...
timothy_horton@apple.com [Mon, 5 Jan 2015 21:47:14 +0000 (21:47 +0000)]
Implicitly dismissed DD popovers don't clear immediate action state, prematurely dismissing the next DD highlight
https://bugs.webkit.org/show_bug.cgi?id=140088
<rdar://problem/19298391>

Reviewed by Anders Carlsson.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _menuItemForDataDetectedText]):
Instead of just tearing down the TextIndicator, clear all state.

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