Remove some unneeded code noticed while looking at StylePendingImage
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-11  Darin Adler  <darin@apple.com>
2
3         Remove some unneeded code noticed while looking at StylePendingImage
4         https://bugs.webkit.org/show_bug.cgi?id=125618
5
6         Reviewed by Andreas Kling.
7
8         * css/StyleResolver.cpp:
9         (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
10
11         * rendering/RenderImageResource.cpp: Removed unneeded nullImage and
12         usesImageContainerSize member functions.
13         (WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
14         through RenderImageResourceImage::nullImage.
15
16         * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
17         and nullImage functions. Also removed unneeded includes.
18
19         * rendering/RenderImageResourceStyleImage.h: Removed unneeded
20         usesImageContainerSize override. Nobody was calling it.
21
22 2013-12-11  Benjamin Poulain  <bpoulain@apple.com>
23
24         Add the CFNetwork implementation of the asynchronous ResourceHandle
25         https://bugs.webkit.org/show_bug.cgi?id=124440
26
27         Reviewed by Alexey Proskuryakov.
28
29         Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
30         The difference is those objects handle the network callback on a different queue.
31
32         Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
33
34         The initialization of the request and connection is moved to the subclass to clean up initialization.
35
36         * WebCore.xcodeproj/project.pbxproj:
37         * platform/network/ResourceHandle.h:
38         * platform/network/ResourceHandleClient.cpp:
39         (WebCore::ResourceHandleClient::willCacheResponseAsync):
40         * platform/network/ResourceHandleClient.h:
41         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
42         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
43         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
44         (WebCore::connectionWasCancelled):
45         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
46         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
47         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
48         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
49         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
50         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
51         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
52         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
53         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
54         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
55         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
56         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
57         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
58         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
59         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
60         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
61         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
62         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
63         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
64         * platform/network/cf/ResourceHandleCFNet.cpp:
65         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
66         (WebCore::ResourceHandle::createCFURLConnection):
67         (WebCore::ResourceHandle::start):
68         (WebCore::ResourceHandle::shouldUseCredentialStorage):
69         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
70         (WebCore::ResourceHandle::continueWillSendRequest):
71         (WebCore::ResourceHandle::continueDidReceiveResponse):
72         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
73         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
74         (WebCore::ResourceHandle::continueWillCacheResponse):
75         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
76         (WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
77         (WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
78         (WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
79         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
80         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
81         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
82         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
83         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
84         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
85         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
86         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
87         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
88         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
89         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
90
91 2013-12-11  David Kilzer  <ddkilzer@apple.com>
92
93         Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
94         <http://webkit.org/b/125329>
95
96         Reviewed by Darin Adler.
97
98         No tests since this is a build fix for:
99
100             $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
101
102         * rendering/InlineBox.cpp:
103         * rendering/InlineBox.h:
104         - Replace ASSERT_DISABLED use with
105           ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
106
107         * rendering/InlineFlowBox.cpp:
108         (WebCore::InlineFlowBox::~InlineFlowBox):
109         - Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
110           #ifndef NDEBUG since this calls setHasBadParent().
111         (WebCore::InlineFlowBox::checkConsistency):
112         - Move ASSERT(!m_hasBadChildList) outside of
113           #if CHECK_CONSISTENCY and change to
114           ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
115
116         * rendering/InlineFlowBox.h:
117         (WebCore::InlineFlowBox::InlineFlowBox):
118         (WebCore::InlineFlowBox::setHasBadChildList):
119         - Change #ifndef NDEBUG to
120           #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
121           m_hasBadChildList.
122
123 2013-12-11  Ralph Thomas  <ralpht@gmail.com>
124
125         [WebGL] Fix build on GL ES 2.0 targets after r160119
126         https://bugs.webkit.org/show_bug.cgi?id=125541
127
128         Reviewed by Brent Fulgham.
129
130         GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
131         This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.
132
133         No new tests, no change in functionality.
134
135         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
136         (WebCore::GraphicsContext3D::texSubImage2D):
137
138 2013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
139
140         Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
141         https://bugs.webkit.org/show_bug.cgi?id=125324
142
143         Reviewed by Timothy Hatcher.
144
145         Part 1: Push down core inspector classes.
146
147           - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
148             down to JavaScriptCore and into the Inspector namespace.
149           - Add forwarding headers for JavaScriptCore/inspector files.
150           - Use the Inspector namespace where appropriate.
151           - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
152
153         Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
154
155           - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
156           - Add forwarding headers
157           - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
158
159         Part 3: Push Down ScriptFunctionCall
160
161           - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
162           - Give constructor a function to all for a different JSC::call, because
163             WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
164           - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
165
166         Part 4: Extract InspectorTypeBuilder helper functions
167
168           - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
169             its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
170           - This moves TypeBuilder from namespace WebCore to namespace Inspector
171           - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
172             eventually the CodeGenerator script will do this for more then TypeBuilders
173             and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
174
175         No new tests. No change in functionality, just moving things around.
176
177         * CMakeLists.txt:
178         * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
179         * ForwardingHeaders/bindings/ScriptObject.h: Added.
180         * ForwardingHeaders/bindings/ScriptValue.h: Added.
181         * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
182         * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
183         * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
184         * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
185         * ForwardingHeaders/inspector/InspectorValues.h: Added.
186         * GNUmakefile.am:
187         * GNUmakefile.list.am:
188         * Modules/indexeddb/IDBAny.cpp:
189         (WebCore::IDBAny::scriptValue):
190         (WebCore::IDBAny::IDBAny):
191         * Modules/indexeddb/IDBAny.h:
192         * Modules/indexeddb/IDBCursor.cpp:
193         (WebCore::IDBCursor::key):
194         (WebCore::IDBCursor::primaryKey):
195         (WebCore::IDBCursor::value):
196         (WebCore::IDBCursor::update):
197         (WebCore::IDBCursor::continueFunction):
198         (WebCore::IDBCursor::setValueReady):
199         * Modules/indexeddb/IDBCursor.h:
200         * Modules/indexeddb/IDBFactory.cpp:
201         (WebCore::IDBFactory::cmp):
202         * Modules/indexeddb/IDBFactory.h:
203         * Modules/indexeddb/IDBIndex.cpp:
204         (WebCore::IDBIndex::openCursor):
205         (WebCore::IDBIndex::count):
206         (WebCore::IDBIndex::openKeyCursor):
207         (WebCore::IDBIndex::get):
208         (WebCore::IDBIndex::getKey):
209         * Modules/indexeddb/IDBIndex.h:
210         (WebCore::IDBIndex::openCursor):
211         (WebCore::IDBIndex::openKeyCursor):
212         * Modules/indexeddb/IDBKeyRange.cpp:
213         (WebCore::IDBKeyRange::lowerValue):
214         (WebCore::IDBKeyRange::upperValue):
215         (WebCore::IDBKeyRange::only):
216         (WebCore::IDBKeyRange::lowerBound):
217         (WebCore::IDBKeyRange::upperBound):
218         (WebCore::IDBKeyRange::bound):
219         * Modules/indexeddb/IDBKeyRange.h:
220         (WebCore::IDBKeyRange::lowerBound):
221         (WebCore::IDBKeyRange::upperBound):
222         (WebCore::IDBKeyRange::bound):
223         * Modules/indexeddb/IDBObjectStore.cpp:
224         (WebCore::IDBObjectStore::get):
225         (WebCore::generateIndexKeysForValue):
226         (WebCore::IDBObjectStore::add):
227         (WebCore::IDBObjectStore::put):
228         (WebCore::IDBObjectStore::deleteFunction):
229         (WebCore::IDBObjectStore::openCursor):
230         (WebCore::IDBObjectStore::count):
231         * Modules/indexeddb/IDBObjectStore.h:
232         * Modules/indexeddb/IDBRequest.cpp:
233         (WebCore::IDBRequest::setResultCursor):
234         (WebCore::IDBRequest::onSuccess):
235         (WebCore::IDBRequest::onSuccessInternal):
236         * Modules/indexeddb/IDBRequest.h:
237         * Modules/mediastream/CapabilityRange.cpp:
238         (WebCore::scriptValue):
239         (WebCore::CapabilityRange::min):
240         (WebCore::CapabilityRange::max):
241         * Modules/mediastream/CapabilityRange.h:
242         * Modules/mediastream/MediaTrackConstraint.h:
243         * Modules/mediastream/RTCIceCandidate.cpp:
244         * Modules/plugins/QuickTimePluginReplacement.cpp:
245         * Modules/plugins/QuickTimePluginReplacement.h:
246         * UseJSC.cmake:
247         * WebCore.exp.in:
248         * WebCore.vcxproj/WebCore.vcxproj:
249         * WebCore.vcxproj/WebCore.vcxproj.filters:
250         * WebCore.xcodeproj/project.pbxproj:
251         * bindings/js/Dictionary.h:
252         (WebCore::Dictionary::getEventListener):
253         * bindings/js/IDBBindingUtilities.cpp:
254         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
255         (WebCore::injectIDBKeyIntoScriptValue):
256         (WebCore::canInjectIDBKeyIntoScriptValue):
257         (WebCore::deserializeIDBValue):
258         (WebCore::deserializeIDBValueBuffer):
259         (WebCore::idbKeyToScriptValue):
260         (WebCore::scriptValueToIDBKey):
261         * bindings/js/IDBBindingUtilities.h:
262         * bindings/js/JSBindingsAllInOne.cpp:
263         * bindings/js/JSDictionary.cpp:
264         (WebCore::JSDictionary::convertValue):
265         * bindings/js/JSDictionary.h:
266         * bindings/js/JSHTMLCanvasElementCustom.cpp:
267         (WebCore::JSHTMLCanvasElement::getContext):
268         * bindings/js/JSInjectedScriptHostCustom.cpp:
269         (WebCore::InjectedScriptHost::scriptValueAsNode):
270         (WebCore::InjectedScriptHost::nodeAsScriptValue):
271         (WebCore::JSInjectedScriptHost::inspectedObject):
272         (WebCore::JSInjectedScriptHost::inspect):
273         * bindings/js/JSInjectedScriptManager.cpp:
274         (WebCore::InjectedScriptManager::createInjectedScript):
275         * bindings/js/JSMainThreadExecState.cpp:
276         (WebCore::functionCallHandlerFromAnyThread):
277         * bindings/js/JSMainThreadExecState.h:
278         (WebCore::JSMainThreadExecState::currentState):
279         * bindings/js/JSMessageEventCustom.cpp:
280         (WebCore::JSMessageEvent::data):
281         (WebCore::handleInitMessageEvent):
282         * bindings/js/ScheduledAction.cpp:
283         * bindings/js/ScriptCallStackFactory.cpp:
284         (WebCore::createScriptArguments):
285         * bindings/js/ScriptController.cpp:
286         (WebCore::ScriptController::evaluateInWorld):
287         (WebCore::ScriptController::evaluate):
288         (WebCore::ScriptController::executeScriptInWorld):
289         (WebCore::ScriptController::executeScript):
290         (WebCore::ScriptController::executeIfJavaScriptURL):
291         * bindings/js/ScriptController.h:
292         * bindings/js/ScriptDebugServer.cpp:
293         (WebCore::ScriptDebugServer::setScriptSource):
294         (WebCore::ScriptDebugServer::updateCallStack):
295         (WebCore::ScriptDebugServer::dispatchDidPause):
296         (WebCore::ScriptDebugServer::runScript):
297         * bindings/js/ScriptDebugServer.h:
298         * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
299         (WebCore::handleException):
300         (WebCore::ScriptGlobalObject::set):
301         (WebCore::ScriptGlobalObject::get):
302         (WebCore::ScriptGlobalObject::remove):
303         * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
304         (WebCore::ScriptGlobalObject::ScriptGlobalObject):
305         * bindings/js/ScriptObject.h: Removed.
306         * bindings/js/ScriptProfile.cpp:
307         (WebCore::buildInspectorObjectFor):
308         (WebCore::ScriptProfile::buildInspectorObjectForHead):
309         (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
310         * bindings/js/ScriptProfile.h:
311         * bindings/js/ScriptProfiler.cpp:
312         (WebCore::ScriptProfiler::objectByHeapObjectId):
313         (WebCore::ScriptProfiler::getHeapObjectId):
314         * bindings/js/ScriptProfiler.h:
315         * bindings/js/ScriptState.h:
316         * bindings/js/SerializedScriptValue.cpp:
317         (WebCore::SerializedScriptValue::deserializeForInspector):
318         (WebCore::SerializedScriptValue::serialize):
319         (WebCore::SerializedScriptValue::deserialize):
320         * bindings/js/SerializedScriptValue.h:
321         * bindings/js/WorkerScriptController.cpp:
322         (WebCore::WorkerScriptController::evaluate):
323         (WebCore::WorkerScriptController::setException):
324         * bindings/js/WorkerScriptController.h:
325         * bindings/scripts/CodeGeneratorJS.pm:
326         * bindings/scripts/test/JS/JSTestObj.cpp:
327         (WebCore::setJSTestObjAnyAttribute):
328         * dom/CustomEvent.cpp:
329         (WebCore::CustomEvent::initCustomEvent):
330         * dom/CustomEvent.h:
331         (WebCore::CustomEvent::detail):
332         * dom/MessageEvent.cpp:
333         (WebCore::MessageEvent::MessageEvent):
334         (WebCore::MessageEvent::initMessageEvent):
335         * dom/MessageEvent.h:
336         (WebCore::MessageEvent::create):
337         (WebCore::MessageEvent::dataAsScriptValue):
338         * dom/PopStateEvent.h:
339         (WebCore::PopStateEvent::state):
340         * dom/ScriptElement.cpp:
341         * html/HTMLMediaElement.cpp:
342         * html/parser/XSSAuditor.cpp:
343         * html/parser/XSSAuditorDelegate.cpp:
344         * inspector/CodeGeneratorInspector.py:
345         (RawTypes.BaseType.get_raw_validator_call_text):
346         (RawTypes.Object.get_array_item_raw_c_type_text):
347         (RawTypes.Any.get_array_item_raw_c_type_text):
348         (RawTypes.Array.get_array_item_raw_c_type_text):
349         (CommandReturnPassModel.OptOutput.get_return_var_type):
350         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
351         (TypeModel.ExactlyInt.get_input_param_type_text):
352         (TypeModel.ExactlyInt.get_opt_output_type_):
353         (TypeModel.init_class):
354         (TypeBindings.create_named_type_declaration.Helper):
355         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
356         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
357         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
358         (Inspector):
359         (ArrayBinding.get_array_item_c_type_text):
360         (Generator.go):
361         (Generator.process_command):
362         * inspector/CodeGeneratorInspectorStrings.py:
363         (void):
364         (InspectorFrontend_h):
365         (InspectorBackendDispatchers_h):
366         * inspector/ConsoleMessage.cpp:
367         (WebCore::messageSourceValue):
368         (WebCore::messageTypeValue):
369         (WebCore::messageLevelValue):
370         (WebCore::ConsoleMessage::addToFrontend):
371         * inspector/ConsoleMessage.h:
372         * inspector/ContentSearchUtils.cpp:
373         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
374         (WebCore::ContentSearchUtils::searchInTextByLines):
375         * inspector/ContentSearchUtils.h:
376         * inspector/InjectedScript.cpp:
377         (WebCore::InjectedScript::InjectedScript):
378         (WebCore::InjectedScript::evaluate):
379         (WebCore::InjectedScript::callFunctionOn):
380         (WebCore::InjectedScript::evaluateOnCallFrame):
381         (WebCore::InjectedScript::getFunctionDetails):
382         (WebCore::InjectedScript::getProperties):
383         (WebCore::InjectedScript::getInternalProperties):
384         (WebCore::InjectedScript::nodeForObjectId):
385         (WebCore::InjectedScript::releaseObject):
386         (WebCore::InjectedScript::wrapCallFrames):
387         (WebCore::InjectedScript::wrapObject):
388         (WebCore::InjectedScript::wrapTable):
389         (WebCore::InjectedScript::wrapNode):
390         (WebCore::InjectedScript::findObjectById):
391         (WebCore::InjectedScript::inspectNode):
392         (WebCore::InjectedScript::releaseObjectGroup):
393         (WebCore::InjectedScript::nodeAsScriptValue):
394         * inspector/InjectedScript.h:
395         * inspector/InjectedScriptBase.cpp:
396         (WebCore::InjectedScriptBase::InjectedScriptBase):
397         (WebCore::InjectedScriptBase::initialize):
398         (WebCore::InjectedScriptBase::injectedScriptObject):
399         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
400         (WebCore::InjectedScriptBase::makeCall):
401         (WebCore::InjectedScriptBase::makeEvalCall):
402         * inspector/InjectedScriptBase.h:
403         * inspector/InjectedScriptCanvasModule.cpp:
404         (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
405         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
406         (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
407         (WebCore::InjectedScriptCanvasModule::markFrameEnd):
408         (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
409         (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
410         (WebCore::InjectedScriptCanvasModule::traceLog):
411         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
412         (WebCore::InjectedScriptCanvasModule::resourceInfo):
413         (WebCore::InjectedScriptCanvasModule::resourceState):
414         * inspector/InjectedScriptCanvasModule.h:
415         * inspector/InjectedScriptHost.cpp:
416         (WebCore::InjectedScriptHost::inspectImpl):
417         (WebCore::InjectedScriptHost::InspectableObject::get):
418         * inspector/InjectedScriptHost.h:
419         * inspector/InjectedScriptManager.cpp:
420         (WebCore::InjectedScriptManager::injectedScriptFor):
421         * inspector/InjectedScriptManager.h:
422         * inspector/InjectedScriptModule.cpp:
423         (WebCore::InjectedScriptModule::ensureInjected):
424         * inspector/InspectorAgent.cpp:
425         (WebCore::InspectorAgent::InspectorAgent):
426         (WebCore::InspectorAgent::didCreateFrontendAndBackend):
427         (WebCore::InspectorAgent::inspect):
428         * inspector/InspectorAgent.h:
429         * inspector/InspectorAllInOne.cpp:
430         * inspector/InspectorApplicationCacheAgent.cpp:
431         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
432         (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
433         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
434         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
435         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
436         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
437         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
438         * inspector/InspectorApplicationCacheAgent.h:
439         * inspector/InspectorCSSAgent.cpp:
440         (WebCore::SelectorProfile::toInspectorObject):
441         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
442         (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
443         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
444         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
445         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
446         (WebCore::InspectorCSSAgent::getAllStyleSheets):
447         (WebCore::InspectorCSSAgent::getStyleSheet):
448         (WebCore::InspectorCSSAgent::setStyleText):
449         (WebCore::InspectorCSSAgent::setPropertyText):
450         (WebCore::InspectorCSSAgent::toggleProperty):
451         (WebCore::InspectorCSSAgent::setRuleSelector):
452         (WebCore::InspectorCSSAgent::addRule):
453         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
454         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
455         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
456         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
457         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
458         (WebCore::InspectorCSSAgent::collectStyleSheets):
459         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
460         (WebCore::InspectorCSSAgent::detectOrigin):
461         (WebCore::InspectorCSSAgent::buildObjectForRule):
462         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
463         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
464         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
465         (WebCore::InspectorCSSAgent::buildArrayForRegions):
466         (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
467         * inspector/InspectorCSSAgent.h:
468         * inspector/InspectorCanvasAgent.cpp:
469         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
470         (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
471         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
472         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
473         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
474         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
475         * inspector/InspectorCanvasAgent.h:
476         * inspector/InspectorCanvasInstrumentation.h:
477         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
478         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
479         * inspector/InspectorClient.cpp:
480         * inspector/InspectorClient.h:
481         * inspector/InspectorConsoleAgent.cpp:
482         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
483         (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
484         (WebCore::InspectableHeapObject::get):
485         * inspector/InspectorConsoleAgent.h:
486         * inspector/InspectorController.cpp:
487         * inspector/InspectorController.h:
488         * inspector/InspectorDOMAgent.cpp:
489         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
490         (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
491         (WebCore::InspectorDOMAgent::getDocument):
492         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
493         (WebCore::InspectorDOMAgent::querySelectorAll):
494         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
495         (WebCore::InspectorDOMAgent::getEventListenersForNode):
496         (WebCore::InspectorDOMAgent::getSearchResults):
497         (WebCore::InspectorDOMAgent::resolveNode):
498         (WebCore::InspectorDOMAgent::getAttributes):
499         (WebCore::InspectorDOMAgent::buildObjectForNode):
500         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
501         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
502         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
503         (WebCore::InspectorDOMAgent::didCommitLoad):
504         (WebCore::InspectorDOMAgent::didInsertDOMNode):
505         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
506         * inspector/InspectorDOMAgent.h:
507         * inspector/InspectorDOMDebuggerAgent.cpp:
508         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
509         (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
510         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
511         * inspector/InspectorDOMDebuggerAgent.h:
512         * inspector/InspectorDOMStorageAgent.cpp:
513         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
514         (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
515         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
516         (WebCore::InspectorDOMStorageAgent::storageId):
517         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
518         * inspector/InspectorDOMStorageAgent.h:
519         * inspector/InspectorDatabaseAgent.cpp:
520         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
521         (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
522         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
523         * inspector/InspectorDatabaseAgent.h:
524         * inspector/InspectorDatabaseResource.cpp:
525         (WebCore::InspectorDatabaseResource::bind):
526         * inspector/InspectorDebuggerAgent.cpp:
527         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
528         (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
529         (WebCore::breakpointActionTypeForString):
530         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
531         (WebCore::InspectorDebuggerAgent::setBreakpoint):
532         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
533         (WebCore::scriptToInspectorObject):
534         (WebCore::InspectorDebuggerAgent::searchInContent):
535         (WebCore::InspectorDebuggerAgent::setScriptSource):
536         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
537         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
538         (WebCore::InspectorDebuggerAgent::compileScript):
539         (WebCore::InspectorDebuggerAgent::runScript):
540         (WebCore::InspectorDebuggerAgent::currentCallFrames):
541         (WebCore::InspectorDebuggerAgent::didParseSource):
542         (WebCore::InspectorDebuggerAgent::didPause):
543         (WebCore::InspectorDebuggerAgent::didContinue):
544         (WebCore::InspectorDebuggerAgent::clear):
545         * inspector/InspectorDebuggerAgent.h:
546         * inspector/InspectorForwarding.h:
547         * inspector/InspectorFrontendClientLocal.cpp:
548         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
549         * inspector/InspectorFrontendHost.cpp:
550         (WebCore::FrontendMenuProvider::create):
551         (WebCore::FrontendMenuProvider::disconnect):
552         (WebCore::FrontendMenuProvider::FrontendMenuProvider):
553         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
554         (WebCore::FrontendMenuProvider::contextMenuCleared):
555         (WebCore::InspectorFrontendHost::showContextMenu):
556         * inspector/InspectorHeapProfilerAgent.cpp:
557         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
558         (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
559         (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
560         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
561         (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
562         (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
563         * inspector/InspectorHeapProfilerAgent.h:
564         * inspector/InspectorIndexedDBAgent.cpp:
565         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
566         (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
567         * inspector/InspectorIndexedDBAgent.h:
568         * inspector/InspectorInputAgent.cpp:
569         (WebCore::InspectorInputAgent::InspectorInputAgent):
570         (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
571         * inspector/InspectorInputAgent.h:
572         * inspector/InspectorInstrumentation.cpp:
573         * inspector/InspectorInstrumentation.h:
574         * inspector/InspectorLayerTreeAgent.cpp:
575         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
576         (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
577         (WebCore::InspectorLayerTreeAgent::layersForNode):
578         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
579         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
580         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
581         (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
582         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
583         * inspector/InspectorLayerTreeAgent.h:
584         * inspector/InspectorMemoryAgent.cpp:
585         (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
586         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
587         * inspector/InspectorMemoryAgent.h:
588         * inspector/InspectorOverlay.cpp:
589         * inspector/InspectorOverlay.h:
590         * inspector/InspectorPageAgent.cpp:
591         (WebCore::InspectorPageAgent::resourceTypeJson):
592         (WebCore::InspectorPageAgent::cachedResourceTypeJson):
593         (WebCore::InspectorPageAgent::InspectorPageAgent):
594         (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
595         (WebCore::buildObjectForCookie):
596         (WebCore::buildArrayForCookies):
597         (WebCore::InspectorPageAgent::getCookies):
598         (WebCore::InspectorPageAgent::getResourceTree):
599         (WebCore::InspectorPageAgent::searchInResource):
600         (WebCore::buildObjectForSearchResult):
601         (WebCore::InspectorPageAgent::searchInResources):
602         (WebCore::InspectorPageAgent::buildObjectForFrame):
603         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
604         * inspector/InspectorPageAgent.h:
605         * inspector/InspectorProfilerAgent.cpp:
606         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
607         (WebCore::InspectorProfilerAgent::createProfileHeader):
608         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
609         (WebCore::InspectorProfilerAgent::getProfileHeaders):
610         (WebCore::InspectorProfilerAgent::getCPUProfile):
611         (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
612         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
613         (WebCore::InspectorProfilerAgent::getHeapObjectId):
614         * inspector/InspectorProfilerAgent.h:
615         * inspector/InspectorResourceAgent.cpp:
616         (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
617         (WebCore::buildObjectForTiming):
618         (WebCore::buildObjectForResourceRequest):
619         (WebCore::buildObjectForResourceResponse):
620         (WebCore::buildObjectForCachedResource):
621         (WebCore::InspectorResourceAgent::willSendRequest):
622         (WebCore::InspectorResourceAgent::didReceiveResponse):
623         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
624         (WebCore::InspectorResourceAgent::buildInitiatorObject):
625         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
626         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
627         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
628         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
629         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
630         * inspector/InspectorResourceAgent.h:
631         * inspector/InspectorRuntimeAgent.cpp:
632         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
633         (WebCore::buildErrorRangeObject):
634         (WebCore::InspectorRuntimeAgent::parse):
635         (WebCore::InspectorRuntimeAgent::evaluate):
636         (WebCore::InspectorRuntimeAgent::callFunctionOn):
637         (WebCore::InspectorRuntimeAgent::getProperties):
638         * inspector/InspectorRuntimeAgent.h:
639         * inspector/InspectorStyleSheet.cpp:
640         (WebCore::buildSourceRangeObject):
641         (WebCore::buildMediaObject):
642         (WebCore::fillMediaListChain):
643         (WebCore::InspectorStyle::buildObjectForStyle):
644         (WebCore::InspectorStyle::buildArrayForComputedStyle):
645         (WebCore::InspectorStyle::styleWithProperties):
646         (WebCore::InspectorStyleSheet::create):
647         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
648         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
649         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
650         (WebCore::selectorsFromSource):
651         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
652         (WebCore::InspectorStyleSheet::buildObjectForRule):
653         (WebCore::InspectorStyleSheet::buildObjectForStyle):
654         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
655         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
656         (WebCore::InspectorStyleSheetForInlineStyle::create):
657         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
658         * inspector/InspectorStyleSheet.h:
659         (WebCore::InspectorCSSId::InspectorCSSId):
660         (WebCore::InspectorStyleSheet::canBind):
661         * inspector/InspectorStyleTextEditor.cpp:
662         * inspector/InspectorTimelineAgent.cpp:
663         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
664         (WebCore::toProtocol):
665         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
666         (WebCore::InspectorTimelineAgent::setDOMCounters):
667         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
668         (WebCore::InspectorTimelineAgent::sendEvent):
669         * inspector/InspectorTimelineAgent.h:
670         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
671         * inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
672         (WebCore::InspectorAgentBase::InspectorAgentBase):
673         * inspector/InspectorWorkerAgent.cpp:
674         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
675         (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
676         * inspector/InspectorWorkerAgent.h:
677         * inspector/InstrumentingAgents.cpp:
678         * inspector/NetworkResourcesData.cpp:
679         * inspector/PageConsoleAgent.cpp:
680         (WebCore::InspectableNode::get):
681         * inspector/PageDebuggerAgent.cpp:
682         * inspector/PageDebuggerAgent.h:
683         * inspector/PageRuntimeAgent.cpp:
684         (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
685         * inspector/PageRuntimeAgent.h:
686         * inspector/ScriptArguments.cpp:
687         (WebCore::ScriptArguments::create):
688         (WebCore::ScriptArguments::ScriptArguments):
689         (WebCore::ScriptArguments::argumentAt):
690         (WebCore::ScriptArguments::getFirstArgumentAsString):
691         * inspector/ScriptArguments.h:
692         * inspector/ScriptCallFrame.cpp:
693         (WebCore::ScriptCallFrame::buildInspectorObject):
694         * inspector/ScriptCallFrame.h:
695         * inspector/ScriptCallStack.cpp:
696         (WebCore::ScriptCallStack::buildInspectorArray):
697         * inspector/ScriptCallStack.h:
698         * inspector/ScriptDebugListener.h:
699         * inspector/TimelineRecordFactory.cpp:
700         * inspector/TimelineRecordFactory.h:
701         (WebCore::TimelineRecordFactory::createWebSocketCreateData):
702         (WebCore::TimelineRecordFactory::createGenericWebSocketData):
703         * inspector/WorkerConsoleAgent.cpp:
704         * inspector/WorkerDebuggerAgent.cpp:
705         * inspector/WorkerInspectorController.cpp:
706         * inspector/WorkerInspectorController.h:
707         * inspector/WorkerRuntimeAgent.cpp:
708         (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
709         * inspector/WorkerRuntimeAgent.h:
710         * page/Console.cpp:
711         * page/ContentSecurityPolicy.cpp:
712         * page/Frame.cpp:
713         * page/PageConsole.cpp:
714         * plugins/PluginView.cpp:
715         (WebCore::PluginView::performRequest):
716         * testing/Internals.cpp:
717         (WebCore::Internals::parserMetaData):
718         * testing/Internals.h:
719         * workers/SharedWorkerGlobalScope.cpp:
720         (WebCore::createConnectEvent):
721         * workers/WorkerGlobalScope.cpp:
722         (WebCore::WorkerGlobalScope::importScripts):
723         * workers/WorkerThread.cpp:
724         * xml/XMLTreeViewer.cpp:
725         * xml/parser/XMLDocumentParser.cpp:
726         * xml/parser/XMLDocumentParserLibxml2.cpp:
727
728 2013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
729
730         Store SHA1 hash in std::array
731         https://bugs.webkit.org/show_bug.cgi?id=125446
732
733         Reviewed by Darin Adler.
734
735         Change Vector to std::array and use typedef.
736
737         * Modules/websockets/WebSocketHandshake.cpp:
738         (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
739         * inspector/DOMPatchSupport.cpp:
740         (WebCore::DOMPatchSupport::createDigest):
741         * platform/network/soup/ResourceHandleSoup.cpp:
742         (WebCore::HostTLSCertificateSet::computeCertificateHash):
743
744 2013-12-11  Alexey Proskuryakov  <ap@apple.com>
745
746         WebCrypto keys should support structured clone
747         https://bugs.webkit.org/show_bug.cgi?id=125590
748
749         Reviewed by Oliver Hunt.
750
751         Tests: crypto/subtle/aes-postMessage.html
752                crypto/subtle/hmac-postMessage.html
753                crypto/subtle/postMessage-worker.html
754                crypto/subtle/rsa-postMessage.html
755
756         * crypto/CryptoAlgorithmIdentifier.h:
757         (WebCore::CryptoAlgorithmIdentifier):
758         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
759         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
760         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
761         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
762         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
763         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
764         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
765         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
766         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
767         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
768         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
769         AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
770         adding a matching enum for structired clone serialization, it's as good a time as
771         any to update the order of values to match.
772
773         * bindings/js/SerializedScriptValue.cpp:
774         (WebCore::countUsages):
775         (WebCore::CloneSerializer::dumpIfTerminal):
776         (WebCore::CloneSerializer::write):
777         (WebCore::CloneDeserializer::read):
778         (WebCore::CloneDeserializer::readHMACKey):
779         (WebCore::CloneDeserializer::readAESKey):
780         (WebCore::CloneDeserializer::readRSAKey):
781         (WebCore::CloneDeserializer::readCryptoKey):
782         (WebCore::CloneDeserializer::readTerminal):
783         Added serialization/deserialization for CryptoKey. This doesn't update version
784         number, because we don't currently store structured clones in persistent storage -
785         and even if we did, we wouldn't want to invalidate everything users already stored.
786
787         * crypto/CryptoAlgorithmRegistry.cpp:
788         (WebCore::CryptoAlgorithmRegistry::shared):
789         (WebCore::registryMutex):
790         (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
791         (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
792         (WebCore::CryptoAlgorithmRegistry::create):
793         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
794         * crypto/CryptoKey.idl:
795         With structured clone, it is now possible to send a Key to a web worker. That's
796         of no practical use because the crypto API is not exposed in workers, but we
797         shouldn't crash anyway.
798
799         * crypto/keys/CryptoKeyAES.cpp:
800         (WebCore::CryptoKeyAES::CryptoKeyAES):
801         (WebCore::CryptoKeyAES::isValidAESAlgorithm):
802         * crypto/keys/CryptoKeyAES.h:
803         Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
804         will assert.
805
806         * CMakeLists.txt:
807         * GNUmakefile.am:
808         * WebCore.vcxproj/WebCore.vcxproj.filters:
809         * WebCore.vcxproj/WebCoreCommon.props:
810         Added crypto/keys to search paths to avoid build breakage.
811
812 2013-12-11  Bear Travis  <betravis@adobe.com>
813
814         Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
815         https://bugs.webkit.org/show_bug.cgi?id=125175
816
817         Reviewed by Darin Adler.
818
819         In addition to highlighting the shape, also highlight the shape created
820         by shape-margin with a slightly more transparent color. This patch modifies
821         the shape info passed to the Inspector Overlay to include a path for both
822         the raw shape and the shape with margin.
823
824         Test: inspector-protocol/model/highlight-shape-outside-margin.html
825
826         * inspector/InspectorOverlay.cpp:
827         (WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
828         Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
829         * inspector/InspectorOverlayPage.js:
830         (_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
831         * rendering/shapes/BoxShape.cpp:
832         (WebCore::addRoundedRect): Add a rounded rect to the path.
833         (WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
834         * rendering/shapes/BoxShape.h:
835         * rendering/shapes/PolygonShape.cpp:
836         (WebCore::addPolygon): Add a set of vertices as a polygon to the path.
837         (WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
838         * rendering/shapes/PolygonShape.h:
839         * rendering/shapes/RasterShape.h:
840         (WebCore::RasterShape::buildDisplayPaths): Ditto.
841         * rendering/shapes/RectangleShape.cpp:
842         (WebCore::RectangleShape::buildDisplayPaths): Ditto.
843         * rendering/shapes/RectangleShape.h:
844         * rendering/shapes/Shape.h:
845
846 2013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
847
848         [ATK] Expose accessibility objects WAI-ARIA landmark roles
849         https://bugs.webkit.org/show_bug.cgi?id=125584
850
851         Reviewed by Chris Fleizach.
852
853         Exposed accessibility objects with landmark roles with the proper
854         AtkRole, to be provided by the next stable release of ATK.
855
856         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
857         (webkitAccessibleGetAttributes):
858         (atkRole):
859
860 2013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
861
862         [GTK] Add a UPower-based BatteryProvider
863         https://bugs.webkit.org/show_bug.cgi?id=115719
864
865         Reviewed by Martin Robinson.
866
867         Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
868         using the upower-glib library.
869
870         The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
871         up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.
872
873         When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
874         and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
875         discharging). This gives a set of data that covers the overall battery status of the system.
876
877         This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
878         by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
879         appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
880         calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
881         the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
882         updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
883         the second parameter representing the time left until the battery is fully charged (when charging) or fully
884         depleted (when discharging), and the third parameter representing the current battery level.
885
886         Whenever the implementation cannot provide any information about the battery status of the system, the client's
887         updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
888         about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
889         available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
890         status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
891         the positive infinity (as per the Battery Status API specification).
892
893         The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.
894
895         No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.
896
897         * GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
898         * platform/glib/BatteryProviderUPower.cpp: Added.
899         (powerDeviceAlterationCallback):
900         (BatteryProviderUPower::BatteryProviderUPower):
901         (BatteryProviderUPower::startUpdating):
902         (BatteryProviderUPower::stopUpdating):
903         (BatteryProviderUPower::updateBatteryStatus):
904         * platform/glib/BatteryProviderUPower.h: Added.
905         (WebCore):
906         (BatteryProviderUPower):
907         * platform/glib/BatteryProviderUPowerClient.h: Added.
908         (WebCore):
909         (BatteryProviderUPowerClient):
910
911 2013-12-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
912
913         Improving createOffer and createAnswer LayoutTests
914         https://bugs.webkit.org/show_bug.cgi?id=125568
915
916         Reviewed by Philippe Normand.
917
918         The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
919         when creating an answer.
920
921         Existing tests were updated.
922
923         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
924         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
925
926 2013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
927
928         [EFL] Fix build with CONTEXT_MENUS flag set OFF
929         https://bugs.webkit.org/show_bug.cgi?id=125572
930
931         Reviewed by Gyuyoung Kim.
932
933         dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
934         thus its definition in InspectorFrontendHost should not be guarded by this flag.
935
936         No new tests, no behaviour change.
937
938         * inspector/InspectorFrontendHost.cpp:
939         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
940
941 2013-12-11  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
942
943         [CURL] Build fails after r160386.
944         https://bugs.webkit.org/show_bug.cgi?id=125571
945
946         Reviewed by Zoltan Herczeg.
947
948         Need no new tests.
949
950         Fix a typo in commit r160386 that prevents building with curl.
951
952         * platform/network/curl/CurlCacheEntry.cpp:
953         (WebCore::CurlCacheEntry::generateBaseFilename):
954
955 2013-12-11  Rob Buis  <rob.buis@samsung.com>
956
957         [CSS Shapes] Take into account fill-rule for polygon interpolation
958         https://bugs.webkit.org/show_bug.cgi?id=125508
959
960         Reviewed by Dirk Schulze.
961
962         Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.
963
964         Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.
965
966         * rendering/style/BasicShapes.cpp:
967         (WebCore::BasicShape::canBlend):
968
969 2013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
970
971         Programmatically-inserted children lack accessibility events
972         https://bugs.webkit.org/show_bug.cgi?id=100275
973
974         Reviewed by Chris Fleizach.
975
976         Test: accessibility/children-changed-sends-notification.html
977
978         Emit children-changed::add and children-changed::remove whenever
979         an object has been added/removed to the accessibility hierarchy,
980         that is, when a new AtkObject is being attached/detached.
981
982         * accessibility/AXObjectCache.h: Added new enumeration to know
983         when we are detaching a wrapper because of the cache or the
984         element is being destroyed, so we can use that information.
985         (WebCore::AXObjectCache::detachWrapper): Added a new parameter and
986         updated all the prototypes in different ports.
987         * accessibility/AXObjectCache.cpp:
988         (WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
989         specifying that we do it because the cache is being destroyed.
990         (WebCore::AXObjectCache::remove): Call detachWrapper() specifying
991         that we do it because an accessible element is being destroyed.
992
993         * accessibility/atk/AXObjectCacheAtk.cpp:
994         (WebCore::AXObjectCache::detachWrapper): Emit the children-changed
995         signal when needed. We rely on the cached reference to the parent
996         AtkObject (using the implementation of atk_object_get_parent from
997         the AtkObject class) to find the right object to emit the signal
998         from here, since the accessibility hierarchy from WebCore will no
999         longer be accessible at this point.
1000         (WebCore::AXObjectCache::attachWrapper): Emit the children-change
1001         signal from here unless we are in the middle of a layout update,
1002         trying to provide as much information (e.g. the offset) as possible.
1003         (WebCore::AXObjectCache::postPlatformNotification): Make sure we
1004         update (touch) the subtree under an accessibility object whenever
1005         we receive AXChildrenChanded from WebCore, to ensure that those
1006         objects will also be visible rightaway to ATs, and that those get
1007         properly notified of the event at that very same moment.
1008
1009         * accessibility/ios/AXObjectCacheIOS.mm:
1010         (WebCore::AXObjectCache::detachWrapper): Updated function signature.
1011         * accessibility/mac/AXObjectCacheMac.mm:
1012         (WebCore::AXObjectCache::detachWrapper): Ditto.
1013         * accessibility/win/AXObjectCacheWin.cpp:
1014         (WebCore::AXObjectCache::detachWrapper): Ditto.
1015
1016 2013-12-11  Andreas Kling  <akling@apple.com>
1017
1018         REGRESSION(r160389): SVG test assertion extravaganza.
1019
1020         Unreviewed. Use getAttribute() instead of fastGetAttribute() for
1021         the "type" attribute since it's animatable on SVG elements.
1022
1023 2013-12-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1024
1025         Set m_nextBreakablePosition as private in InlineIterator, and use it.
1026         https://bugs.webkit.org/show_bug.cgi?id=125482
1027
1028         Reviewed by Andreas Kling.
1029
1030         InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
1031         This patch set it as private, and add getter/setter functions for it.
1032
1033         No new tests, no behavior changes.
1034
1035         * rendering/InlineIterator.h:
1036         (WebCore::InlineIterator::InlineIterator):
1037         (WebCore::InlineIterator::nextBreakablePosition):
1038         (WebCore::InlineIterator::setNextBreakablePosition):
1039         * rendering/line/BreakingContextInlineHeaders.h:
1040         (WebCore::BreakingContext::handleText):
1041
1042 2013-12-10  Gurpreet Kaur  <k.gurpreet@samsung.com>
1043
1044         top and bottom black background line not getting displayed
1045         https://bugs.webkit.org/show_bug.cgi?id=21664
1046
1047         Reviewed by Simon Fraser.
1048
1049         The table cell's background was not being displayed. Since the table
1050         cell had no child correct offsetWidth was not being set even if table
1051         width is being defined.
1052
1053         Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
1054
1055         * rendering/AutoTableLayout.cpp:
1056         (WebCore::AutoTableLayout::recalcColumn):
1057         cellHasContent should also be set to true incase background color is
1058         present.
1059
1060 2013-12-10  Beth Dakin  <bdakin@apple.com>
1061
1062         Horizontal rubber-banding without a horizontal scrollbar is distracting
1063         https://bugs.webkit.org/show_bug.cgi?id=125550
1064
1065         Reviewed by Simon Fraser.
1066
1067         Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only 
1068         rubber-band horizontally when there is a horizontal scrollbar.
1069
1070         * page/FrameView.cpp:
1071         (WebCore::FrameView::FrameView):
1072
1073 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
1074
1075         Correct a preprocessor guard from a mis-merged patch
1076
1077         In r160367, I mismerged a patch from Gustavo Noronha. This commit
1078         fixes the merge and thus fixes the CMake build.
1079
1080         * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
1081
1082 2013-12-10  Rob Buis  <rob.buis@samsung.com>
1083
1084         Clean up SVGScriptElement
1085         https://bugs.webkit.org/show_bug.cgi?id=125527
1086
1087         Reviewed by Sam Weinig.
1088
1089         Rewrite to not store type in m_type and also remove type getter/setter.
1090
1091         * svg/SVGScriptElement.cpp:
1092         (WebCore::SVGScriptElement::parseAttribute):
1093         (WebCore::SVGScriptElement::typeAttributeValue):
1094         * svg/SVGScriptElement.h:
1095         * svg/SVGScriptElement.idl:
1096
1097 2013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1098
1099         Use std::array when computing MD5 checksum
1100         https://bugs.webkit.org/show_bug.cgi?id=125509
1101
1102         Reviewed by Anders Carlsson.
1103
1104         Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
1105
1106         * platform/network/curl/CurlCacheEntry.cpp:
1107         (WebCore::CurlCacheEntry::generateBaseFilename):
1108
1109 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
1110
1111         [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
1112         https://bugs.webkit.org/show_bug.cgi?id=125522
1113
1114         Reviewed by Chris Fleizach.
1115
1116         Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
1117
1118         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1119         (atkRole):
1120
1121 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
1122
1123         [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
1124         https://bugs.webkit.org/show_bug.cgi?id=125521
1125
1126         Reviewed by Chris Fleizach.
1127
1128         Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
1129         ATK_ROLE_ALERT instead.
1130
1131         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1132         (atkRole):
1133
1134 2013-12-10  Brendan Long  <b.long@cablelabs.com>
1135
1136         [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
1137         https://bugs.webkit.org/show_bug.cgi?id=125411
1138
1139         Reviewed by Philippe Normand.
1140
1141         No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).
1142
1143         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
1144         (webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
1145         (webkitTextCombinerPadEvent): Add locking.
1146         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1147         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
1148         (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
1149         (WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
1150         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
1151         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
1152
1153 2013-12-10  László Langó  <lango@inf.u-szeged.hu>
1154
1155         PageConsole::addMessage should automatically determine column number alongside line number
1156         https://bugs.webkit.org/show_bug.cgi?id=114319
1157
1158         Reviewed by Joseph Pecoraro.
1159
1160         * dom/InlineStyleSheetOwner.cpp:
1161         (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
1162         * dom/ScriptElement.cpp:
1163         (WebCore::ScriptElement::ScriptElement):
1164         * dom/ScriptableDocumentParser.h:
1165         * dom/StyledElement.cpp:
1166         (WebCore::StyledElement::styleAttributeChanged):
1167         * html/parser/HTMLDocumentParser.cpp:
1168         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1169         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1170         * html/parser/HTMLDocumentParser.h:
1171         * inspector/InspectorResourceAgent.cpp:
1172         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1173         * page/Console.cpp:
1174         (WebCore::internalAddMessage):
1175         * page/PageConsole.cpp:
1176         (WebCore::PageConsole::printSourceURLAndPosition):
1177         (WebCore::PageConsole::addMessage):
1178         * page/PageConsole.h:
1179         * xml/parser/XMLDocumentParser.h:
1180         * xml/parser/XMLDocumentParserLibxml2.cpp:
1181         (WebCore::XMLDocumentParser::error):
1182
1183 2013-12-10  Andreas Kling  <akling@apple.com>
1184
1185         Jettison all StyleResolver data on memory pressure.
1186         <https://webkit.org/b/125498>
1187
1188         The StyleResolver can be rebuilt relatively quickly; we already
1189         have an optimization that discards it some time after last use.
1190
1191         If we find ourseles under serious memory pressure, don't wait for
1192         the timer to kick in, throw everything overboard right away.
1193
1194         ~5MB progression post-pressure on Membuster3.
1195
1196         Reviewed by Anders Carlsson.
1197
1198 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
1199
1200         [GTK] [CMake] Add support for building the DOM bindings
1201         https://bugs.webkit.org/show_bug.cgi?id=116375
1202
1203         Reviewed by Gustavo Noronha Silva.
1204
1205         The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
1206         some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
1207         protect these attributes from DOM binding generation.
1208
1209         * Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
1210         * Modules/battery/NavigatorBattery.idl: Ditto.
1211         * Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
1212         * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
1213         * Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
1214         * PlatformGTK.cmake: Add build steps for building the bindings.
1215         * dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
1216         * html/HTMLMediaElement.idl: Ditto.
1217
1218 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
1219
1220         Various fixes for the CMake GTK+ build
1221
1222         Reviewed by Gustavo Noronha.
1223
1224         * PlatformGTK.cmake: Update source list.
1225
1226 2013-12-10  Robert Sipka  <sipka@inf.u-szeged.hu>
1227
1228         [nix][curl] Buildfix after r160310
1229         https://bugs.webkit.org/show_bug.cgi?id=125489
1230
1231         Reviewed by Gustavo Noronha Silva.
1232
1233         Curl doesn't include soup files.
1234
1235         * PlatformNix.cmake:
1236
1237 2013-12-10  Gustavo Noronha Silva  <gns@gnome.org>
1238
1239         [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
1240         https://bugs.webkit.org/show_bug.cgi?id=125444
1241
1242         Reviewed by Martin Robinson.
1243
1244         * platform/gtk/UserAgentGtk.cpp:
1245         (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
1246         (WebCore::standardUserAgent): ditto.
1247
1248 2013-12-09  Gustavo Noronha Silva  <gns@gnome.org>
1249
1250         [Soup] Send original encoded data size to didReceiveBuffer
1251         https://bugs.webkit.org/show_bug.cgi?id=125410
1252
1253         Reviewed by Martin Robinson.
1254
1255         No tests, the only way to test this seems to be through the inspector UI.
1256
1257         * platform/network/ResourceHandle.h:
1258         * platform/network/ResourceHandleInternal.h:
1259         (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
1260         position.
1261         * platform/network/soup/ResourceHandleSoup.cpp:
1262         (WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
1263         the first seekable input stream we find.
1264         (WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
1265         (WebCore::sendRequestCallback): store the position before we start reading the response body.
1266         (WebCore::readCallback): pass the position delta to didReceiveData.
1267
1268 2013-12-09  Andreas Kling  <akling@apple.com>
1269
1270         Clear out font width measurement caches on memory pressure.
1271         <https://webkit.org/b/125481>
1272
1273         The data kept in WidthCaches can be regenerated on demand. Throwing
1274         it away when we're under memory pressure buys us ~4MB on Membuster3.
1275
1276         Reviewed by Antti Koivisto.
1277
1278 2013-12-09  Seokju Kwon  <seokju@webkit.org>
1279
1280         Web Inspector: Remove enabled() in InspectorRuntimeAgent.
1281         https://bugs.webkit.org/show_bug.cgi?id=125476
1282
1283         Reviewed by Joseph Pecoraro.
1284
1285         Dead code. It's never called anywhere.
1286
1287         No new tests, no behavior change.
1288
1289         * inspector/InspectorRuntimeAgent.h:
1290
1291 2013-12-09  Sam Weinig  <sam@webkit.org>
1292
1293         Replace use of WTF::FixedArray with std::array
1294         https://bugs.webkit.org/show_bug.cgi?id=125475
1295
1296         Reviewed by Anders Carlsson.
1297
1298         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
1299         * platform/graphics/GlyphMetricsMap.h:
1300
1301 2013-12-09  Benjamin Poulain  <bpoulain@apple.com>
1302
1303         Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
1304         https://bugs.webkit.org/show_bug.cgi?id=125379
1305
1306         Reviewed by Alexey Proskuryakov.
1307
1308         * WebCore.vcxproj/WebCore.vcxproj:
1309         * WebCore.vcxproj/WebCore.vcxproj.filters:
1310         * WebCore.xcodeproj/project.pbxproj:
1311         * platform/network/ResourceHandle.h:
1312         * platform/network/ResourceHandleInternal.h:
1313         * platform/network/cf/ResourceHandleCFNet.cpp:
1314         (WebCore::ResourceHandle::createCFURLConnection):
1315         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.
1316         (WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
1317         (WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
1318         (WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
1319         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
1320         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
1321         (WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
1322         (WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
1323         (WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
1324         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
1325         (WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
1326         (WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
1327         (WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
1328         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
1329         (WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
1330         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
1331         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.
1332         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
1333         (WebCore::synthesizeRedirectResponseIfNecessary):
1334         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
1335         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
1336         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
1337         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
1338         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
1339         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
1340         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
1341         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
1342         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
1343         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
1344         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
1345         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
1346
1347 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
1348
1349         REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
1350         https://bugs.webkit.org/show_bug.cgi?id=125392
1351
1352         Reviewed by Darin Adler.
1353
1354         Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101
1355
1356         Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
1357         http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
1358         "If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."
1359
1360         New behavior also matches that of Internet Explorer and Firefox.
1361
1362         Tests: fast/forms/input-image-submit.html
1363
1364         * html/ImageInputType.cpp:
1365         (WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.
1366
1367 2013-12-09  Jer Noble  <jer.noble@apple.com>
1368
1369         [MSE] Add support for VideoPlaybackMetrics.
1370         https://bugs.webkit.org/show_bug.cgi?id=125380
1371
1372         Reviewed by Eric Carlson.
1373
1374         Test: media/media-source/media-source-video-playback-quality.html
1375
1376         Add a new object type VideoPlaybackQuality to be returned by
1377         HTMLMediaElement.getVideoPlaybackQuality().
1378
1379         HTMLMediaElements must separately track a droppedVideoFrame count, as
1380         certain operations on SourceBuffer will drop incoming frames, which must
1381         be accounted for. Reset this count when the media engine changes, which is
1382         indicitive of a new media load requset starting.
1383
1384         Add the new VideoPlaybackQuality class:
1385         * Modules/mediasource/VideoPlaybackQuality.cpp: Added.
1386         (WebCore::VideoPlaybackQuality::create):
1387         (WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
1388         * Modules/mediasource/VideoPlaybackQuality.h: Added.
1389         (WebCore::VideoPlaybackQuality::creationTime):
1390         (WebCore::VideoPlaybackQuality::totalVideoFrames):
1391         (WebCore::VideoPlaybackQuality::droppedVideoFrames):
1392         (WebCore::VideoPlaybackQuality::corruptedVideoFrames):
1393         (WebCore::VideoPlaybackQuality::totalFrameDelay):
1394         * Modules/mediasource/VideoPlaybackQuality.idl: Added.
1395
1396         Add support for the new class to HTMLMediaElement:
1397         * html/HTMLMediaElement.cpp:
1398         (HTMLMediaElement::shouldUseVideoPluginProxy):
1399         (HTMLMediaElement::getVideoPlaybackQuality):
1400         * html/HTMLMediaElement.h:
1401         * html/HTMLMediaElement.idl:
1402
1403         Report the video quality metrics from the MediaPlayer:
1404         * platform/graphics/MediaPlayer.cpp:
1405         (WebCore::MediaPlayer::totalVideoFrames):
1406         (WebCore::MediaPlayer::droppedVideoFrames):
1407         (WebCore::MediaPlayer::corruptedVideoFrames):
1408         (WebCore::MediaPlayer::totalFrameDelay):
1409         * platform/graphics/MediaPlayer.h:
1410         * platform/graphics/MediaPlayerPrivate.h:
1411         (WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
1412         (WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
1413         (WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
1414         (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
1415
1416         Correctly report the dropped frame count:
1417         * Modules/mediasource/SourceBuffer.cpp:
1418         (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
1419         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
1420         (WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.
1421         * Modules/mediasource/SourceBuffer.h:
1422         * html/HTMLMediaElement.cpp:
1423         (WebCore::HTMLMediaElement::HTMLMediaElement):
1424         (HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
1425         (HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.
1426         * html/HTMLMediaElement.h:
1427         (WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.
1428         * platform/MediaSample.h:
1429         (WebCore::MediaSample::isSync): Convenience function.
1430         (WebCore::MediaSample::isNonDisplaying): Ditto.
1431
1432         Add support in the AVFoundation MediaSource Engine:
1433         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1434         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1435         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
1436         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
1437         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
1438         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
1439
1440         Add support in the Mock MediaSource Engine:
1441         * platform/mock/mediasource/MockBox.h:
1442         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1443         (WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
1444         (WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
1445         (WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
1446         (WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.
1447         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
1448         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
1449         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
1450         * platform/mock/mediasource/MockMediaSourcePrivate.h:
1451         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
1452         (WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on
1453             the incoming sample.
1454         * platform/mock/mediasource/MockSourceBufferPrivate.h:
1455
1456         Add the new files to the project:
1457         * bindings/gobject/GNUmakefile.am:
1458         * DerivedSources.make:
1459         * WebCore.xcodeproj/project.pbxproj:
1460         * GNUMakefile.list.am:
1461         * CMakeLists.txt:
1462
1463 2013-12-09  Simon Fraser  <simon.fraser@apple.com>
1464
1465         Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
1466         https://bugs.webkit.org/show_bug.cgi?id=125469
1467         <rdar://problem/15535772>
1468
1469         Reviewed by Beth Dakin.
1470         
1471         In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
1472         end up as NaN if scrollbar->totalSize() were zero. Protect against that.
1473         
1474         Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
1475         END_BLOCK_OBJC_EXCEPTIONS.
1476
1477         * platform/mac/ScrollbarThemeMac.mm:
1478         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1479         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
1480         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1481         (WebCore::ScrollbarThemeMac::updateEnabledState):
1482         (WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
1483         (WebCore::scrollbarPainterPaint):
1484
1485 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
1486
1487         Implement Document.cloneNode()
1488         https://bugs.webkit.org/show_bug.cgi?id=11646
1489
1490         Reviewed by Darin Adler.
1491
1492         Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80
1493
1494         Implement the behavior specified in the current DOM4 working draft:
1495         http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode
1496
1497         Tests: fast/dom/Document/clone-node.html
1498                fast/dom/HTMLDocument/clone-node-quirks-mode.html
1499                svg/custom/clone-node.html
1500
1501         * dom/Document.cpp:
1502         (WebCore::Document::cloneNode):
1503         (WebCore::Document::cloneDocumentWithoutChildren):
1504         (WebCore::Document::cloneDataFromDocument):
1505         * dom/Document.h:
1506         * html/HTMLDocument.cpp:
1507         (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
1508         * html/HTMLDocument.h:
1509         * svg/SVGDocument.cpp:
1510         (WebCore::SVGDocument::cloneDocumentWithoutChildren):
1511         * svg/SVGDocument.h:
1512
1513 2013-12-09  Andreas Kling  <akling@apple.com>
1514
1515         REGRESSION(r160260): Memory pressure signal causes web process to hang.
1516         <https://webkit.org/b/125465>
1517
1518         Reviewed by Tim Horton.
1519
1520         This command caused all of my web processes to hang:
1521
1522             notifyutil -p org.WebKit.lowMemory
1523
1524         This only happens when the cache pruning code encounters a resource
1525         using purgeable memory.
1526
1527         * loader/cache/MemoryCache.cpp:
1528         (WebCore::MemoryCache::pruneLiveResourcesToSize):
1529
1530             Grab the next CachedResource pointer before continuing the loop.
1531
1532 2013-12-09  peavo@outlook.com  <peavo@outlook.com>
1533
1534         [WinCairo] OpenGL compile error.
1535         https://bugs.webkit.org/show_bug.cgi?id=125383
1536
1537         Reviewed by Darin Adler.
1538
1539         * platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
1540
1541 2013-12-09  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1542
1543         Fix handling of 'inherit' and 'initial' for grid lines.
1544         https://bugs.webkit.org/show_bug.cgi?id=125223
1545
1546         Reviewed by Darin Adler.
1547
1548         'initial' and 'inherit' are always allowed values for CSS properties.
1549         As the CSSParser handles them automatically, those 2 values were never
1550         taken care of in StyleResolver, leading to crashes.
1551
1552         Added tests cases for 'inherit' and 'initial' to the following tests:
1553
1554         fast/css-grid-layout/grid-item-column-row-get-set.html
1555         fast/css-grid-layout/grid-item-end-after-get-set.html
1556         fast/css-grid-layout/grid-item-start-before-get-set.html
1557
1558         Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision
1559
1560         * css/StyleResolver.cpp:
1561         (WebCore::StyleResolver::applyProperty):
1562         * rendering/style/RenderStyle.h:
1563         * rendering/style/StyleGridItemData.cpp:
1564         (WebCore::StyleGridItemData::StyleGridItemData):
1565
1566 2013-12-09  Joseph Pecoraro  <pecoraro@apple.com>
1567
1568         Web Inspector: Inspector.json and CodeGenerator tweaks
1569         https://bugs.webkit.org/show_bug.cgi?id=125321
1570
1571         Reviewed by Timothy Hatcher.
1572
1573         * inspector/protocol/Runtime.json:
1574         Runtime.js was depending on Network.FrameId. This is a layering
1575         violation, so ideally we can fix this later. For now, just copy
1576         the FrameId type into Runtime. They are strings so all is good.
1577
1578         * inspector/CodeGeneratorInspector.py:
1579         (Generator.EventMethodStructTemplate.append_epilog):
1580         * inspector/CodeGeneratorInspectorStrings.py:
1581         Improve --help usage information.
1582         Make the script work with a single domain json file.
1583         Add ASCIILiteral's where appropriate.
1584
1585 2013-12-09  Nick Diego Yamane  <nick.yamane@openbossa.org>
1586
1587         [Nix] Fix file name typo in PlatformNix.cmake
1588         https://bugs.webkit.org/show_bug.cgi?id=125457
1589
1590         Reviewed by Gustavo Noronha Silva.
1591
1592         Wrong file name introduced in http://trac.webkit.org/changeset/160310.
1593         * PlatformNix.cmake:
1594
1595 2013-12-09  Brendan Long  <b.long@cablelabs.com>
1596
1597         [GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
1598         https://bugs.webkit.org/show_bug.cgi?id=125452
1599
1600         Reviewed by Philippe Normand.
1601
1602         No new tests because this fixes a memory leak.
1603
1604         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
1605         (webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.
1606
1607 2013-12-09  Chris Fleizach  <cfleizach@apple.com>
1608
1609         AX: WebKit ignores @alt on IMG elements with role="text"
1610         https://bugs.webkit.org/show_bug.cgi?id=125363
1611
1612         Reviewed by Mario Sanchez Prada.
1613
1614         If an <img> element has a different role, the alt attribute should still be used in the 
1615         name calculation if present.
1616
1617         Test: accessibility/alt-tag-on-image-with-nonimage-role.html
1618
1619         * accessibility/AccessibilityNodeObject.cpp:
1620         (WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
1621         (WebCore::AccessibilityNodeObject::alternativeText):
1622         (WebCore::AccessibilityNodeObject::accessibilityDescription):
1623         (WebCore::AccessibilityNodeObject::text):
1624         * accessibility/AccessibilityNodeObject.h:
1625
1626 2013-12-08  Martin Robinson  <mrobinson@igalia.com>
1627
1628         [WK2][Soup] Use didReceiveBuffer instead of didReceiveData
1629         https://bugs.webkit.org/show_bug.cgi?id=118598
1630
1631         Reviewed by Gustavo Noronha Silva.
1632
1633         Original patch by Kwang Yul Seo  <skyul@company100.net> and Csaba Osztrogonác  <ossy@webkit.org>.
1634
1635         Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
1636         let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
1637         only supports getting data via SharedBuffer.
1638
1639         * GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
1640         * PlatformEfl.cmake:
1641         * PlatformGTK.cmake:
1642         * PlatformNix.cmake:
1643         * platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
1644         * platform/SharedBuffer.h: Ditto.
1645         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:  Use didReceiveBuffer instead of didReceiveData.
1646         * platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
1647         * platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
1648         * platform/network/soup/GOwnPtrSoup.h: Ditto.
1649         * platform/network/soup/ResourceHandleSoup.cpp:
1650         (WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
1651         called now.
1652         (WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
1653         (WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
1654         (WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
1655         (WebCore::cleanupSoupRequestOperation): Ditto.
1656         (WebCore::nextMultipartResponsePartCallback): Ditto.
1657         (WebCore::sendRequestCallback): Ditto.
1658         (WebCore::readCallback):
1659         * platform/soup/SharedBufferSoup.cpp: Added.
1660
1661 2013-12-09  Michal Poteralski  <m.poteralski@samsung.com>
1662
1663         DataCloneError exception is not thrown when postMessage's second parameter is the source
1664         port or the target port.
1665
1666         https://bugs.webkit.org/show_bug.cgi?id=124708
1667
1668         Reviewed by Alexey Proskuryakov.
1669
1670         According to specification:
1671         http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage
1672
1673         If the method was invoked with a second argument transfer then if any of the objects in the
1674         transfer are either the source port or the target port (if any), then a DataCloneError
1675         exception should be thrown. Currently an InvalidStateError exception is thrown what is an
1676         incorrect behaviour.
1677
1678         The proposed solution is change to the correct the exception value.
1679
1680         Tests: fast/dom/Window/postMessage-clone-port-error.html
1681
1682         * dom/MessagePort.cpp:
1683         (WebCore::MessagePort::postMessage): Improve exception value
1684
1685 2013-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1686
1687         Unreviewed. Fix the GTK+ build with NetworkProcess enabled.
1688
1689         * GNUmakefile.list.am: Add missing file to compilation.
1690
1691 2013-12-08  Ryosuke Niwa  <rniwa@webkit.org>
1692
1693         getComputedStyle border-radius shorthand omits vertical radius information
1694         https://bugs.webkit.org/show_bug.cgi?id=125394
1695
1696         Reviewed by Andreas Kling.
1697
1698         Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0
1699
1700         getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
1701         We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
1702         This patch ensures we only hide the vertical values if they are identical to the horizontal values.
1703
1704         * css/CSSComputedStyleDeclaration.cpp:
1705         (WebCore::getBorderRadiusShorthandValue):
1706
1707 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1708
1709         [GTK] Do not skip attributes with only custom setter
1710         https://bugs.webkit.org/show_bug.cgi?id=125417
1711
1712         Reviewed by Gustavo Noronha Silva.
1713
1714         For attributes with a custom setter, we now generate the code as a
1715         read-only attribute with a getter method, unless it also has a
1716         custom getter in which case the attribute is skipped.
1717
1718         * bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController
1719         that is now required by an attribute having a custom setter.
1720         * bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
1721         * bindings/gobject/WebKitDOMCustom.h: Ditto.
1722         * bindings/gobject/WebKitDOMCustom.symbols: Ditto.
1723         * bindings/gobject/webkitdom.symbols: Add new symbols.
1724         * bindings/scripts/CodeGeneratorGObject.pm:
1725         (SkipAttribute): Do not skip attributes having a custom setter.
1726         (GetWriteableProperties): Do not include attributes having a
1727         custom setter.
1728         (GenerateProperty): Do not return early for attributes having
1729         custom setter.
1730         (GenerateFunctions): Do not generate setter for attributes having
1731         a custom setter.
1732
1733 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1734
1735         [GTK] Do not generate new dispatch_event methods marked as deprecated
1736         https://bugs.webkit.org/show_bug.cgi?id=125416
1737
1738         Reviewed by Gustavo Noronha Silva.
1739
1740         * bindings/scripts/CodeGeneratorGObject.pm:
1741         (SkipFunction): Skip dispatch_event methods for objects
1742         implementing EventTarget interface unless they are already
1743         deprecated.
1744         (GenerateFunction): Pass also the parentNode to SkipFunction().
1745
1746 2013-12-05  Jer Noble  <jer.noble@apple.com>
1747
1748         [MSE] Bring end-of-stream algorithm section up to current spec.
1749         https://bugs.webkit.org/show_bug.cgi?id=125270
1750
1751         Reviewed by Darin Adler.
1752
1753         Test: media/media-source/media-source-end-of-stream.html
1754
1755         Separate the "endOfStream()" method from the "end of stream algorithm".
1756
1757         * Modules/mediasource/MediaSource.cpp:
1758         (WebCore::SourceBufferIsUpdating): Added predicate function.
1759         (WebCore::MediaSource::endOfStream): Call streamEndedWithError().
1760         (WebCore::MediaSource::streamEndedWithError): Added.
1761         * Modules/mediasource/MediaSource.h:
1762         * Modules/mediasource/SourceBuffer.cpp:
1763         (WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
1764         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
1765         * Modules/mediasource/SourceBuffer.h:
1766         * html/HTMLMediaElement.cpp:
1767         (HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
1768         (HTMLMediaElement::mediaLoadingFailed): Call renamed method.
1769         * html/HTMLMediaElement.h:
1770         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
1771         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.
1772         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1773         (WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.
1774         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
1775         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
1776         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
1777         (WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.
1778
1779 2013-12-04  Jer Noble  <jer.noble@apple.com>
1780
1781         [MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
1782         https://bugs.webkit.org/show_bug.cgi?id=125269
1783
1784         Reviewed by Sam Weinig.
1785
1786         Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.
1787
1788         It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
1789         make sure to clear the pointer from the former to the latter when the latter is destroyed.
1790         That means we now have to check to see if the pointer to the latter is still valid at every
1791         call site.
1792
1793         As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
1794         points to.
1795
1796         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
1797         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.
1798         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
1799         (WebCore::SourceBufferPrivateAVFObjC::clearMediaSource): 
1800         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1801         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
1802         (WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
1803         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
1804         (WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
1805         (WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
1806         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
1807         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
1808         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
1809         (WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.
1810         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
1811         (WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.
1812         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
1813         (WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
1814         (WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
1815         (WebCore::MockSourceBufferPrivate::readyState): Ditto.
1816         (WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
1817         (WebCore::MockSourceBufferPrivate::setActive): Ditto.
1818         * platform/mock/mediasource/MockSourceBufferPrivate.h:
1819         (WebCore::MockSourceBufferPrivate::clearMediaSource):
1820
1821 2013-12-07  Zoltan Horvath  <zoltan@webkit.org>
1822
1823         Remove statusWithDirection static function from RenderBlockLineLayout
1824         https://bugs.webkit.org/show_bug.cgi?id=125372
1825
1826         Reviewed by Andreas Kling.
1827
1828         I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
1829         once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
1830         statusWithDirection and updated the code to use the constructor of BidiStatus.
1831
1832         No new tests, no behavior change.
1833
1834         * rendering/RenderBlockLineLayout.cpp:
1835         (WebCore::constructBidiRunsForSegment):
1836
1837 2013-12-07  ChangSeok Oh  <changseok.oh@collabora.com>
1838
1839         Unreviewed. Build fix for gtk port after r160260.
1840
1841         * loader/cache/CachedImage.h: Add missing a header.
1842
1843 2013-12-07  Gustavo Noronha Silva  <gns@gnome.org>
1844
1845         ubuntu software center hits _XReadEvents() error
1846         https://bugs.webkit.org/show_bug.cgi?id=123480
1847
1848         Reviewed by Martin Robinson.
1849
1850         * platform/gtk/WidgetBackingStoreGtkX11.cpp:
1851         (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
1852         before freeing the associated pixmap.
1853
1854 2013-12-06  Tim Horton  <timothy_horton@apple.com>
1855
1856         [mac] Keep around more decoded image data, since it's purgeable
1857         https://bugs.webkit.org/show_bug.cgi?id=125273
1858         <rdar://problem/13205438>
1859
1860         Unreviewed patch to fix review comments...
1861
1862         * platform/graphics/BitmapImage.h:
1863         Dan noticed that these return statements were improperly indented.
1864
1865 2013-12-05  Jer Noble  <jer.noble@apple.com>
1866
1867         [MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
1868         https://bugs.webkit.org/show_bug.cgi?id=125338
1869
1870         Reviewed by Darin Adler.
1871
1872         The MediaSource API has some assumptions which break if more than one installed
1873         media engine supports MediaSources at the same time. So when enabling the mock
1874         media source engine in DRT or WKTR, disable AVFoundation so that only the mock
1875         engine will support media source loading.
1876
1877         * testing/Internals.cpp:
1878         (WebCore::Internals::initializeMockMediaSource):
1879
1880 2013-12-06  Antti Koivisto  <antti@apple.com>
1881
1882         Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
1883
1884         Reviewed by Anders Carlsson.
1885
1886         * rendering/RenderText.cpp:
1887         (WebCore::originalTextMap):
1888
1889 2013-12-05  Jer Noble  <jer.noble@apple.com>
1890
1891         [MSE] Add a runtime-setting for the MediaSource constructor.
1892         https://bugs.webkit.org/show_bug.cgi?id=125336
1893
1894         Reviewed by Eric Carlson.
1895
1896         Add a Setting to enable the MediaSource constructor.
1897
1898         * Modules/mediasource/MediaSource.idl:
1899         * page/Settings.in:
1900
1901 2013-12-06  Tim Horton  <timothy_horton@apple.com>
1902
1903         [mac] Keep around more decoded image data, since it's purgeable
1904         https://bugs.webkit.org/show_bug.cgi?id=125273
1905         <rdar://problem/13205438>
1906
1907         Reviewed by Simon Fraser.
1908
1909         No new tests, just an optimization.
1910
1911         Instead of throwing away decoded image data eagerly, allow the operating
1912         system to manage the memory via the standard purgeability mechanism,
1913         where it can.
1914
1915         This improves the performance on some pathological cases (extremely large
1916         animated GIFs) by up to 8x.
1917
1918         * loader/cache/MemoryCache.cpp:
1919         (WebCore::MemoryCache::pruneLiveResourcesToSize):
1920         Don't prune live resources' decoded data if it is purgeable.
1921
1922         * platform/graphics/BitmapImage.cpp:
1923         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
1924         Don't eagerly throw away decoded image data if it's purgeable.
1925
1926         * loader/cache/CachedImage.h:
1927         * loader/cache/CachedResource.h:
1928         (WebCore::CachedResource::decodedDataIsPurgeable):
1929         * platform/graphics/BitmapImage.h:
1930         * platform/graphics/Image.h:
1931         (WebCore::Image::decodedDataIsPurgeable):
1932
1933 2013-12-06  Antti Koivisto  <antti@apple.com>
1934
1935         Save original text for RenderText to a map
1936         https://bugs.webkit.org/show_bug.cgi?id=125278
1937
1938         Reviewed by Darin Adler.
1939         
1940         Currently the original text is fetched from the Text node. This is one of the few things 
1941         where we use the RenderText node pointer and is stopping Text nodes from being anonymous.
1942         
1943         It is very rare of original text to differ from the actual text so we can just squirrel the
1944         original to a map when it differs. This is also simplifies the code.
1945
1946         * rendering/RenderQuote.cpp:
1947         (WebCore::RenderQuote::styleDidChange):
1948         (WebCore::RenderQuote::updateDepth):
1949         * rendering/RenderText.cpp:
1950         (WebCore::originalTextMap):
1951         (WebCore::RenderText::RenderText):
1952         (WebCore::RenderText::~RenderText):
1953         (WebCore::RenderText::styleDidChange):
1954         (WebCore::RenderText::originalText):
1955         (WebCore::RenderText::setTextInternal):
1956         (WebCore::RenderText::setText):
1957         * rendering/RenderText.h:
1958         * rendering/RenderTextFragment.cpp:
1959         * rendering/RenderTextFragment.h:
1960
1961 2013-12-04  Jer Noble  <jer.noble@apple.com>
1962
1963         [MSE] Refactor MediaSourceBase back into MediaSource
1964         https://bugs.webkit.org/show_bug.cgi?id=125245
1965
1966         Reviewed by Eric Carlson.
1967
1968         Now that the legacy WebKitMediaSource has been removed, there is no reason to have
1969         a separate MediaSource and MediaSourceBase. Re-integrate the two.
1970
1971         Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
1972         * Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
1973         (WebCore::MediaSource::create): Copied from MediaSource.cpp.
1974         (WebCore::MediaSource::addSourceBuffer): Ditto.
1975         (WebCore::MediaSource::removeSourceBuffer): Ditto.
1976         (WebCore::MediaSource::isTypeSupported): Ditto.
1977         (WebCore::MediaSource::eventTargetInterface): Ditto.
1978         (WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
1979         * Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
1980         (WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
1981         (WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
1982         * Modules/mediasource/MediaSourceBase.cpp: Removed.
1983         * Modules/mediasource/MediaSourceBase.h: Removed.
1984
1985         Change all references to MediaSourceBase into MediaSource:
1986         * Modules/mediasource/DOMURLMediaSource.cpp:
1987         (WebCore::DOMURLMediaSource::createObjectURL):
1988         * Modules/mediasource/DOMURLMediaSource.h:
1989         * Modules/mediasource/MediaSourceRegistry.cpp:
1990         (WebCore::MediaSourceRegistry::registerURL):
1991         (WebCore::MediaSourceRegistry::unregisterURL):
1992         * Modules/mediasource/MediaSourceRegistry.h:
1993
1994         Remove MediaSourceBase.cpp/h from the project file:
1995         * WebCore.xcodeproj/project.pbxproj:
1996         * GNUmakefile.list.am:
1997
1998 2013-12-06  Eric Carlson  <eric.carlson@apple.com>
1999
2000         r159827 broke plug-in snapshotting
2001         https://bugs.webkit.org/show_bug.cgi?id=125365
2002
2003         Reviewed by Dean Jackson.
2004
2005         No new tests, covered by existing tests.
2006
2007         * html/HTMLPlugInImageElement.cpp:
2008         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
2009             a page, not if there IS a page.
2010
2011 2013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
2012
2013         [Win] Support compiling with VS2013
2014         https://bugs.webkit.org/show_bug.cgi?id=125353
2015
2016         Reviewed by Anders Carlsson.
2017
2018         * loader/archive/cf/LegacyWebArchive.cpp:
2019         (WebCore::LegacyWebArchive::create): Use nullptr
2020         (WebCore::LegacyWebArchive::createFromSelection): Ditto
2021
2022 2013-11-15  Jer Noble  <jer.noble@apple.com>
2023
2024         [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
2025         https://bugs.webkit.org/show_bug.cgi?id=123378
2026
2027         Reviewed by Eric Carlson.
2028
2029         Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
2030         MediaSourcePrivate and SourceBufferPrivate subclasses.
2031
2032         Add the new media engine to the list of installed engines:
2033         * platform/MediaSample.h:
2034         * platform/graphics/MediaPlayer.cpp:
2035         (WebCore::installedMediaEngines):
2036         * platform/graphics/MediaPlayer.h:
2037
2038         Add the new files to the project:
2039         * WebCore.xcodeproj/project.pbxproj:
2040
2041         Drive by fix for ports who implement seekDouble():
2042         * platform/graphics/MediaPlayerPrivate.h:
2043         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
2044
2045         Add new Video and AudioTrackPrivate types which handle their own enable state:
2046         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
2047         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
2048         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
2049         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
2050         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
2051         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
2052         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
2053         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
2054         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
2055         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
2056         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
2057         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
2058         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
2059         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.
2060
2061         Add a new MediaPlayerPrivate which can handle MediaSource objects:
2062         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
2063         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
2064         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2065         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
2066         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
2067         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
2068         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
2069         (WebCore::mimeTypeCache):
2070         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
2071         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
2072         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
2073         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
2074         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
2075         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
2076         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
2077         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
2078         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
2079         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
2080         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
2081         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
2082         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
2083         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
2084         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
2085         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
2086         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
2087         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
2088         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
2089         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
2090         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
2091         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
2092         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
2093         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
2094         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
2095         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
2096         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
2097         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
2098         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
2099         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
2100         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
2101         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
2102         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
2103         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
2104         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
2105         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
2106         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
2107         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
2108         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
2109         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
2110         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
2111         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
2112         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
2113         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
2114         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
2115         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
2116         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
2117         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
2118         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
2119         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
2120         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
2121
2122         Add a new MediaSourcePrivate implementation:
2123         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
2124         (WebCore::MediaSourcePrivateAVFObjC::player):
2125         (WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
2126         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
2127         (WebCore::MediaSourcePrivateAVFObjC::create):
2128         (WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
2129         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
2130         (WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
2131         (WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
2132         (WebCore::MediaSourcePrivateAVFObjC::duration):
2133         (WebCore::MediaSourcePrivateAVFObjC::setDuration):
2134         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
2135         (WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
2136         (WebCore::MediaSourcePrivateAVFObjC::readyState):
2137         (WebCore::MediaSourcePrivateAVFObjC::setReadyState):
2138         (WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
2139         (WebCore::MediaSourcePrivateAVFObjCHasAudio):
2140         (WebCore::MediaSourcePrivateAVFObjC::hasAudio):
2141         (WebCore::MediaSourcePrivateAVFObjCHasVideo):
2142         (WebCore::MediaSourcePrivateAVFObjC::hasVideo):
2143         (WebCore::MediaSourcePrivateAVFObjC::seekToTime):
2144
2145         Add a new SourceBufferPrivate implementation:
2146         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
2147         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
2148         (-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
2149         (-[WebAVStreamDataParserListener dealloc]):
2150         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
2151         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
2152         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
2153         (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
2154         (WebCore::MediaSampleAVFObjC::create):
2155         (WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
2156         (WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
2157         (WebCore::MediaSampleAVFObjC::platformSample):
2158         (WebCore::CMSampleBufferIsRandomAccess):
2159         (WebCore::MediaSampleAVFObjC::flags):
2160         (WebCore::MediaDescriptionAVFObjC::create):
2161         (WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
2162         (WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
2163         (WebCore::SourceBufferPrivateAVFObjC::create):
2164         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
2165         (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
2166         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
2167         (WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
2168         (WebCore::callProcessCodedFrameForEachSample):
2169         (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
2170         (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
2171         (WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
2172         (WebCore::SourceBufferPrivateAVFObjC::setClient):
2173         (WebCore::SourceBufferPrivateAVFObjC::append):
2174         (WebCore::SourceBufferPrivateAVFObjC::abort):
2175         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
2176         (WebCore::SourceBufferPrivateAVFObjC::readyState):
2177         (WebCore::SourceBufferPrivateAVFObjC::setReadyState):
2178         (WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
2179         (WebCore::SourceBufferPrivateAVFObjC::isFull):
2180         (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
2181         (WebCore::SourceBufferPrivateAVFObjC::hasAudio):
2182         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
2183         (WebCore::createNonDisplayingCopy):
2184         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
2185         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
2186         (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
2187         (WebCore::SourceBufferPrivateAVFObjC::setActive):
2188         (WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
2189         (WebCore::SourceBufferPrivateAVFObjC::seekToTime):
2190         * platform/mac/PlatformClockCM.h:
2191
2192         Add a SOFT_LINK_CLASS_OPTIONAL macro:
2193         * platform/mac/SoftLinking.h:
2194
2195 2013-12-06  Alexey Proskuryakov  <ap@apple.com>
2196
2197         Remove some duplicate checks from SerializedScriptValue
2198         https://bugs.webkit.org/show_bug.cgi?id=125358
2199
2200         Reviewed by Geoffrey Garen.
2201
2202         There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
2203
2204         Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
2205         because toArrayBufferView returns a RefPtr).
2206
2207         * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
2208
2209 2013-12-06  Tim Horton  <timothy_horton@apple.com>
2210
2211         Remove Image::decodedSize()
2212         https://bugs.webkit.org/show_bug.cgi?id=125327
2213
2214         Reviewed by Simon Fraser.
2215
2216         Missed a comment when removing this code.
2217
2218         * svg/graphics/SVGImage.h:
2219
2220 2013-12-06  Rob Buis  <rob.buis@samsung.com>
2221
2222         [CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
2223         https://bugs.webkit.org/show_bug.cgi?id=124680
2224
2225         Reviewed by Dirk Schulze.
2226
2227         Do not take the writing-mode property on the float into account for shape-outside.
2228         Add a virtual method writingMode() in order to do this for shape-outside but
2229         keep old behavior (element writingMode) for shape-inside.
2230
2231         Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
2232         new behavior.
2233
2234         * rendering/shapes/ShapeInfo.cpp:
2235         (WebCore::::computedShape):
2236         * rendering/shapes/ShapeInfo.h:
2237         (WebCore::ShapeInfo::writingMode):
2238         * rendering/shapes/ShapeOutsideInfo.cpp:
2239         (WebCore::ShapeOutsideInfo::writingMode):
2240         * rendering/shapes/ShapeOutsideInfo.h:
2241
2242 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
2243
2244         Web Inspector: Remove Staging Workaround
2245         https://bugs.webkit.org/show_bug.cgi?id=125354
2246
2247         Reviewed by Timothy Hatcher.
2248
2249         * inspector/CodeGeneratorInspector.py:
2250
2251 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
2252
2253         Simplify ScriptFunctionCall by removing dead code.
2254         https://bugs.webkit.org/show_bug.cgi?id=125274
2255
2256         Reviewed by Timothy Hatcher.
2257
2258         * bindings/js/ScriptFunctionCall.cpp:
2259         (WebCore::ScriptFunctionCall::call):
2260         * bindings/js/ScriptFunctionCall.h:
2261
2262 2013-12-06  Daniel Bates  <dabates@apple.com>
2263
2264         [iOS] Upstream WebCore/rendering changes
2265         https://bugs.webkit.org/show_bug.cgi?id=125239
2266
2267         Reviewed by Simon Fraser.
2268
2269         * WebCore.xcodeproj/project.pbxproj:
2270         * rendering/InlineBox.cpp:
2271         (WebCore::InlineBox::previousOnLineExists): Added.
2272         * rendering/InlineBox.h:
2273         * rendering/InlineTextBox.cpp:
2274         (WebCore::InlineTextBox::paintCompositionBackground): Modified to query RenderStyle
2275         on iOS for the composition fill color. Added FIXME to make this platform-independent.
2276         (WebCore::InlineTextBox::paintDecoration): Added iOS-specific decoration code.
2277         (WebCore::lineStyleForMarkerType):
2278         (WebCore::InlineTextBox::paintDocumentMarkers): Added iOS-specific code. Also, added
2279         FIXME to make this code platform-independent.
2280         * rendering/RenderBlock.cpp:
2281         (WebCore::RenderBlock::paint): Ditto.
2282         (WebCore::positionForPointRespectingEditingBoundaries): Added iOS-specific code.
2283         * rendering/RenderBlock.h: Changed access control of logical{Left, Right}SelectionOffset()
2284         from private to protected so that these methods can be used from RenderImage::collectSelectionRects().
2285         * rendering/RenderBox.cpp:
2286         (WebCore::RenderBox::borderRadii): Added.
2287         (WebCore::RenderBox::paintBoxDecorations): Added iOS-specific workaround. See <rdar://problem/6209763>
2288         for more details.
2289         (WebCore::RenderBox::computeRectForRepaint): Added iOS-specific code. 
2290         (WebCore::customContainingBlockWidth): Added; guarded by PLATFORM(IOS).
2291         (WebCore::customContainingBlockHeight): Added; guarded by PLATFORM(IOS).
2292         (WebCore::customContainingBlockLogicalWidth): Added; guarded by PLATFORM(IOS).
2293         (WebCore::customContainingBlockLogicalHeight): Added; guarded by PLATFORM(IOS).
2294         (WebCore::customContainingBlockAvailableLogicalHeight): Added; guarded by PLATFORM(IOS).
2295         (WebCore::RenderBox::availableLogicalHeightUsing): Added iOS-specific code; calls customContainingBlockAvailableLogicalHeight().
2296         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Added iOS-specific code; calls customContainingBlockLogicalWidth().
2297         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Added iOS-specific code; calls customContainingBlockLogicalHeight().
2298         (WebCore::RenderBox::layoutOverflowRectForPropagation): Added iOS-specific code.
2299         * rendering/RenderBox.h:
2300         * rendering/RenderBoxModelObject.cpp:
2301         (WebCore::RenderBoxModelObject::stickyPositionOffset): Use FrameView::customFixedPositionLayoutRect()
2302         instead of FrameView::viewportConstrainedVisibleContentRect().
2303         * rendering/RenderButton.cpp:
2304         (WebCore::RenderButton::layout): Added; iOS-specific. Includes FIXME comment.
2305         See <rdar://problem/7675493> for more details.
2306         * rendering/RenderElement.cpp:
2307         (WebCore::RenderElement::styleWillChange): Added iOS-specific code.
2308         (WebCore::RenderElement::styleDidChange): Modified to only call areCursorsEqual() and
2309         EventHandler::scheduleCursorUpdate() on a non-iOS port.
2310         * rendering/RenderEmbeddedObject.cpp:
2311         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Added iOS-specific code.
2312         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason): This method has an empty implementation for iOS.
2313         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Ditto.
2314         * rendering/RenderFileUploadControl.cpp:
2315         (WebCore::nodeHeight):
2316         (WebCore::RenderFileUploadControl::maxFilenameWidth): Added iOS-specific code.
2317         (WebCore::RenderFileUploadControl::paintObject): Ditto.
2318         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
2319         * rendering/RenderFrameSet.cpp:
2320         (WebCore::RenderFrameSet::positionFrames): Ditto; Also added FIXME comment as this code may not
2321         be specific to iOS.
2322         * rendering/RenderIFrame.h: Added iOS-specific workaround to RenderObject::renderName(). Added
2323         FIXME comment to determine whether this workaround is still applicable.
2324         * rendering/RenderImage.cpp:
2325         (WebCore::RenderImage::collectSelectionRects): Added; guarded by PLATFORM(IOS).
2326         (WebCore::RenderImage::paintAreaElementFocusRing): This method has an empty implementation for iOS.
2327         * rendering/RenderImage.h:
2328         * rendering/RenderInline.cpp:
2329         (WebCore::RenderInline::absoluteQuadsForSelection): Added; guarded by PLATFORM(IOS).
2330         * rendering/RenderInline.h:
2331         * rendering/RenderLayer.cpp:
2332         (WebCore::RenderLayer::RenderLayer): Added iOS-specific member initialization.
2333         (WebCore::RenderLayer::~RenderLayer): Added iOS-specific code.
2334         (WebCore::RenderLayer::willBeDestroyed): Added; iOS-specific.
2335         (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Ditto.
2336         (WebCore::RenderLayer::handleTouchEvent): Ditto.
2337         (WebCore::RenderLayer::registerAsTouchEventListenerForScrolling): Ditto.
2338         (WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling): Ditto.
2339         (WebCore::RenderLayer::updateNeedsCompositedScrolling): Added iOS-specific code as we use UIKit
2340         to composite our scroll bars.
2341         (WebCore::RenderLayer::scrollTo): Added iOS-specific code.
2342         (WebCore::RenderLayer::scrollRectToVisible): Ditto.
2343         (WebCore::RenderLayer::styleChanged): Modified to make use of the passed StyleDifference on iOS.
2344         (WebCore::RenderLayer::visibleContentRect): Added; iOS-specific.
2345         (WebCore::RenderLayer::didStartScroll): Ditto.
2346         (WebCore::RenderLayer::didEndScroll): Ditto.
2347         (WebCore::RenderLayer::didUpdateScroll): Ditto.
2348         (WebCore::RenderLayer::invalidateScrollbarRect): Added iOS-specific code.
2349         (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
2350         (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
2351         (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
2352         (WebCore::RenderLayer::updateScrollableAreaSet): Ditto.
2353         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Add iOS-specific workaround with FIXME. See
2354         <rdar://problem/15579797> for more details.
2355         (WebCore::RenderLayer::paintOverflowControls): Added iOS-specific code.
2356         (WebCore::RenderLayer::calculateClipRects): Ditto.
2357         * rendering/RenderLayer.h:
2358         * rendering/RenderLayerBacking.cpp:
2359         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Modified to not apply page scale on iOS
2360         as we apply a page scale at a different time in the code.
2361         (WebCore::RenderLayerBacking::layerWillBeDestroyed): Added; guarded by PLATFORM(IOS).
2362         (WebCore::layerOrAncestorIsTransformedOrScrolling): Added iOS-specific variant with FIXME comment.
2363         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Added iOS-specific code.
2364         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Ditto.
2365         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto.
2366         (WebCore::RenderLayerBacking::registerScrollingLayers): Ditto.
2367         (WebCore::RenderLayerBacking::updateScrollingLayers): Ditto.
2368         (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground()
2369         when building on iOS Simulator.
2370         (WebCore::RenderLayerBacking::parentForSublayers): Added iOS-specific code and FIXME comment.
2371         (WebCore::RenderLayerBacking::paintsIntoWindow): Opt-into coordinated graphics code path.
2372         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Added iOS-specific code.
2373         (WebCore::RenderLayerBacking::paintIntoLayer): Compile-out ASSERT_NOT_REACHED for iOS and added FIXME comment.
2374         * rendering/RenderLayerBacking.h:
2375         * rendering/RenderLayerCompositor.cpp:
2376         (WebCore::RenderLayerCompositor::scheduleLayerFlush): Added iOS-specific code.
2377         (WebCore::RenderLayerCompositor::chromeClient): Added; guarded by PLATFORM(IOS).
2378         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Added iOS-specific code.
2379         (WebCore::scrollbarHasDisplayNone): Added; iOS-specific.
2380         (WebCore::updateScrollingLayerWithClient): Ditto.
2381         (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): Ditto.
2382         (WebCore::RenderLayerCompositor::didFlushChangesForLayer): Added iOS-specific code.
2383         (WebCore::RenderLayerCompositor::didChangeVisibleRect): Ditto.
2384         (WebCore::RenderLayerCompositor::addToOverlapMap): Don't apply page scale factor on iOS. We apply
2385         the page scale factor at a different time in the code. Also, added FIXME comment.
2386         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Added iOS-specific workaround.
2387         See <rdar://problem/8348337> for more details.
2388         (WebCore::RenderLayerCompositor::setIsInWindow): Use non-Mac code path for iOS.
2389         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Added iOS-specific code.
2390         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
2391         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Ditto.
2392         (WebCore::RenderLayerCompositor::reasonsForCompositing): Ditto.
2393         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Opt-into calling
2394         AnimationController::isRunningAnimationOnRenderer() on iOS.
2395         (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Added; guarded by PLATFORM(IOS).
2396         (WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Added iOS-specific code.
2397         (WebCore::isViewportConstrainedFixedOrStickyLayer): Ditto.
2398         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Use FrameView::customFixedPositionLayoutRect()
2399         instead of FrameView::viewportConstrainedVisibleContentRect().
2400         (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Ditto.
2401         (WebCore::RenderLayerCompositor::ensureRootLayer): Ditto.
2402         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): Use FrameView::customFixedPositionLayoutRect()
2403         instead of FrameView::viewportConstrainedVisibleContentRect().
2404         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Ditto.
2405         (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer): This method has an empty implementation for iOS
2406         as we batch update viewport-constrained layers in the iOS-specific method, RenderLayerCompositor::updateCustomLayersAfterFlush().
2407         (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer): Ditto.
2408         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
2409         (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers): Ditto.
2410         (WebCore::RenderLayerCompositor::registerAllScrollingLayers): Ditto.
2411         (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): Ditto.
2412         (WebCore::RenderLayerCompositor::scrollingLayerAddedOrUpdated): Ditto.
2413         (WebCore::RenderLayerCompositor::scrollingLayerRemoved): Ditto.
2414         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Ditto.
2415         * rendering/RenderLayerCompositor.h:
2416         * rendering/RenderLayerFilterInfo.h: Added iOS-specific Clang workaround to ignore
2417         an unused private field.
2418         * rendering/RenderMenuList.cpp:
2419         (WebCore::selectedOptionCount): Added; guarded by PLATFORM(IOS).
2420         (WebCore::RenderMenuList::RenderMenuList): On iOS we don't make use of RenderMenuList::m_popupIsVisible.
2421         (WebCore::RenderMenuList::~RenderMenuList): On iOS we don't make use of RenderMenuList::m_popup.
2422         (WebCore::RenderMenuList::adjustInnerStyle): Add iOS-specific code.
2423         (RenderMenuList::updateFromElement): On iOS we don't make use of RenderMenuList::m_popup.
2424         (RenderMenuList::setTextFromOption): Add iOS-specific code.
2425         (RenderMenuList::showPopup): Define RenderMenuList::showPopup() to ASSERT_NOT_REACHED() on iOS as
2426         we don't make use of RenderMenuList::m_popup.
2427         (RenderMenuList::hidePopup): This method has an empty implementation for iOS as we don't make use
2428         of RenderMenuList::m_popup.
2429         (RenderMenuList::popupDidHide): This method has an empty implementation for iOS as we don't make use
2430         of RenderMenuList::m_popupIsVisible.
2431         * rendering/RenderMenuList.h:
2432         * rendering/RenderObject.cpp:
2433         (WebCore::RenderObject::columnNumberForOffset): Added; guarded by PLATFORM(IOS). Also, added a FIXME comment to
2434         make this function return an unsigned integer instead of a signed integer.
2435         (WebCore::RenderObject::collectSelectionRects): Added; guarded by PLATFORM(IOS).
2436         (WebCore::RenderObject::destroy): Added iOS-specific code.
2437         (WebCore::RenderObject::innerLineHeight): Added.
2438         (WebCore::RenderObject::willRenderImage): Added iOS-specific code.
2439         * rendering/RenderObject.h: Change the access control of RenderObject::drawLineForBoxSide() from protected to
2440         public so that it can be used from RenderThemeIOS::adjustMenuListButtonStyle().
2441         (WebCore::RenderObject::absoluteQuadsForSelection):
2442         * rendering/RenderScrollbar.h: Change the access control of RenderScrollbar::getScrollbarPseudoStyle() from
2443         private to public so that it can be used from the iOS-specific static function, scrollbarHasDisplayNone,
2444         defined in RenderLayerCompositor.cpp.
2445         * rendering/RenderSearchField.cpp:
2446         (WebCore::RenderSearchField::itemText): Added iOS-specific code.
2447         * rendering/RenderText.cpp:
2448         (WebCore::RenderText::collectSelectionRects): Added; guarded by PLATFORM(IOS).
2449         (WebCore::RenderText::setTextInternal): Added iOS-specific code.
2450         * rendering/RenderText.h:
2451         * rendering/RenderTextControl.cpp:
2452         (WebCore::RenderTextControl::adjustInnerTextStyle): Ditto.
2453         (WebCore::RenderTextControl::canScroll): Added; guarded by PLATFORM(IOS).
2454         (WebCore::RenderTextControl::innerLineHeight): Ditto.
2455         * rendering/RenderTextControl.h:
2456         * rendering/RenderTextControlMultiLine.cpp:
2457         (WebCore::RenderTextControlMultiLine::getAvgCharWidth): Compile-out code when building for iOS.
2458         (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Added iOS-specific code.
2459         * rendering/RenderTextControlSingleLine.cpp:
2460         (WebCore::RenderTextControlSingleLine::layout): Ditto.
2461         (WebCore::RenderTextControlSingleLine::getAvgCharWidth): Compile-out code when building for iOS.
2462         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): Ditto.
2463         * rendering/RenderTextLineBoxes.cpp:
2464         (WebCore::lineDirectionPointFitsInBox): Ditto.
2465         (WebCore::RenderTextLineBoxes::positionForPoint): Added iOS-specific code.
2466         * rendering/RenderTheme.cpp:
2467         (WebCore::RenderTheme::paintBorderOnly): Ditto.
2468         (WebCore::RenderTheme::paintDecorations): Modified to call the control-specific paint*Decorations().
2469         * rendering/RenderTheme.h:
2470         (WebCore::RenderTheme::paintCheckboxDecorations): Added.
2471         (WebCore::RenderTheme::paintRadioDecorations): Added.
2472         (WebCore::RenderTheme::paintButtonDecorations): Added.
2473         (WebCore::RenderTheme::paintTextFieldDecorations): Added.
2474         (WebCore::RenderTheme::paintTextAreaDecorations): Added.
2475         (WebCore::RenderTheme::paintMenuListDecorations): Added.
2476         (WebCore::RenderTheme::paintPushButtonDecorations): Added.
2477         (WebCore::RenderTheme::paintSquareButtonDecorations): Added.
2478         (WebCore::RenderTheme::paintFileUploadIconDecorations): Added.
2479         (WebCore::RenderTheme::paintSliderThumbDecorations): Added.
2480         (WebCore::RenderTheme::paintSearchFieldDecorations): Added.
2481         * rendering/RenderThemeIOS.h: Added.
2482         * rendering/RenderThemeIOS.mm: Added.
2483         * rendering/RenderThemeMac.h: Don't compile the contents of this file when building for iOS.
2484         * rendering/RenderThemeMac.mm: Ditto.
2485         * rendering/RenderVideo.cpp:
2486         (WebCore::RenderVideo::calculateIntrinsicSize): Compile-out code when building for iOS.
2487         * rendering/RenderView.cpp:
2488         (WebCore::RenderView::availableLogicalHeight): Add iOS-specific workaround. See <rdar://problem/7166808>.
2489         (WebCore::fixedPositionOffset): Added; used in iOS-specific code (e.g. RenderView::mapLocalToContainer()).
2490         (WebCore::RenderView::mapLocalToContainer): Use WebCore::fixedPositionOffset() instead of 
2491         FrameView::scrollOffsetForFixedPosition().
2492         (WebCore::RenderView::pushMappingToContainer): Ditto.
2493         (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
2494         (WebCore::RenderView::repaintViewRectangle): Ditto.
2495         (WebCore::RenderView::computeRectForRepaint): Ditto.
2496         (WebCore::isFixedPositionInViewport): Added; used in RenderView::hasCustomFixedPosition().
2497         (WebCore::RenderView::hasCustomFixedPosition): Added; guarded by PLATFORM(IOS).
2498         * rendering/RenderView.h:
2499         * rendering/RenderWidget.cpp:
2500         (WebCore::RenderWidget::willBeDestroyed): Added iOS-specific code.
2501         * rendering/RootInlineBox.cpp:
2502         (WebCore::RootInlineBox::ascentAndDescentForBox): Ditto.
2503         * rendering/break_lines.cpp: Only include header <CoreServices/CoreServices.h> when building for Mac.
2504
2505 2013-12-06  Zoltan Horvath  <zoltan@webkit.org>
2506
2507         Clean up the includes of RenderBlock.h 
2508         https://bugs.webkit.org/show_bug.cgi?id=125351
2509
2510         Reviewed by Darin Adler.
2511
2512         I turned some header includes into forward declarations. I also removed / 
2513         moved out some includes, which don't belong to RenderBlock.h anymore.
2514
2515         No new tests, no behavior change.
2516
2517         * editing/VisibleUnits.cpp:
2518         * html/HTMLInputElement.cpp:
2519         * html/HTMLTextAreaElement.cpp:
2520         * html/TextFieldInputType.cpp:
2521         * html/TextInputType.cpp:
2522         * rendering/InlineElementBox.cpp:
2523         * rendering/RenderBlock.h:
2524         * rendering/RenderBlockFlow.cpp:
2525         * rendering/line/LineBreaker.h:
2526         * rendering/line/LineWidth.cpp:
2527
2528 2013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2529
2530         Define SHA1 hash size in SHA1.h and use it at various places.
2531         https://bugs.webkit.org/show_bug.cgi?id=125345
2532
2533         Reviewed by Darin Adler.
2534
2535         Use SHA1::hashSize instead of local variables.
2536
2537         * Modules/websockets/WebSocketHandshake.cpp:
2538         (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
2539         * platform/network/soup/ResourceHandleSoup.cpp:
2540         (WebCore::HostTLSCertificateSet::computeCertificateHash):
2541
2542 2013-12-06  Dan Bernstein  <mitz@apple.com>
2543
2544         [Cocoa] Add load delegate methods for responding to authentication challenges
2545         https://bugs.webkit.org/show_bug.cgi?id=125333
2546
2547         Reviewed by Darin Adler.
2548
2549         * WebCore.exp.in: Exported core(NSURLCredential *).
2550
2551 2013-12-06  Daniel Bates  <dabates@apple.com>
2552
2553         Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
2554         https://bugs.webkit.org/show_bug.cgi?id=125191
2555
2556         Reviewed by Joseph Pecoraro.
2557
2558         Towards upstreaming the iOS concept of render theme decorations, we should rename
2559         RenderTheme::{adjust, paint}SearchFieldDecorationStyle and RenderTheme::{adjust, paint}SearchFieldResultsDecoration
2560         to avoid ambiguity with the iOS concept.
2561
2562         * platform/efl/RenderThemeEfl.cpp:
2563         * platform/efl/RenderThemeEfl.h:
2564         * platform/gtk/RenderThemeGtk.cpp:
2565         * platform/gtk/RenderThemeGtk.h:
2566         * rendering/RenderTheme.cpp:
2567         * rendering/RenderTheme.h:
2568         * rendering/RenderThemeMac.h:
2569         * rendering/RenderThemeMac.mm:
2570         * rendering/RenderThemeSafari.cpp:
2571         * rendering/RenderThemeSafari.h:
2572         * rendering/RenderThemeWin.cpp:
2573         * rendering/RenderThemeWin.h:
2574         * rendering/RenderThemeWinCE.cpp:
2575         * rendering/RenderThemeWinCE.h:
2576
2577 2013-12-06  Andreas Kling  <akling@apple.com>
2578
2579         Make remaining CSSValue constructors return PassRef.
2580         <https://webkit.org/b/125337>
2581
2582         Tweak the remaining CSSValue create() helpers to return PassRef
2583         instead of PassRefPtr in the cases where nullptr is never returned.
2584
2585         Reviewed by Anders Carlsson.
2586
2587 2013-12-06  Roger Fong  <roger_fong@apple.com>
2588
2589         Hook into some shader symbol logic following the ANGLE update in r159533.
2590         https://bugs.webkit.org/show_bug.cgi?id=125332.
2591
2592         Reviewed by Brent Fulgham.
2593
2594         No new functionality added.
2595
2596         * html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to 
2597             shader symbols that exist across both vertex and fragment shaders.
2598         (WebCore::WebGLRenderingContext::linkProgram):
2599         * platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings 
2600             and add new fields to the ANGLEShaderSymbol struct.
2601         (WebCore::getSymbolInfo):
2602         * platform/graphics/ANGLEWebKitBridge.h:
2603         * platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct 
2604             as well so that we can access them from our shader source map.
2605             Also add a map of varyings along side the uniforms and attributes.
2606         (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
2607         (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
2608         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2609         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
2610         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2611         (WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method 
2612             will use the shader source map to check for issues with unused varyings and precisions 
2613             mismatches of shader symbols that exist across both the vertex and fragment shaders.
2614
2615 2013-12-06  Lukasz Gajowy  <l.gajowy@samsung.com>
2616
2617         [ATK] Missing aria roles mappings
2618         https://bugs.webkit.org/show_bug.cgi?id=117729
2619
2620         Reviewed by Mario Sanchez Prada.
2621
2622         Added a few mappings from ARIA roles to ATK roles.
2623
2624         Test: accessibility/aria-mappings.html
2625
2626         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2627         (atkRole):
2628
2629 2013-11-11  Philippe Normand  <pnormand@igalia.com>
2630
2631         [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
2632         https://bugs.webkit.org/show_bug.cgi?id=123015
2633
2634         Reviewed by Martin Robinson.
2635
2636         When the source element starts emitting buffers send along various
2637         events to notify downstream elements.
2638
2639         No new tests, change covered by existing webaudio tests.
2640
2641         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2642         (webkit_web_audio_src_init): Initialize segment.
2643         (webKitWebAudioSrcConstructed): Give an explicit name to each
2644         queue added in front of the interleave element.
2645         (webKitWebAudioSrcLoop): Before sending the first buffers push
2646         stream-start, caps and segment events on each queue's sinkpad.
2647
2648 2013-12-05  Philippe Normand  <pnormand@igalia.com>
2649
2650         [GStreamer] Audio/Video sink management is incoherent
2651         https://bugs.webkit.org/show_bug.cgi?id=125304
2652
2653         Reviewed by Gustavo Noronha Silva.
2654
2655         Allow subclasses of MediaPlayerPrivateGStreamerBase to create
2656         custom audio/video sinks in a coherent manner using
2657         create{Audio,Video}Sink methods. Convenience getters are also
2658         available. Also removed some un-needed member variables in the
2659         playbin-based player.
2660
2661         No new tests, existing media tests cover this change.
2662
2663         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2664         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2665         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
2666         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
2667         (WebCore::MediaPlayerPrivateGStreamer::audioSink):
2668         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2669         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2670         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2671         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2672         (WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):
2673
2674 2013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2675
2676         Introduce IMAGE_TYPE_CASTS, and use it
2677         https://bugs.webkit.org/show_bug.cgi?id=125330
2678
2679         Reviewed by Ryosuke Niwa.
2680
2681         As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
2682         BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.
2683
2684         No new tests, no behavior changes.
2685
2686         * loader/cache/CachedImage.cpp:
2687         (WebCore::CachedImage::imageSizeForRenderer):
2688         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
2689         * platform/graphics/BitmapImage.h:
2690         * platform/graphics/Image.h:
2691         * platform/mac/DragImageMac.mm:
2692         (WebCore::createDragImageFromImage):
2693         * svg/graphics/SVGImage.h:
2694
2695 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
2696
2697         Clean up the forwarding headers of RenderBlock.h
2698         https://bugs.webkit.org/show_bug.cgi?id=125323
2699
2700         Reviewed by Ryosuke Niwa.
2701
2702         In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
2703
2704         No new tests, no behavior change.
2705
2706         * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
2707         * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
2708
2709 2013-12-04  Oliver Hunt  <oliver@apple.com>
2710
2711         Refactor static getter function prototype to include thisValue in addition to the base object
2712         https://bugs.webkit.org/show_bug.cgi?id=124461
2713
2714         Reviewed by Geoffrey Garen.
2715
2716         Change bindings codegen to produce static getter functions
2717         with the correct types.  Also update the many custom implementations
2718         to the new type.
2719
2720         No change in behaviour.
2721
2722         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2723         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
2724         (WebCore::cssPropertyGetterCallback):
2725         * bindings/js/JSDOMBinding.cpp:
2726         (WebCore::objectToStringFunctionGetter):
2727         * bindings/js/JSDOMBinding.h:
2728         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2729         (WebCore::JSDOMMimeTypeArray::nameGetter):
2730         * bindings/js/JSDOMPluginArrayCustom.cpp:
2731         (WebCore::JSDOMPluginArray::nameGetter):
2732         * bindings/js/JSDOMPluginCustom.cpp:
2733         (WebCore::JSDOMPlugin::nameGetter):
2734         * bindings/js/JSDOMStringMapCustom.cpp:
2735         (WebCore::JSDOMStringMap::nameGetter):
2736         * bindings/js/JSDOMWindowCustom.cpp:
2737         (WebCore::nonCachingStaticFunctionGetter):
2738         (WebCore::childFrameGetter):
2739         (WebCore::indexGetter):
2740         (WebCore::namedItemGetter):
2741         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2742         (WebCore::JSHTMLAllCollection::nameGetter):
2743         * bindings/js/JSHTMLCollectionCustom.cpp:
2744         (WebCore::JSHTMLCollection::nameGetter):
2745         * bindings/js/JSHTMLDocumentCustom.cpp:
2746         (WebCore::JSHTMLDocument::nameGetter):
2747         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2748         (WebCore::JSHTMLFormControlsCollection::nameGetter):
2749         * bindings/js/JSHTMLFormElementCustom.cpp:
2750         (WebCore::JSHTMLFormElement::nameGetter):
2751         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2752         (WebCore::JSHTMLFrameSetElement::nameGetter):
2753         * bindings/js/JSHistoryCustom.cpp:
2754         (WebCore::nonCachingStaticBackFunctionGetter):
2755         (WebCore::nonCachingStaticForwardFunctionGetter):
2756         (WebCore::nonCachingStaticGoFunctionGetter):
2757         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2758         (WebCore::JSJavaScriptCallFrame::scopeType):
2759         * bindings/js/JSLocationCustom.cpp:
2760         (WebCore::nonCachingStaticReplaceFunctionGetter):
2761         (WebCore::nonCachingStaticReloadFunctionGetter):
2762         (WebCore::nonCachingStaticAssignFunctionGetter):
2763         * bindings/js/JSNamedNodeMapCustom.cpp:
2764         (WebCore::JSNamedNodeMap::nameGetter):
2765         * bindings/js/JSNodeListCustom.cpp:
2766         (WebCore::JSNodeList::nameGetter):
2767         * bindings/js/JSPluginElementFunctions.cpp:
2768         (WebCore::pluginElementPropertyGetter):
2769         * bindings/js/JSPluginElementFunctions.h:
2770         * bindings/js/JSRTCStatsResponseCustom.cpp:
2771         (WebCore::JSRTCStatsResponse::nameGetter):
2772         * bindings/js/JSStorageCustom.cpp:
2773         (WebCore::JSStorage::nameGetter):
2774         * bindings/js/JSStyleSheetListCustom.cpp:
2775         (WebCore::JSStyleSheetList::nameGetter):
2776         * bindings/scripts/CodeGeneratorJS.pm:
2777         (GenerateHeader):
2778         (GenerateImplementation):
2779         (GenerateParametersCheck):
2780         * bridge/runtime_array.cpp:
2781         (JSC::RuntimeArray::lengthGetter):
2782         (JSC::RuntimeArray::indexGetter):
2783         * bridge/runtime_array.h:
2784         * bridge/runtime_method.cpp:
2785         (JSC::RuntimeMethod::lengthGetter):
2786         * bridge/runtime_method.h:
2787         * bridge/runtime_object.cpp:
2788         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
2789         (JSC::Bindings::RuntimeObject::fieldGetter):
2790         (JSC::Bindings::RuntimeObject::methodGetter):
2791         * bridge/runtime_object.h:
2792
2793 2013-12-05  Tim Horton  <timothy_horton@apple.com>
2794
2795         Remove Image::decodedSize()
2796         https://bugs.webkit.org/show_bug.cgi?id=125327
2797
2798         Reviewed by Sam Weinig.
2799
2800         No new tests, just removing dead code.
2801
2802         * platform/graphics/BitmapImage.cpp:
2803         (WebCore::BitmapImage::resetAnimation):
2804         * platform/graphics/BitmapImage.h:
2805         * platform/graphics/GeneratedImage.h:
2806         * platform/graphics/Image.h:
2807         * platform/graphics/cg/PDFDocumentImage.cpp:
2808         * platform/graphics/cg/PDFDocumentImage.h:
2809         * svg/graphics/SVGImage.h:
2810         * svg/graphics/SVGImageForContainer.h:
2811
2812 2013-12-05  Commit Queue  <commit-queue@webkit.org>
2813
2814         Unreviewed, rolling out r160133.
2815         http://trac.webkit.org/changeset/160133
2816         https://bugs.webkit.org/show_bug.cgi?id=125325
2817
2818         broke bindings tests on all the bots (Requested by thorton on
2819         #webkit).
2820
2821         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2822         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
2823         (WebCore::cssPropertyGetterCallback):
2824         * bindings/js/JSDOMBinding.cpp:
2825         (WebCore::objectToStringFunctionGetter):
2826         * bindings/js/JSDOMBinding.h:
2827         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2828         (WebCore::JSDOMMimeTypeArray::nameGetter):
2829         * bindings/js/JSDOMPluginArrayCustom.cpp:
2830         (WebCore::JSDOMPluginArray::nameGetter):
2831         * bindings/js/JSDOMPluginCustom.cpp:
2832         (WebCore::JSDOMPlugin::nameGetter):
2833         * bindings/js/JSDOMStringMapCustom.cpp:
2834         (WebCore::JSDOMStringMap::nameGetter):
2835         * bindings/js/JSDOMWindowCustom.cpp:
2836         (WebCore::nonCachingStaticFunctionGetter):
2837         (WebCore::childFrameGetter):
2838         (WebCore::indexGetter):
2839         (WebCore::namedItemGetter):
2840         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2841         (WebCore::JSHTMLAllCollection::nameGetter):
2842         * bindings/js/JSHTMLCollectionCustom.cpp:
2843         (WebCore::JSHTMLCollection::nameGetter):
2844         * bindings/js/JSHTMLDocumentCustom.cpp:
2845         (WebCore::JSHTMLDocument::nameGetter):
2846         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2847         (WebCore::JSHTMLFormControlsCollection::nameGetter):
2848         * bindings/js/JSHTMLFormElementCustom.cpp:
2849         (WebCore::JSHTMLFormElement::nameGetter):
2850         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2851         (WebCore::JSHTMLFrameSetElement::nameGetter):
2852         * bindings/js/JSHistoryCustom.cpp:
2853         (WebCore::nonCachingStaticBackFunctionGetter):
2854         (WebCore::nonCachingStaticForwardFunctionGetter):
2855         (WebCore::nonCachingStaticGoFunctionGetter):
2856         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2857         (WebCore::JSJavaScriptCallFrame::scopeType):
2858         * bindings/js/JSLocationCustom.cpp:
2859         (WebCore::nonCachingStaticReplaceFunctionGetter):
2860         (WebCore::nonCachingStaticReloadFunctionGetter):
2861         (WebCore::nonCachingStaticAssignFunctionGetter):
2862         * bindings/js/JSNamedNodeMapCustom.cpp:
2863         (WebCore::JSNamedNodeMap::nameGetter):
2864         * bindings/js/JSNodeListCustom.cpp:
2865         (WebCore::JSNodeList::nameGetter):
2866         * bindings/js/JSPluginElementFunctions.cpp:
2867         (WebCore::pluginElementPropertyGetter):
2868         * bindings/js/JSPluginElementFunctions.h:
2869         * bindings/js/JSRTCStatsResponseCustom.cpp:
2870         (WebCore::JSRTCStatsResponse::nameGetter):
2871         * bindings/js/JSStorageCustom.cpp:
2872         (WebCore::JSStorage::nameGetter):
2873         * bindings/js/JSStyleSheetListCustom.cpp:
2874         (WebCore::JSStyleSheetList::nameGetter):
2875         * bindings/scripts/CodeGeneratorJS.pm:
2876         (GenerateHeader):
2877         (GenerateImplementation):
2878         (GenerateParametersCheck):
2879         * bridge/runtime_array.cpp:
2880         (JSC::RuntimeArray::lengthGetter):
2881         (JSC::RuntimeArray::indexGetter):
2882         * bridge/runtime_array.h:
2883         * bridge/runtime_method.cpp:
2884         (JSC::RuntimeMethod::lengthGetter):
2885         * bridge/runtime_method.h:
2886         * bridge/runtime_object.cpp:
2887         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
2888         (JSC::Bindings::RuntimeObject::fieldGetter):
2889         (JSC::Bindings::RuntimeObject::methodGetter):
2890         * bridge/runtime_object.h:
2891
2892 2013-12-05  Seokju Kwon  <seokju@webkit.org>
2893
2894         Web Inspector: Remove 'cookiesString' output from Page.getCookies
2895         https://bugs.webkit.org/show_bug.cgi?id=125268
2896
2897         Reviewed by Timothy Hatcher.
2898
2899         Remove 'cookiesString' output from Page.getCookies protocol.
2900         It is no longer meaningful because it is an unused parameter.
2901
2902         No new tests, no behavior change.
2903
2904         * inspector/InspectorPageAgent.cpp:
2905         (WebCore::InspectorPageAgent::getCookies):
2906         * inspector/InspectorPageAgent.h:
2907         * inspector/protocol/Page.json:
2908
2909 2013-12-05  Brian J. Burg  <burg@cs.washington.edu>
2910
2911         Web Inspector: expose node and frame snapshot capabilities.
2912         https://bugs.webkit.org/show_bug.cgi?id=124326
2913
2914         Reviewed by Joseph Pecoraro.
2915
2916         This adds snapshotRect() and snapshotNode() to the Page domain.
2917         Both methods create snapshots using FrameSnapshotting APIs
2918         and send images to the inspector frontend as a data URL.
2919
2920         Remove the unimplemented Page.captureScreenshot API.
2921
2922         * inspector/InspectorPageAgent.cpp:
2923         (WebCore::InspectorPageAgent::snapshotNode): Added.
2924         (WebCore::InspectorPageAgent::snapshotRect): Added.
2925         * inspector/InspectorPageAgent.h:
2926         * inspector/protocol/Page.json: Added new protocol APIs.
2927
2928 2013-12-04 Bear Travis <betravis@adobe.com>
2929
2930     [CSS Shapes] Enable CSS Shapes on Windows
2931     https://bugs.webkit.org/show_bug.cgi?id=89957
2932
2933     Reviewed by Brent Fulgham.
2934
2935     * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
2936
2937 2013-12-05  Roger Fong  <roger_fong@apple.com>
2938
2939         [WebGL] Make sure we satisfy uniform and varying packing restrictions.
2940         https://bugs.webkit.org/show_bug.cgi?id=125124.
2941         <rdar://problem/15203291>
2942
2943         Reviewed by Brent Fulgham.
2944
2945         Tests covered by WebGL Khronos conformance tests:
2946         webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
2947         webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html
2948
2949         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2950         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
2951
2952 2013-12-05  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2953
2954         32bit buildfix after r160151
2955         https://bugs.webkit.org/show_bug.cgi?id=125298
2956
2957         Reviewed by Csaba Osztrogonác.
2958
2959         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2960         (StreamingClient::handleDataReceived):
2961
2962 2013-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
2963
2964         Cropping and drawing ImageBuffers results in uninitialized data being shown
2965         https://bugs.webkit.org/show_bug.cgi?id=125271
2966
2967         Reviewed by Simon Fraser.
2968
2969         createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
2970         backing store instead of the top left. In addition, ImageBuffer::draw()
2971         draws the entire ImageBuffer's backing store instead of just the relevant
2972         portion of it.
2973
2974         No new tests are necessary because the existing tests already test this
2975         functionality
2976
2977         * platform/graphics/cg/ImageBufferCG.cpp:
2978         (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
2979         backing store 
2980         (WebCore::ImageBuffer::draw): Draw only the logical portion of the
2981         backing store 
2982
2983 2013-12-05  Joseph Pecoraro  <pecoraro@apple.com>
2984
2985         Remove stale ScriptGlobalObject methods
2986         https://bugs.webkit.org/show_bug.cgi?id=125276
2987
2988         Reviewed by Sam Weinig.
2989
2990         * bindings/js/ScriptObject.cpp:
2991         (WebCore::ScriptGlobalObject::set):
2992         * bindings/js/ScriptObject.h:
2993
2994 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
2995
2996         Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
2997         https://bugs.webkit.org/show_bug.cgi?id=125279
2998
2999         Reviewed by Antti Koivisto.
3000
3001         Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
3002
3003         Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
3004
3005         * html/parser/HTMLConstructionSite.cpp:
3006         (WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
3007         element or its ancestor is a template element.
3008         (WebCore::HTMLConstructionSite::insideTemplateElement): Added.
3009         (WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
3010         insideTemplateElement to reflect the true semantics of the boolean.
3011
3012         * html/parser/HTMLConstructionSite.h:
3013
3014         * html/parser/HTMLTreeBuilder.cpp:
3015         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
3016         is a template element on the stack of open elements. This faithfully reflects what's being said in the
3017         specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
3018         and then wrap from() in some helper function but that should probbaly happen in a separate patch.
3019         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
3020         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
3021         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
3022         when there is a template element on the stack of open elements.
3023
3024         * html/parser/HTMLTreeBuilder.h:
3025         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
3026         TEMPLATE_ELEMENT is disabled.
3027         (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.
3028
3029 2013-12-05  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3030
3031         [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
3032         https://bugs.webkit.org/show_bug.cgi?id=125243
3033
3034         Reviewed by Eric Carlson.
3035
3036         Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
3037         added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
3038         "negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".
3039
3040         Existing tests updated.
3041
3042         * Modules/mediastream/MediaStream.cpp:
3043         (WebCore::MediaStream::addTrack):
3044         (WebCore::MediaStream::removeTrack):
3045         (WebCore::MediaStream::addObserver):
3046         (WebCore::MediaStream::removeObserver):
3047         * Modules/mediastream/MediaStream.h:
3048         * Modules/mediastream/RTCPeerConnection.cpp:
3049         (WebCore::RTCPeerConnection::~RTCPeerConnection):
3050         (WebCore::RTCPeerConnection::addStream):
3051         (WebCore::RTCPeerConnection::removeStream):
3052         (WebCore::RTCPeerConnection::didAddOrRemoveTrack):
3053         * Modules/mediastream/RTCPeerConnection.h:
3054         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3055         (WebCore::RTCPeerConnectionHandlerMock::addStream):
3056
3057 2013-12-05  Beth Dakin  <bdakin@apple.com>
3058
3059         Bad repaints on twitter when the tile cache has a margin
3060         https://bugs.webkit.org/show_bug.cgi?id=125263
3061         -and corresponding-
3062         <rdar://problem/15576884>
3063
3064         Reviewed by Tim Horton.
3065
3066         When tiles that used to be margin tiles become real-content tiles, they need to be 
3067         invalidated.
3068
3069         Two new helper functions will make it so that we don’t have to manually factor out 
3070         the margin from the bounds in more than one place in the code.
3071         * platform/graphics/ca/mac/TileController.h:
3072         * platform/graphics/ca/mac/TileController.mm:
3073         (WebCore::TileController::boundsWithoutMargin):
3074         (WebCore::TileController::boundsAtLastRevalidateWithoutMargin):
3075
3076          Here is one existing place where we used to factor out the margin, but now we can 
3077         call boundsWithoutMargin().
3078         (WebCore::TileController::adjustRectAtTileIndexForMargin):
3079
3080         And here is where we invalidate the formerly-margin tiles.
3081         (WebCore::TileController::revalidateTiles):
3082
3083 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
3084
3085         Remove the forward declaration of BidiContext class from RenderBlock.h
3086         https://bugs.webkit.org/show_bug.cgi?id=125265
3087
3088         Reviewed by Csaba Osztrogonác.
3089
3090         No new tests, no behavior change.
3091
3092         * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
3093
3094 2013-12-05  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
3095
3096         [Cairo] Avoid extra copy when drawing images
3097         https://bugs.webkit.org/show_bug.cgi?id=124209
3098
3099         Reviewed by Carlos Garcia Campos.
3100
3101         This commit applies some changes proposed after the original patch has
3102         been landed. It fixes the logic to create the subsurface (as it was
3103         inverted). It also remove an unnecessary RefPtr variable to hold the
3104         subsurface.
3105
3106         No new tests. It's an enhancement. Already covered by existing tests.
3107
3108         * platform/graphics/cairo/PlatformContextCairo.cpp:
3109         (WebCore::PlatformContextCairo::drawSurfaceToContext):
3110
3111 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
3112
3113         [CSS Shapes] Fix inset when only a subset of the arguments are defined
3114         https://bugs.webkit.org/show_bug.cgi?id=125277
3115
3116         Reviewed by David Hyatt.
3117
3118        I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
3119        of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.
3120
3121         No new tests, I updated the old ones.
3122
3123         * css/BasicShapeFunctions.cpp:
3124         (WebCore::basicShapeForValue):
3125
3126 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3127
3128         [GTK] Do not use deprecated gtk-doc 'Rename to' tag
3129         https://bugs.webkit.org/show_bug.cgi?id=125303
3130
3131         Reviewed by Philippe Normand.
3132
3133         GObject introspection rename-to annotation is available in
3134         since version 0.6.3 so we should use that instead.
3135
3136         * bindings/gobject/WebKitDOMEventTarget.h:
3137
3138 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3139
3140         [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
3141         https://bugs.webkit.org/show_bug.cgi?id=125300
3142
3143         Reviewed by Philippe Normand.
3144
3145         Add webkit_dom_html_element_get_id and
3146         webkit_dom_html_element_set_id to the symbols files.
3147
3148         * bindings/gobject/WebKitDOMDeprecated.symbols:
3149         * bindings/gobject/webkitdom.symbols:
3150
3151 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3152
3153         Unreviewed. Update GObject DOM bindings symbols file after r159711.
3154
3155         * bindings/gobject/webkitdom.symbols:
3156
3157 2013-12-05  Zan Dobersek  <zdobersek@igalia.com>
3158
3159         [GTK] Move platform sources free of layering violations under libPlatform
3160         https://bugs.webkit.org/show_bug.cgi?id=117509
3161
3162         Reviewed by Carlos Garcia Campos.
3163
3164         * GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
3165         All moved sources are free of layering violations and thus ready for the migration.
3166
3167 2013-12-05  László Langó  <lango@inf.u-szeged.hu>
3168
3169         Remove bridge/testqtbindings.cpp.
3170         https://bugs.webkit.org/show_bug.cgi?id=125287
3171
3172         Reviewed by Alexey Proskuryakov.
3173
3174         * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
3175         We don't need this file.
3176
3177 2013-12-04  Gurpreet Kaur  <k.gurpreet@samsung.com>
3178
3179         % unit heights don't work if parent block height is set in vh
3180         https://bugs.webkit.org/show_bug.cgi?id=118516
3181
3182         Reviewed by Simon Fraser.
3183
3184         From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
3185
3186         An element having height as percentage needs to have the
3187         containingblock's height or availableheight to calculate its
3188         own height. The containing block having a height set in vh
3189         unit was not being considered for calculating the child's
3190         height.
3191
3192         Tests: fast/css/viewport-percentage-compute-box-height.html
3193                fast/css/viewport-percentage-compute-box-width.html
3194
3195         * rendering/RenderBox.cpp:
3196         (WebCore::RenderBox::computePercentageLogicalHeight):
3197         Correct child's height(in pecentage) was not being calculated
3198         incase of parent having height set in vh unit. Added condition
3199         to calculate the containing block height in terms of viewport size.
3200
3201 2013-12-04  Roger Fong  <roger_fong@apple.com>
3202
3203         [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
3204
3205         * WebCore.vcxproj/copyForwardingHeaders.cmd:
3206
3207 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
3208
3209         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
3210         https://bugs.webkit.org/show_bug.cgi?id=125208
3211
3212         Rubber-stamped by Anders Carlsson.
3213
3214         Address Darin's comment to use fastGetAttribute instead of getAttribute.
3215
3216         * html/HTMLDocument.cpp:
3217         (WebCore::HTMLDocument::bgColor):
3218         (WebCore::HTMLDocument::fgColor):
3219         (WebCore::HTMLDocument::alinkColor):
3220         (WebCore::HTMLDocument::linkColor):
3221         (WebCore::HTMLDocument::vlinkColor):
3222
3223 2013-12-04  Brian J. Burg  <burg@cs.washington.edu>
3224
3225         Consolidate various frame snapshot capabilities.
3226         https://bugs.webkit.org/show_bug.cgi?id=124325
3227
3228         Reviewed by Darin Adler.
3229
3230         Various snapshot creation methods had duplicated code and were split
3231         between Frame, DragImage, and platform-specific implementationss.
3232         This patch puts WebCore snapshot methods into FrameSnapshotting
3233         and removes platform implementations where possible.
3234
3235         DragImage methods reuse snapshot methods where possible. Inspector
3236         will be able to take snapshots without using drag images.
3237
3238         No new tests, this is a refactoring.
3239
3240         * CMakeLists.txt:
3241         * GNUmakefile.list.am:
3242         * WebCore.exp.in:
3243         * WebCore.vcxproj/WebCore.vcxproj:
3244         * WebCore.vcxproj/WebCore.vcxproj.filters:
3245         * WebCore.xcodeproj/project.pbxproj:
3246         * bindings/objc/DOM.mm:
3247         (-[DOMNode renderedImage]):
3248         (-[DOMRange renderedImageForcingBlackText:]):
3249         * dom/Clipboard.cpp:
3250         (WebCore::Clipboard::createDragImage):
3251         * dom/ClipboardMac.mm:
3252         (WebCore::Clipboard::createDragImage):
3253         * page/DragController.cpp:
3254         (WebCore::DragController::startDrag):
3255         * page/Frame.cpp:
3256         * page/Frame.h:
3257         * page/FrameSnapshotting.cpp: Added.
3258         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
3259         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
3260         (WebCore::snapshotFrameRect): Move most buffer logic to here.
3261         (WebCore::snapshotSelection): Moved from Frame.
3262         (WebCore::snapshotNode): Moved from Frame.
3263         * page/FrameSnapshotting.h: Added.
3264         * page/mac/FrameMac.mm: Removed.
3265         * page/mac/FrameSnapshottingMac.h: Removed.
3266         * page/mac/FrameSnapshottingMac.mm: Removed.
3267         * page/win/FrameWin.cpp: remove duplicate implementation.
3268         * page/win/FrameWin.h: Fix an incorrect parameter name.
3269         * platform/DragImage.cpp:
3270         (WebCore::ScopedNodeDragState::ScopedNodeDragState):
3271         (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
3272         (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
3273         (WebCore::createDragImageForNode):
3274         (WebCore::createDragImageForSelection):
3275         (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
3276         (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
3277         (WebCore::createDragImageForRange): Moved from Frame.
3278         (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
3279         (WebCore::createDragImageForLink): use nullptr.
3280
3281 2013-12-04  Benjamin Poulain  <bpoulain@apple.com>
3282
3283         Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
3284
3285         Unreviewed.
3286
3287         * platform/network/cf/ResourceHandleCFNet.cpp:
3288         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3289
3290 2013-12-04  Antti Koivisto  <antti@apple.com>
3291
3292         Move pseudo element construction out from Element
3293         https://bugs.webkit.org/show_bug.cgi?id=125257
3294
3295         Reviewed by Anders Carlsson.
3296
3297         This is logically part of the style resolve/render tree construction. This will make future
3298         refactoring easier.
3299
3300         * dom/Element.cpp:
3301         * dom/Element.h:
3302         * style/StyleResolveTree.cpp:
3303         (WebCore::Style::beforeOrAfterPseudoElement):
3304         (WebCore::Style::setBeforeOrAfterPseudoElement):
3305         (WebCore::Style::clearBeforeOrAfterPseudoElement):
3306         (WebCore::Style::needsPseudeElement):
3307         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
3308         (WebCore::Style::attachRenderTree):
3309         (WebCore::Style::updateBeforeOrAfterPseudoElement):
3310         (WebCore::Style::resolveTree):
3311
3312 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
3313
3314         Move TrailingObjects class into its own h/cpp
3315         https://bugs.webkit.org/show_bug.cgi?id=124956
3316
3317         Reviewed by David Hyatt.
3318
3319         Since I moved space-ignoring inline functions into MidpointState in r160074,
3320         I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
3321         This change improves the readability, and it's part of the RenderBlockLineLayout
3322         refactoring campaign, which is tracked under bug #121261.
3323
3324         No new tests, no behavior change.
3325
3326         * CMakeLists.txt:
3327         * GNUmakefile.list.am:
3328         * WebCore.vcxproj/WebCore.vcxproj:
3329         * WebCore.xcodeproj/project.pbxproj:
3330         * rendering/RenderBlock.h:
3331         * rendering/RenderBlockFlow.h:
3332         * rendering/line/BreakingContextInlineHeaders.h:
3333         * rendering/line/TrailingObjects.cpp: Added.
3334         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
3335         * rendering/line/TrailingObjects.h: Added.
3336         (WebCore::TrailingObjects::TrailingObjects):
3337         (WebCore::TrailingObjects::setTrailingWhitespace):
3338         (WebCore::TrailingObjects::clear):
3339         (WebCore::TrailingObjects::appendBoxIfNeeded):
3340
3341 2013-12-04  Oliver Hunt  <oliver@apple.com>
3342
3343         Refactor static getter function prototype to include thisValue in addition to the base object
3344         https://bugs.webkit.org/show_bug.cgi?id=124461
3345
3346         Reviewed by Geoffrey Garen.
3347
3348         Change bindings codegen to produce static getter functions
3349         with the correct types.  Also update the many custom implementations
3350         to the new type.
3351
3352         No change in behaviour.
3353
3354         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3355         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
3356         (WebCore::cssPropertyGetterCallback):
3357         * bindings/js/JSDOMBinding.cpp:
3358         (WebCore::objectToStringFunctionGetter):
3359         * bindings/js/JSDOMBinding.h:
3360         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
3361         (WebCore::JSDOMMimeTypeArray::nameGetter):
3362         * bindings/js/JSDOMPluginArrayCustom.cpp:
3363         (WebCore::JSDOMPluginArray::nameGetter):
3364         * bindings/js/JSDOMPluginCustom.cpp:
3365         (WebCore::JSDOMPlugin::nameGetter):
3366         * bindings/js/JSDOMStringMapCustom.cpp:
3367         (WebCore::JSDOMStringMap::nameGetter):
3368         * bindings/js/JSDOMWindowCustom.cpp:
3369         (WebCore::nonCachingStaticFunctionGetter):
3370         (WebCore::childFrameGetter):
3371         (WebCore::indexGetter):
3372         (WebCore::namedItemGetter):
3373         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3374         (WebCore::JSHTMLAllCollection::nameGetter):
3375         * bindings/js/JSHTMLCollectionCustom.cpp:
3376         (WebCore::JSHTMLCollection::nameGetter):
3377         * bindings/js/JSHTMLDocumentCustom.cpp:
3378         (WebCore::JSHTMLDocument::nameGetter):
3379         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
3380         (WebCore::JSHTMLFormControlsCollection::nameGetter):
3381         * bindings/js/JSHTMLFormElementCustom.cpp:
3382         (WebCore::JSHTMLFormElement::nameGetter):
3383         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3384         (WebCore::JSHTMLFrameSetElement::nameGetter):
3385         * bindings/js/JSHistoryCustom.cpp:
3386         (WebCore::nonCachingStaticBackFunctionGetter):
3387         (WebCore::nonCachingStaticForwardFunctionGetter):
3388         (WebCore::nonCachingStaticGoFunctionGetter):
3389         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3390         (WebCore::JSJavaScriptCallFrame::scopeType):
3391         * bindings/js/JSLocationCustom.cpp:
3392         (WebCore::nonCachingStaticReplaceFunctionGetter):
3393         (WebCore::nonCachingStaticReloadFunctionGetter):
3394         (WebCore::nonCachingStaticAssignFunctionGetter):
3395         * bindings/js/JSNamedNodeMapCustom.cpp:
3396         (WebCore::JSNamedNodeMap::nameGetter):
3397         * bindings/js/JSNodeListCustom.cpp:
3398         (WebCore::JSNodeList::nameGetter):
3399         * bindings/js/JSPluginElementFunctions.cpp:
3400         (WebCore::pluginElementPropertyGetter):
3401         * bindings/js/JSPluginElementFunctions.h:
3402         * bindings/js/JSRTCStatsResponseCustom.cpp:
3403         (WebCore::JSRTCStatsResponse::nameGetter):
3404         * bindings/js/JSStorageCustom.cpp:
3405         (WebCore::JSStorage::nameGetter):
3406         * bindings/js/JSStyleSheetListCustom.cpp:
3407         (WebCore::JSStyleSheetList::nameGetter):