1 2013-12-18 Andreas Kling <akling@apple.com>
3 Use range for syntax in Frame and FrameView.
4 <https://webkit.org/b/125922>
6 Convert code in Frame and FrameView to use C++11's range for syntax.
8 Reviewed by Antti Koivisto.
10 2013-12-18 Andreas Kling <akling@apple.com>
12 RenderElement-ize adjustForAbsoluteZoom() and friends.
13 <https://webkit.org/b/125921>
15 Make adjustForAbsoluteZoom() take a const RenderElement& instead
16 of a RenderObject* so we can avoid the extra branch in style().
17 All call sites already had RenderElements.
19 Reviewed by Antti Koivisto.
21 2013-12-18 Chris Fleizach <cfleizach@apple.com>
23 AX: HTML spec change indicates @aria-required should trump @required on any element
24 https://bugs.webkit.org/show_bug.cgi?id=122145
26 Reviewed by Mario Sanchez Prada.
28 aria-required should win over the native "required" attribute.
30 Updated tests: accessibility/aria-required.html
32 * accessibility/AccessibilityNodeObject.cpp:
33 (WebCore::AccessibilityNodeObject::isRequired):
35 2013-12-18 Carlos Garcia Campos <cgarcia@igalia.com>
37 Unreviewed. Fix make distcheck.
40 * GNUmakefile.list.am:
42 2013-12-18 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
44 [soup] Fix unused parameter warnings in ResourceHandleSoup.
45 https://bugs.webkit.org/show_bug.cgi?id=125918
47 Reviewed by Martin Robinson.
49 Comment out the method parameters to avoid the warnings.
53 * platform/network/soup/ResourceHandleSoup.cpp:
54 (WebCore::WebCoreSynchronousLoader::didReceiveData):
56 2013-12-17 Jer Noble <jer.noble@apple.com>
58 [MSE] Periodically monitor source buffers.
59 https://bugs.webkit.org/show_bug.cgi?id=125898
61 Reviewed by Eric Carlson.
63 Test: media/media-source/media-source-monitor-source-buffers.html
65 The MSE spec requires that the SourceBuffer Monitoring step is run
66 periodically during playback. No specific update interval is specified
67 so we will re-use the existing HTMLMediaElement playback progress
68 timer to signal the media source monitoring.
70 * html/HTMLMediaElement.cpp:
71 (HTMLMediaElement::playbackProgressTimerFired):
73 2013-12-17 Jer Noble <jer.noble@apple.com>
75 [MSE] Add per-track signalling between SourceBuffer and SourceBufferPrivate.
76 https://bugs.webkit.org/show_bug.cgi?id=125899
78 Reviewed by Eric Carlson.
80 To accommodate the future addition of audio support to MSE in the Mac
81 port, add the concept of trackIDs to the communication between
82 SourceBuffer and SourceBufferPrivate.
84 The following virtual methods now take a trackID parameter:
85 * platform/graphics/SourceBufferPrivate.h:
86 (WebCore::SourceBufferPrivate::isReadyForMoreSamples):
87 (WebCore::SourceBufferPrivate::stopAskingForMoreSamples):
88 (WebCore::SourceBufferPrivate::notifyClientWhenReadyForMoreSamples):
89 * platform/graphics/SourceBufferPrivateClient.h:
90 (WebCore::SourceBufferPrivateClient::sourceBufferPrivateDidBecomeReadyForMoreSamples):
92 Update overridden methods in subclasses:
93 * Modules/mediasource/SourceBuffer.cpp:
94 (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
95 * Modules/mediasource/SourceBuffer.h:
96 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
97 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
98 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
99 (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
100 * platform/mock/mediasource/MockSourceBufferPrivate.h:
102 Change the logic in provideMediaData to update a single TrackBuffer
103 rather than iterating over all of them:
104 * Modules/mediasource/SourceBuffer.cpp:
105 (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
106 (WebCore::SourceBuffer::appendBufferTimerFired):
107 (WebCore::SourceBuffer::provideMediaData):
109 2013-12-17 Joseph Pecoraro <pecoraro@apple.com>
111 Web Inspector: Remove InspectorAgent::hasFrontend
112 https://bugs.webkit.org/show_bug.cgi?id=125907
114 Reviewed by Timothy Hatcher.
116 Remove InspectorAgent::hasFrontend only used by
117 InspectorInstrumentation::collectingHTMLParseErrors. However,
118 following the single callers of that, the result is unused
119 in the HTMLDocumentParser and HTMLTreeBuilder. So remove
120 more stale / unused code.
122 * html/FTPDirectoryDocument.cpp:
123 (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
124 * html/HTMLDocument.cpp:
125 (WebCore::HTMLDocument::createParser):
126 * html/parser/HTMLDocumentParser.cpp:
127 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
128 * html/parser/HTMLDocumentParser.h:
129 (WebCore::HTMLDocumentParser::create):
130 * html/parser/HTMLTreeBuilder.cpp:
131 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
132 * html/parser/HTMLTreeBuilder.h:
133 (WebCore::HTMLTreeBuilder::create):
134 * html/parser/TextDocumentParser.cpp:
135 (WebCore::TextDocumentParser::TextDocumentParser):
136 * inspector/DOMPatchSupport.cpp:
137 (WebCore::DOMPatchSupport::patchDocument):
138 * inspector/InspectorAgent.h:
139 * inspector/InspectorInstrumentation.cpp:
140 * inspector/InspectorInstrumentation.h:
142 2013-12-17 Joseph Pecoraro <pecoraro@apple.com>
144 Web Inspector: Some basic InjectedScriptHost cleanup
145 https://bugs.webkit.org/show_bug.cgi?id=125902
147 Reviewed by Timothy Hatcher.
149 Remove InjectedScriptHost::scriptDebugServer. Nobody accesses
150 the ScriptDebugServer through the injected script host. This
151 also lets us remove the reference to the DebuggerAgent.
153 * inspector/InjectedScriptHost.cpp:
154 * inspector/InjectedScriptHost.h:
155 (WebCore::InjectedScriptHost::init):
156 * inspector/InspectorController.cpp:
157 (WebCore::InspectorController::InspectorController):
158 * inspector/WorkerInspectorController.cpp:
159 (WebCore::WorkerInspectorController::WorkerInspectorController):
161 2013-12-17 Joseph Pecoraro <pecoraro@apple.com>
163 Web Inspector: Remove InspectorFrontendHost.setInjectedScriptForOrigin
164 https://bugs.webkit.org/show_bug.cgi?id=125906
166 Reviewed by Timothy Hatcher.
168 Remove stale code related to a since removed feature,
169 Inspector extensions. This allows us to remove a number
170 of entry points into InspectorAgent.
172 * inspector/InspectorAgent.cpp:
173 (WebCore::InspectorAgent::InspectorAgent):
174 (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
175 * inspector/InspectorAgent.h:
176 (WebCore::InspectorAgent::create):
177 Remove setInjectedScriptForOrigin and InjectedScript management.
179 * inspector/InspectorController.cpp:
180 (WebCore::InspectorController::InspectorController):
181 * inspector/InspectorController.h:
182 * inspector/InspectorFrontendHost.cpp:
183 * inspector/InspectorFrontendHost.h:
184 * inspector/InspectorFrontendHost.idl:
185 Remove the API and calling through InspectorController.
187 * inspector/InspectorInstrumentation.cpp:
188 (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
189 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
190 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
191 Remove now unnecessary calls into InspectorAgent.
193 2013-12-17 Jer Noble <jer.noble@apple.com>
195 Fix TimeRanges::intersectWith
196 https://bugs.webkit.org/show_bug.cgi?id=118802
198 Test: TestWebKitAPI/Tests/WebCore/TimeRanges.cpp.
200 Reviewed by Eric Carlson.
203 * WebCore.xcodeproj/project.pbxproj:
204 * html/TimeRanges.cpp:
205 (TimeRanges::invert):
206 (TimeRanges::intersectWith):
209 https://chromium.googlesource.com/chromium/blink/+/f557582b6c6283a8b165514f52d01cfd98130e85
211 2013-12-17 Eric Carlson <eric.carlson@apple.com>
213 ASSERT setting pseudoID with registered DOMSubtreeModified listener
214 https://bugs.webkit.org/show_bug.cgi?id=125900
216 Reviewed by Ryosuke Niwa.
218 Test: fast/dom/attribute-set-before-element-in-tree.html
221 (WebCore::Node::dispatchSubtreeModifiedEvent): Return early if the node does not have a
222 parent and does not have a DOMSubtreeModified listener.
224 2013-12-17 Ryosuke Niwa <rniwa@webkit.org>
226 Remove dead code for reflected attributes from audio, video, and track elements
227 https://bugs.webkit.org/show_bug.cgi?id=125838
229 Reviewed by Eric Carlson.
231 Merge https://chromium.googlesource.com/chromium/blink/+/310514e2f0fd934975b841d463bad0cd62e6fd64
233 Where [Reflect] is used in the IDL, the getters and setters in C++ are
234 only for internal convenience, and these were unused.
236 * html/HTMLMediaElement.cpp:
237 * html/HTMLMediaElement.h:
238 * html/HTMLTrackElement.cpp:
239 * html/HTMLTrackElement.h:
240 * html/HTMLVideoElement.cpp:
241 * html/HTMLVideoElement.h:
243 2013-12-17 Simon Fraser <simon.fraser@apple.com>
245 Rename "canRubberBands" to "canRubberBand"
246 https://bugs.webkit.org/show_bug.cgi?id=125897
248 Reviewed by Anders Carlsson.
250 Rename "canRubberBands" to "canRubberBand" in various places.
252 * page/scrolling/ScrollingTree.cpp:
253 (WebCore::ScrollingTree::setCanRubberBandState):
254 * page/scrolling/ScrollingTree.h:
256 2013-12-17 Jer Noble <jer.noble@apple.com>
258 [MSE] Update duration after appending samples, per spec.
259 https://bugs.webkit.org/show_bug.cgi?id=125703
261 Reviewed by Eric Carlson.
263 Test: media/media-source/media-source-duration-after-append.html
265 After appending a sample, update the MediaSource duration if the sample's
266 presentation end time is greater than the existing duration.
268 * Modules/mediasource/SourceBuffer.cpp:
269 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
270 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
271 * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
272 (WebCore::MediaSourcePrivateAVFObjC::setDuration): Notify the MediaPlayer.
274 2013-12-17 Jer Noble <jer.noble@apple.com>
276 [MSE][Mac] Null-deref in CMSampleBufferIsRandomAccess().
277 https://bugs.webkit.org/show_bug.cgi?id=125698
279 Reviewed by Sam Weinig.
281 If a given CMSampleBufferRef does not have a sample attachments array (which is unlikely, but
282 possible), CMSampleBufferGetAttachmentsArray() will return a null value.
284 Additionally, the CMSampleBuffer documentation states that "samples are assumed to be sync
285 samples by default", so the absence of an attachment array (or the absense of a
286 kCMSampleAttachmentKey_NotSync entry in any of the attachment dictionaries) indicates the
289 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
290 (WebCore::CMSampleBufferIsRandomAccess):
292 2013-12-17 Ryosuke Niwa <rniwa@webkit.org>
294 Video element's width and height content attributes should not influence intrinsic width and height
295 https://bugs.webkit.org/show_bug.cgi?id=125822
297 Reviewed by Darin Adler.
299 Merge https://chromium.googlesource.com/chromium/blink/+/022ce34efb5b70cb964c3ca29f23c8980ffaef05
301 The width/height content attributes already influence specified style via
302 HTMLVideoElement::collectStyleForPresentationAttribute, to also influence the intrinsic size has never
303 been part of the spec: http://www.w3.org/TR/2013/WD-html51-20130528/embedded-content-0.html#dom-dim-width
305 The test case passes in Firefox Nightly and IE11 Release Preview, but fails in Opera Presto, which has
306 no default intrinsic size.
308 Test: media/video-intrinsic-width-height.html
310 * rendering/RenderVideo.cpp:
311 (WebCore::RenderVideo::calculateIntrinsicSize):
313 2013-12-16 Daniel Bates <dabates@apple.com>
315 [iOS] Upstream WebCore/html changes
316 https://bugs.webkit.org/show_bug.cgi?id=125765
318 Reviewed by Darin Adler.
320 * WebCore.xcodeproj/project.pbxproj:
321 * html/Autocapitalize.cpp: Added.
322 * html/Autocapitalize.h: Added. Also, added FIXME comment to forward declare AtomicString once we upstream
323 more of the iOS port.
324 * html/BaseChooserOnlyDateAndTimeInputType.cpp:
325 (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent): Opt out of code when building for iOS.
326 * html/BaseDateAndTimeInputType.cpp:
327 (WebCore::BaseDateAndTimeInputType::isKeyboardFocusable): Added; iOS-specific.
328 * html/BaseDateAndTimeInputType.h:
329 * html/FileInputType.cpp:
330 (WebCore::FileInputType::FileInputType): Added iOS-specific code.
331 (WebCore::FileInputType::~FileInputType): Opt out of code when building for iOS. Also, added FIXME comment.
332 (WebCore::FileInputType::requestIcon): Ditto.
333 (WebCore::FileInputType::filesChosen): Added; iOS-specific.
334 (WebCore::FileInputType::displayString): Added; iOS-specific.
335 (WebCore::FileInputType::receiveDroppedFiles): Guarded code with ENABLE(DRAG_SUPPORT).
336 * html/FileInputType.h:
337 * html/FormController.cpp:
338 (WebCore::FormController::formElementsCharacterCount): Added.
339 * html/FormController.h:
340 * html/HTMLAppletElement.cpp:
341 (WebCore::HTMLAppletElement::updateWidget): Opt out of code when building for iOS.
342 * html/HTMLAreaElement.cpp:
343 (WebCore::HTMLAreaElement::computePath): Changed argument datatype from RenderElement* to RenderObject*.
344 Also, added FIXME comment to fix this up once we upstream iOS's DOMUIKitExtensions.{h, mm}.
345 (WebCore::HTMLAreaElement::computeRect): Ditto.
346 * html/HTMLAreaElement.h:
347 * html/HTMLAttributeNames.in: Added attributes ongesture{start, change, end}, autocorrect, autocapitalize,
348 data-youtube-id, onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, webkit-playsinline,
349 x-webkit-airplay, and x-webkit-wirelessvideoplaybackdisabled.
350 * html/HTMLBodyElement.cpp:
351 (WebCore::HTMLBodyElement::scrollLeft): Added iOS-specific code.
352 (WebCore::HTMLBodyElement::scrollTop): Ditto.
353 * html/HTMLCanvasElement.cpp:
354 (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added iOS-specific code and FIXME comment.
355 (WebCore::HTMLCanvasElement::createImageBuffer): Added iOS-specific code.
356 * html/HTMLCanvasElement.h: Added iOS-specific code and FIXME comment.
357 * html/HTMLDocument.cpp:
358 (WebCore::HTMLDocument::HTMLDocument): Added argument isSynthesized (default to false), which is
359 passed through to Document::Document(), to create a synthesized document.
360 * html/HTMLDocument.h:
361 (WebCore::HTMLDocument::createSynthesizedDocument): Added.
362 * html/HTMLElement.cpp:
363 (WebCore::HTMLElement::collectStyleForPresentationAttribute): Added iOS-specific code.
364 (WebCore::populateEventNameForAttributeLocalNameMap): Ditto.
365 (WebCore::HTMLElement::willRespondToMouseMoveEvents): Added; iOS-specific.
366 (WebCore::HTMLElement::willRespondToMouseWheelEvents): Added; iOS-specific.
367 (WebCore::HTMLElement::willRespondToMouseClickEvents): Added; iOS-specific.
368 * html/HTMLElement.h:
369 * html/HTMLFormControlElement.cpp: Added FIXME comment to share more code with class HTMLFormElement.
370 (WebCore::HTMLFormControlElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
371 (WebCore::HTMLFormControlElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
372 (WebCore::HTMLFormControlElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
373 (WebCore::HTMLFormControlElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
374 (WebCore::HTMLFormControlElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
375 * html/HTMLFormControlElement.h:
376 * html/HTMLFormElement.cpp: Added FIXME comment to share more code with class HTMLFormControlElement.
377 (WebCore::HTMLFormElement::submitImplicitly): Modified to code to allow implicit submission of multi-input
378 forms only if Settings::allowMultiElementImplicitSubmission() returns true. Such behavior is expected by older
379 iOS apps. Also, changed datatype of variable submissionTriggerCount from int to unsigned because it represents
380 a non-negative value.
381 (WebCore::HTMLFormElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
382 (WebCore::HTMLFormElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
383 (WebCore::HTMLFormElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
384 (WebCore::HTMLFormElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
385 (WebCore::HTMLFormElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
386 * html/HTMLFormElement.h:
387 * html/HTMLFormElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
388 * html/HTMLIFrameElement.h:
389 * html/HTMLInputElement.cpp:
390 (WebCore::HTMLInputElement::displayString): Added; guarded by PLATFORM(IOS).
391 (WebCore::HTMLInputElement::dateType): Added; guarded by PLATFORM(IOS).
392 * html/HTMLInputElement.h:
393 * html/HTMLInputElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
394 * html/HTMLLabelElement.cpp:
395 (WebCore::HTMLLabelElement::willRespondToMouseClickEvents): Added iOS-specific code.
396 * html/HTMLMediaElement.cpp:
397 (WebCore::HTMLMediaElement::HTMLMediaElement): Added iOS-specific code and FIXME comment.
398 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added iOS-specific code.
399 (WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Added; iOS-specific.
400 (WebCore::HTMLMediaElement::parseAttribute): Added iOS-specific code.
401 (WebCore::HTMLMediaElement::insertedInto): Ditto.
402 (WebCore::HTMLMediaElement::load): Ditto.
403 (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
404 (WebCore::HTMLMediaElement::autoplay): Ditto.
405 (WebCore::HTMLMediaElement::play): Ditto.
406 (WebCore::HTMLMediaElement::playInternal): Ditto.
407 (WebCore::HTMLMediaElement::pauseInternal): Ditto.
408 (WebCore::HTMLMediaElement::setVolumne): Opt out of code when building for iOS.
409 (WebCore::HTMLMediaElement::setMuted): Ditto.
410 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Added iOS-specific code.
411 (WebCore::HTMLMediaElement::updateVolume): Ditto.
412 (WebCore::HTMLMediaElement::updatePlayState): Ditto.
413 (WebCore::HTMLMediaElement::userCancelledLoad): Added iOS-specific code and FIXME comment.
414 (WebCore::HTMLMediaElement::resume): Added iOS-specific comment. See <rdar://problem/9751303>.
415 (WebCore::HTMLMediaElement::deliverNotification): Added iOS-specific code.
416 (WebCore::HTMLMediaElement::getPluginProxyParams): Added iOS-specific code. Also, changed src() to getNonEmptyURLAttribute()
417 in the non-iOS code as their doesn't exist a method called src in this class or its superclasses.
418 (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
419 (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Added; guarded by ENABLE(IOS_AIRPLAY).
420 (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
421 (WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
422 (WebCore::HTMLMediaElement::addEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
423 (WebCore::HTMLMediaElement::removeEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
424 (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Added; guarded by ENABLE(IOS_AIRPLAY).
425 (WebCore::HTMLMediaElement::enterFullscreen): Added iOS-specific code.
426 (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
427 (WebCore::HTMLMediaElement::createMediaPlayer): Added ENABLE(IOS_AIRPLAY)-guarded code.
428 (WebCore::HTMLMediaElement::userRequestsMediaLoading): Added; guarded by PLATFORM(IOS).
429 (WebCore::HTMLMediaElement::shouldUseVideoPluginProxy): Use dot operator instead of dereference operator (->)
430 when accessing Document::settings().
431 (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Added ENABLE(PLUGIN_PROXY_FOR_VIDEO)-guarded code.
432 * html/HTMLMediaElement.h:
433 (WebCore::HTMLMediaElement::userGestureRequiredToShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
434 * html/HTMLMediaElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attributes and functions:webkitCurrentPlaybackTargetIsWireless,
435 onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, and webkitShowPlaybackTargetPicker().
436 * html/HTMLMetaElement.cpp:
437 (WebCore::HTMLMetaElement::process): Added iOS-specific code.
438 * html/HTMLObjectElement.cpp:
439 (WebCore::shouldNotPerformURLAdjustment): Added; iOS-specific.
440 (WebCore::HTMLObjectElement::parametersForPlugin): Modified to call shouldNotPerformURLAdjustment() when
442 * html/HTMLPlugInElement.h:
443 * html/HTMLPlugInImageElement.cpp:
444 (WebCore::HTMLPlugInImageElement::createRenderer): Added iOS-specific code.
445 (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Added; iOS-specific.
446 * html/HTMLPlugInImageElement.h:
447 * html/HTMLSelectElement.cpp:
448 (WebCore::HTMLSelectElement::usesMenuList): Added iOS-specific code.
449 (WebCore::HTMLSelectElement::createRenderer): Ditto.
450 (WebCore::HTMLSelectElement::childShouldCreateRenderer): Ditto.
451 (WebCore::HTMLSelectElement::willRespondToMouseClickEvents): Added; iOS-specific.
452 (WebCore::HTMLSelectElement::updateListBoxSelection): Added iOS-specific code.
453 (WebCore::HTMLSelectElement::scrollToSelection): Ditto.
454 (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Ditto.
455 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Opt out of code when building for iOS.
456 (WebCore::HTMLSelectElement::defaultEventHandler): Added iOS-specific code.
457 * html/HTMLSelectElement.h:
458 * html/HTMLTextAreaElement.cpp:
459 (WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents): Added; iOS-specific.
460 * html/HTMLTextAreaElement.h:
461 * html/HTMLTextAreaElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
462 * html/HTMLTextFormControlElement.cpp:
463 (WebCore::HTMLTextFormControlElement::select): Added iOS-specific code and FIXME comment.
464 (WebCore::HTMLTextFormControlElement::setSelectionRange): Opt out of code when building for iOS.
465 (WebCore::HTMLTextFormControlElement::hidePlaceholder): Added; guarded by PLATFORM(IOS).
466 (WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary): Added; guarded by PLATFORM(IOS).
467 * html/HTMLTextFormControlElement.h:
468 * html/HTMLVideoElement.cpp:
469 (WebCore::HTMLVideoElement::createRenderer): Fix up call to HTMLMediaElement::createRenderer().
470 (WebCore::HTMLVideoElement::parseAttribute): Added iOS-specific code.
471 (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
472 (WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
473 (WebCore::HTMLVideoElement::setWebkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
474 * html/HTMLVideoElement.h:
475 * html/HTMLVideoElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attribute: webkitWirelessVideoPlaybackDisabled.
476 * html/ImageDocument.cpp:
477 (WebCore::ImageDocument::createDocumentStructure): Added iOS-specific code.
478 (WebCore::ImageDocument::scale): Ditto.
479 (WebCore::ImageDocument::resizeImageToFit): Ditto.
480 (WebCore::ImageDocument::imageClicked): Ditto.
481 (WebCore::ImageDocument::imageFitsInWindow): Ditto.
482 (WebCore::ImageDocument::windowSizeChanged): Ditto.
483 * html/InputType.cpp:
484 (WebCore::InputType::dateType): Added; guarded by PLATFORM(IOS).
485 (WebCore::InputType::isKeyboardFocusable): Added iOS-specific code.
486 (WebCore::InputType::displayString): Added; guarded by PLATFORM(IOS).
488 * html/PluginDocument.cpp:
489 (WebCore::PluginDocumentParser::createDocumentStructure): Added iOS-specific code.
490 * html/RangeInputType.cpp:
491 (WebCore::RangeInputType::handleTouchEvent): Ditto.
492 (WebCore::RangeInputType::disabledAttributeChanged): Added; iOS-specific.
493 * html/RangeInputType.h:
494 * html/SearchInputType.cpp:
495 (WebCore::SearchInputType::addSearchResult): Opt out of code when building for iOS.
496 * html/TextFieldInputType.cpp:
497 (WebCore::TextFieldInputType::isKeyboardFocusable): Added iOS-specific code.
498 * html/TextFieldInputType.h:
499 * html/WebAutocapitalize.h: Added.
500 * html/canvas/CanvasRenderingContext2D.cpp:
501 (WebCore::CanvasRenderingContext2D::createImageData): Added iOS-specific code.
502 (WebCore::CanvasRenderingContext2D::getImageData): Ditto.
503 * html/parser/HTMLConstructionSite.h:
504 (WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
505 * html/parser/HTMLParserScheduler.h:
506 (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): Added iOS-specific code.
507 * html/parser/HTMLTreeBuilder.cpp:
508 (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Added; guarded by PLATFORM(IOS).
509 (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Added; guarded by PLATFORM(IOS).
510 (WebCore::disallowTelephoneNumberParsing): Added; guarded by PLATFORM(IOS).
511 (WebCore::shouldParseTelephoneNumbersInNode): Added; guarded by PLATFORM(IOS).
512 (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Added iOS-specific code.
513 * html/parser/HTMLTreeBuilder.h:
514 * html/shadow/MediaControlElements.cpp:
515 (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Guarded member initialization of m_controls with ENABLE(VIDEO_TRACK). Also added UNUSED_PARAM(event) when building with
516 VIDEO_TRACK disabled.
517 (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Added UNUSED_PARAM(event) when
518 building with VIDEO_TRACK disabled.
519 * html/shadow/MediaControls.h:
520 * html/shadow/SliderThumbElement.cpp:
521 (WebCore::SliderThumbElement::SliderThumbElement): Added iOS-specific code.
522 (WebCore::SliderThumbElement::dragFrom): Opt out of code when building for iOS.
523 (WebCore::SliderThumbElement::willDetachRenderers): Added iOS-specific code.
524 (WebCore::SliderThumbElement::exclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
525 (WebCore::SliderThumbElement::setExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
526 (WebCore::SliderThumbElement::clearExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
527 (WebCore::findTouchWithIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
528 (WebCore::SliderThumbElement::handleTouchStart): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
529 (WebCore::SliderThumbElement::handleTouchMove): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
530 (WebCore::SliderThumbElement::handleTouchEndAndCancel): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
531 (WebCore::SliderThumbElement::didAttachRenderers): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
532 (WebCore::SliderThumbElement::handleTouchEvent): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
533 (WebCore::SliderThumbElement::shouldAcceptTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
534 (WebCore::SliderThumbElement::registerForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
535 (WebCore::SliderThumbElement::unregisterForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
536 (WebCore::SliderThumbElement::disabledAttributeChanged): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
537 * html/shadow/SliderThumbElement.h:
538 * html/shadow/TextControlInnerElements.cpp:
539 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Opt out of code when building for iOS.
540 * html/shadow/TextControlInnerElements.h:
541 * page/Settings.in: Added setting allowMultiElementImplicitSubmission to enable/disable multi-input implicit form
542 submission (disabled by default). Also added FIXME comment to rename this setting to allowMultiElementImplicitFormSubmission
543 once we upstream the iOS changes to WebView.mm.
545 2013-12-17 Brady Eidson <beidson@apple.com>
547 DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
548 https://bugs.webkit.org/show_bug.cgi?id=125872
550 Reviewed by Alexey Proskuryakov.
552 Make these enums into enum classes.
553 Add const maximums for each enum class that might be serialized to allow for conversion later:
554 * Modules/indexeddb/IndexedDB.h:
556 Add cross-thread copying for these new enum classes.
557 * platform/CrossThreadCopier.cpp:
559 * platform/CrossThreadCopier.h:
561 Adopt the new enum classes throughout the rest of WebCore:
562 * Modules/indexeddb/IDBCursor.cpp:
563 (WebCore::IDBCursor::continueFunction):
564 (WebCore::IDBCursor::stringToDirection):
565 (WebCore::IDBCursor::directionToString):
566 * Modules/indexeddb/IDBCursor.h:
567 * Modules/indexeddb/IDBCursorBackend.cpp:
568 (WebCore::IDBCursorBackend::deleteFunction):
569 * Modules/indexeddb/IDBCursorBackend.h:
570 (WebCore::IDBCursorBackend::value):
571 * Modules/indexeddb/IDBDatabaseBackend.cpp:
572 (WebCore::IDBDatabaseBackend::createObjectStore):
573 (WebCore::IDBDatabaseBackend::deleteObjectStore):
574 (WebCore::IDBDatabaseBackend::createIndex):
575 (WebCore::IDBDatabaseBackend::deleteIndex):
576 (WebCore::IDBDatabaseBackend::get):
577 (WebCore::IDBDatabaseBackend::put):
578 (WebCore::IDBDatabaseBackend::setIndexKeys):
579 (WebCore::IDBDatabaseBackend::openCursor):
580 (WebCore::IDBDatabaseBackend::deleteRange):
581 (WebCore::IDBDatabaseBackend::clearObjectStore):
582 (WebCore::IDBDatabaseBackend::transactionStarted):
583 (WebCore::IDBDatabaseBackend::transactionFinished):
584 (WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
585 (WebCore::IDBDatabaseBackend::transactionFinishedAndCompleteFired):
586 (WebCore::IDBDatabaseBackend::createTransaction):
587 (WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
588 (WebCore::IDBDatabaseBackend::deleteDatabase):
589 * Modules/indexeddb/IDBDatabaseBackend.h:
590 * Modules/indexeddb/IDBFactory.cpp:
591 (WebCore::IDBFactory::open):
592 (WebCore::IDBFactory::openInternal):
593 (WebCore::IDBFactory::deleteDatabase):
594 * Modules/indexeddb/IDBIndex.cpp:
595 (WebCore::IDBIndex::openCursor):
596 (WebCore::IDBIndex::openKeyCursor):
597 * Modules/indexeddb/IDBObjectStore.cpp:
598 (WebCore::IDBObjectStore::openCursor):
599 * Modules/indexeddb/IDBOpenDBRequest.cpp:
600 (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
601 * Modules/indexeddb/IDBRequest.cpp:
602 (WebCore::IDBRequest::IDBRequest):
603 (WebCore::IDBRequest::setResultCursor):
604 (WebCore::IDBRequest::onSuccess):
605 * Modules/indexeddb/IDBTransaction.cpp:
606 (WebCore::IDBTransaction::create):
607 (WebCore::IDBTransaction::IDBTransaction):
608 (WebCore::IDBTransaction::stringToMode):
609 (WebCore::IDBTransaction::modeToString):
610 * Modules/indexeddb/IDBTransaction.h:
611 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
612 (WebCore::PutOperation::perform):
613 * Modules/indexeddb/IDBTransactionCoordinator.cpp:
614 (WebCore::IDBTransactionCoordinator::processStartedTransactions):
615 (WebCore::IDBTransactionCoordinator::canRunTransaction):
616 * Modules/indexeddb/IDBVersionChangeEvent.h:
617 (WebCore::IDBVersionChangeEvent::create):
618 (WebCore::IDBVersionChangeEvent::newVersion):
619 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
620 (WebCore::objectStoreCursorOptions):
621 (WebCore::indexCursorOptions):
622 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
623 (WebCore::IDBServerConnectionLevelDB::get):
624 (WebCore::IDBServerConnectionLevelDB::openCursor):
625 (WebCore::IDBServerConnectionLevelDB::count):
626 (WebCore::IDBServerConnectionLevelDB::deleteRange):
627 (WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
631 2013-12-17 Gavin Barraclough <barraclough@apple.com>
633 Remove PageVisibilityStateUnloaded
634 https://bugs.webkit.org/show_bug.cgi?id=125869
636 Reviewed by Anders Carlsson.
638 This is not currently supported by WebKit, remove this enum value.
639 We can always add this back later if/when we add support for this state.
641 * page/PageVisibilityState.cpp:
642 (WebCore::pageVisibilityStateString):
643 * page/PageVisibilityState.h:
644 - removed PageVisibilityStateUnloaded
646 2013-12-12 Martin Robinson <mrobinson@igalia.com>
648 [GTK] [CMake] Build the plugin process against GTK+ 2
649 https://bugs.webkit.org/show_bug.cgi?id=116374
651 Reviewed by Gustavo Noronha Silva.
653 * PlatformGTK.cmake: Split off the GTK+-dependent sources into
654 libWebCorePlatformGTK and compile libWebCorePlatformGTK2 when
657 2013-12-17 Alex Christensen <achristensen@webkit.org>
659 Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
660 https://bugs.webkit.org/show_bug.cgi?id=125867
662 Reviewed by Martin Robinson.
664 * platform/graphics/opengl/GLPlatformSurface.cpp:
665 (WebCore::GLPlatformSurface::createOffScreenSurface):
666 Protect reference to EGLOffScreenSurface with USE(GRAPHICS_SURFACE).
668 2013-12-17 Radu Stavila <stavila@adobe.com>
670 [CSS Regions] Positioned elements in regions get clipped if they fall outside the region
671 https://bugs.webkit.org/show_bug.cgi?id=117120
673 Reviewed by Mihnea Ovidenie.
675 Fixed the computing of the box decorations clip rect when having statically positioned
676 elements inside positioned elements. The existing algorithm computed the rect in a loop
677 running up the containing block chain and only checked for positioned elements before
678 starting the loop. If a positioned elements was found in the middle of a loop (as would
679 be the case with a positioned element parenting a non-positioned element), it was not
681 Also changed it so the clip is only performed in the fragmentation direction as that was
682 the original purpose of this method.
684 Tests: fast/regions/absolute-in-relative-overflow.html
685 fast/regions/static-in-relative-overflow.html
686 fast/regions/sticky-border-overflow.html
688 * rendering/RenderFlowThread.cpp:
689 (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
691 2013-12-17 Commit Queue <commit-queue@webkit.org>
693 Unreviewed, rolling out r160717.
694 http://trac.webkit.org/changeset/160717
695 https://bugs.webkit.org/show_bug.cgi?id=125863
697 New tests are failing, and possibly broke an existing test
698 (Requested by ap on #webkit).
700 * rendering/FlowThreadController.cpp:
701 (WebCore::FlowThreadController::collectFixedPositionedLayers):
702 * rendering/RenderLayer.cpp:
703 (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
704 (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
706 2013-12-17 Ryosuke Niwa <rniwa@webkit.org>
708 Invalid dir attributes should resolve to ltr
709 https://bugs.webkit.org/show_bug.cgi?id=125830
711 Reviewed by Darin Adler.
713 Merge https://chromium.googlesource.com/chromium/blink/+/2d592d1c998bec9438e421e1ce1ee6caba05a884
715 The dir attribute should resolve to direction: ltr by default when the attribute value is
716 "not in a defined state": http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-directionality
718 Test: fast/dom/HTMLElement/set-and-clear-dir-attribute.html
720 * html/HTMLElement.cpp:
721 (WebCore::isLTROrRTLIgnoringCase): Extracted from HTMLElement::directionality.
722 (WebCore::HTMLElement::collectStyleForPresentationAttribute):
723 (WebCore::HTMLElement::directionality):
725 2013-12-17 Mihnea Ovidenie <mihnea@adobe.com>
727 [CSSRegions] Incorrect repaint of fixed element with transformed parent
728 https://bugs.webkit.org/show_bug.cgi?id=125756
730 Reviewed by Darin Adler.
732 When collecting the layers for fixed positioned elements with named flow
733 as a containing block, use layers collection at named flow layer level
734 instead of relying on the positioned elements collection.
736 Modified also FlowThreadController::collectFixedPositionedLayers function
737 to always return the layers sorted by z-index, as this operation was always
738 done at the call sites.
740 Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html
741 fast/regions/repaint/fixed-in-named-flow-cb-changed2.html
743 * rendering/FlowThreadController.cpp:
744 (WebCore::compareZIndex):
745 (WebCore::FlowThreadController::collectFixedPositionedLayers):
746 * rendering/RenderLayer.cpp:
747 (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
748 (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
750 2013-12-17 Bem Jones-Bey <bjonesbe@adobe.com>
752 REGRESSION(r159166?): fast/block/float/float-with-fractional-height-vertical-lr.html, fast/block/float/float-with-fractional-height.html are failing
753 https://bugs.webkit.org/show_bug.cgi?id=124506
755 Reviewed by Dirk Schulze.
757 Floor the endpoints of the floating object interval to keep the old
758 behavior until a better fix can be created.
760 No new tests, fixes regression in existing tests.
762 * rendering/FloatingObjects.cpp:
763 (WebCore::FloatingObjects::intervalForFloatingObject):
765 2013-12-17 Alex Christensen <achristensen@webkit.org>
767 [Win] Visual Studio workaround for compiling WebGL.
768 https://bugs.webkit.org/show_bug.cgi?id=125808
770 Reviewed by Darin Adler.
772 * platform/graphics/GraphicsContext3D.cpp:
773 Don't inline outermost function to prevent Visual Studio crash.
775 2013-12-17 Mario Sanchez Prada <mario.prada@samsung.com>
777 [ATK] Expose accessibility objects for <dl>, <dt> and <dd>
778 https://bugs.webkit.org/show_bug.cgi?id=125857
780 Reviewed by Chris Fleizach.
782 Map description lists to the newly introduced ATK roles
783 ATK_ROLE_DESCRIPTION_LIST, ATK_ROLE_DESCRIPTION_TERM and
784 ATK_ROLE_DESCRIPTION_VALUE, introduced in ATK 2.11.4.
786 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
787 (atkRole): Do the right mapping.
788 (webkitAccessibleGetRole): Update call to atkRole, now that it
789 receives an AccessibilityObject* as parameter.
791 2013-12-17 Frédéric Wang <fred.wang@free.fr>
793 Ensure inferred mrows for msqrt, mstyle, merror, mphantom and math.
794 https://bugs.webkit.org/show_bug.cgi?id=124841
796 Reviewed by Darin Adler.
798 Tests: mathml/presentation/inferred-mrow-baseline.html
799 mathml/presentation/inferred-mrow-stretchy.html
801 * css/mathml.css: make merror, mphantom and mstyle behave like an mrow.
802 (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle):
803 (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle):
804 * mathml/MathMLInlineContainerElement.cpp: ditto
805 (WebCore::MathMLInlineContainerElement::createRenderer):
806 * mathml/mathtags.in: ditto
807 * rendering/mathml/RenderMathMLOperator.cpp:
808 (WebCore::RenderMathMLOperator::paint): fix failure in mathml/presentation/phantom.html now that phantom can stretch operators.
810 2013-12-17 Simon Pena <simon.pena@samsung.com>
812 [NIX] Enable full debug builds by having ar creating thin archives
813 https://bugs.webkit.org/show_bug.cgi?id=125850
815 Reviewed by Csaba Osztrogonác.
817 By default, CMake uses ar to generate libWebCore.a with cr parameters
818 (do not warn if the library has to be created, and replace existing
819 files in the archive). That results in a very large file, and ar fails
822 By using thin archives (the T option of ar), the generated
823 libWebCore.a is much smaller, and can be successfully archived. As a
824 result, we can generate a full debug build. This patch is based on Xan
825 López's webkit.org/b/110580.
827 * PlatformNix.cmake: Instruct cmake to invoke ar with T option.
829 2013-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
831 Unreviewed. Update GObject DOM symbols file after r160336.
833 * bindings/gobject/webkitdom.symbols: Add new methods exposed for
834 VideoPlaybackQuality.
836 2013-12-17 Mihai Maerean <mmaerean@adobe.com>
838 Fix hit testing for divs with a hierarchy of css transformed and non-transformed elements
839 https://bugs.webkit.org/show_bug.cgi?id=124777
841 Reviewed by Darin Adler.
843 After bug #124647, the hit test will still behave incorrectly for transformed divs with non
844 transformed siblings that are all inside a transformed element (tested by the
845 hover-rotated-with-children-negative-z.html layout test).
847 The fix is to not take zOffset into account during hit-testing when child layers are in the
848 same 3D rendering context. Only when preserve3d is true, should hit-testing compute the
849 zOffset of the layers with transformations and, when two layers overlap, to return the layer
850 with the highest zOffset.
852 The patch includes the work of a.renevier from https://codereview.chromium.org/79943002/
854 Tests: transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html
855 transforms/3d/hit-testing/negative-zoffset-hit-test.html
856 transforms/3d/hit-testing/overlapping-layers-hit-test.html
858 * rendering/RenderLayer.cpp:
859 (WebCore::computeZOffset):
860 (WebCore::RenderLayer::hitTestLayer):
862 2013-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
864 Remove a few more guards mistakenly added in r160367
866 Reviewed by Martin Robinson.
868 r160367 was too liberal in hiding APIs from the GObject DOM bindings.
870 * Modules/battery/NavigatorBattery.idl: Expose NavigatorBattery.
872 2013-12-17 Benjamin Poulain <benjamin@webkit.org>
874 Add a simple register allocator to WebCore for x86_64
875 https://bugs.webkit.org/show_bug.cgi?id=125771
877 Reviewed by Geoffrey Garen.
879 Add a brain dead register allocator to simplify the use of registers
880 when writting code generators.
882 RegisterAllocator has two purposes:
883 -make it easy to name registers properly.
884 -make it hard to reuse a register accidentally.
886 A helper class LocalRegister is also defined to provide an easy
887 way to work with registers within a C++ scope. For example:
888 LocalRegister elementPointer(allocator);
889 assembler.load(address, elementPointer);
891 RegisterAllocator makes no attempt at optimizing register allocations, but it reduces
892 implicit dependencies by returning used register at the end of the queue, making it less
893 likely they will be reused before their last instruction is executed.
895 The current implementation only support unix x86_64, it only uses caller saved registers.
897 * WebCore.xcodeproj/project.pbxproj:
898 * cssjit/RegisterAllocator.h: Added.
899 (WebCore::RegisterAllocator::allocateRegister): Provides any available register.
900 To restrict runtime exploitation of compiler bugs, the method crashes in release
901 if the register pool is empty.
903 (WebCore::RegisterAllocator::reserveRegister): Reserve a particular register.
904 (WebCore::RegisterAllocator::returnRegister): Return a previously allocated or reserved register.
906 (WebCore::RegisterAllocator::allocatedRegisters):
907 (WebCore::LocalRegister::LocalRegister):
908 (WebCore::LocalRegister::~LocalRegister):
909 (WebCore::LocalRegister::operator JSC::MacroAssembler::RegisterID):
910 (WebCore::RegisterAllocator::RegisterAllocator):
912 2013-12-16 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
914 Checking RTCPeerConnection signalingState before setting local/remoteDescription
915 https://bugs.webkit.org/show_bug.cgi?id=125655
917 Reviewed by Eric Carlson.
919 Before setting a session description RTCPeerConnection must check if it is in valid state for that SDP type.
921 New tests: fast/mediastream/RTCPeerConnection-have-local-answer.html
922 fast/mediastream/RTCPeerConnection-have-local-offer.html
923 fast/mediastream/RTCPeerConnection-have-local-pranswer.html
924 fast/mediastream/RTCPeerConnection-have-remote-offer.html
925 fast/mediastream/RTCPeerConnection-have-remote-pranswer.html
926 fast/mediastream/RTCPeerConnection-stable.html
928 Modified: fast/mediastream/RTCPeerConnection-remoteDescription.html
930 * Modules/mediastream/RTCPeerConnection.cpp:
931 (WebCore::RTCPeerConnection::checkStateForLocalDescription): Checks if the current state of RTCPeerConnection is
932 valid for the local SDP that is being set.
933 (WebCore::RTCPeerConnection::checkStateForRemoteDescription): Checks if the current state of RTCPeerConnection
934 is valid for the remote SDP that is being set.
935 (WebCore::RTCPeerConnection::setLocalDescription): Now calls checkStateForLocalDescription prior to set the
937 (WebCore::RTCPeerConnection::setRemoteDescription): Now Calls checkStateForRemoteDescription prior to set the
939 * Modules/mediastream/RTCPeerConnection.h:
940 * platform/mock/RTCNotifiersMock.cpp: Adding new class to notify RTCPeerConnection about a signaling state
941 change: SignalingStateNotifier.
942 (WebCore::SignalingStateNotifier::SignalingStateNotifier):
943 (WebCore::SignalingStateNotifier::fire):
944 * platform/mock/RTCNotifiersMock.h:
945 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
946 (WebCore::RTCPeerConnectionHandlerMock::signalingStateFromSDP): Defines the new state that RTCPeerConnection
947 should be, according the SDP that is being set.
948 (WebCore::RTCPeerConnectionHandlerMock::setLocalDescription): Calls signalingStateFromSDP, in order to get the
949 new signaling state and notify RTCPeerConnection object.
950 (WebCore::RTCPeerConnectionHandlerMock::setRemoteDescription): Ditto.
951 * platform/mock/RTCPeerConnectionHandlerMock.h:
953 2013-12-16 Tim Horton <timothy_horton@apple.com>
955 Revert a mysterious and inexplicable part of http://trac.webkit.org/changeset/160685
957 * platform/KeyedCoding.h:
958 (WebCore::KeyedEncoder::encodeEnum):
959 (WebCore::KeyedEncoder::encodeObject):
960 (WebCore::KeyedEncoder::encodeConditionalObject):
961 (WebCore::KeyedEncoder::encodeObjects):
963 2013-12-16 Anders Carlsson <andersca@apple.com>
965 Remove EnumClass.h from WTF
966 https://bugs.webkit.org/show_bug.cgi?id=125820
968 Reviewed by Darin Adler.
970 Replace uses of ENUM_CLASS with real enum class declarations.
972 * Modules/webdatabase/DatabaseBasicTypes.h:
973 * Modules/webdatabase/DatabaseError.h:
974 * Modules/webdatabase/SQLTransactionState.h:
975 * bindings/js/JSSubtleCryptoCustom.cpp:
976 * bindings/js/SerializedScriptValue.cpp:
977 * crypto/CryptoAlgorithmIdentifier.h:
978 * crypto/CryptoAlgorithmParameters.h:
979 * crypto/CryptoKey.h:
980 * crypto/CryptoKeyData.h:
981 * crypto/CryptoKeyType.h:
982 * crypto/keys/CryptoKeyDataRSAComponents.h:
983 * inspector/InspectorTimelineAgent.h:
985 2013-12-16 Tim Horton <timothy_horton@apple.com>
987 WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
988 https://bugs.webkit.org/show_bug.cgi?id=125750
990 Reviewed by Simon Fraser.
993 Export a few things so WebKit2 can use them.
995 2013-12-16 Joseph Pecoraro <pecoraro@apple.com>
997 Fix some whitespace issues in inspector code
998 https://bugs.webkit.org/show_bug.cgi?id=125814
1000 Reviewed by Darin Adler.
1002 * inspector/protocol/DOM.json:
1003 * inspector/protocol/DOMStorage.json:
1004 * inspector/protocol/Timeline.json:
1006 2013-12-16 Joseph Pecoraro <pecoraro@apple.com>
1008 Web Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
1009 https://bugs.webkit.org/show_bug.cgi?id=125818
1011 Reviewed by Mark Lam.
1013 Remove the WebCore typedefs of JSC types. Prefer JSC namespace
1014 prefixed types throughout WebCore's Inspector code.
1016 * GNUmakefile.list.am:
1017 * WebCore.vcxproj/WebCore.vcxproj:
1018 * WebCore.vcxproj/WebCore.vcxproj.filters:
1019 * WebCore.xcodeproj/project.pbxproj:
1020 * bindings/js/BreakpointID.h: Removed.
1021 * bindings/js/ScriptDebugServer.cpp:
1022 (WebCore::ScriptDebugServer::setBreakpoint):
1023 (WebCore::ScriptDebugServer::removeBreakpoint):
1024 (WebCore::ScriptDebugServer::dispatchDidParseSource):
1025 * bindings/js/ScriptDebugServer.h:
1026 * bindings/js/SourceID.h: Removed.
1027 * inspector/InspectorDebuggerAgent.cpp:
1028 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1029 (WebCore::parseLocation):
1030 (WebCore::InspectorDebuggerAgent::setBreakpoint):
1031 (WebCore::InspectorDebuggerAgent::continueToLocation):
1032 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1033 (WebCore::InspectorDebuggerAgent::searchInContent):
1034 (WebCore::InspectorDebuggerAgent::getScriptSource):
1035 (WebCore::InspectorDebuggerAgent::didParseSource):
1036 (WebCore::InspectorDebuggerAgent::didPause):
1037 (WebCore::InspectorDebuggerAgent::clear):
1038 * inspector/InspectorDebuggerAgent.h:
1039 * inspector/ScriptDebugListener.h:
1041 2013-12-16 Daniel Bates <dabates@apple.com>
1043 [iOS] Upstream WebCore/dom changes
1044 https://bugs.webkit.org/show_bug.cgi?id=125646
1046 Reviewed by David Kilzer.
1048 * WebCore.exp.in: Added symbol __ZN7WebCore8Settings17setLayoutIntervalEi and removed symbol
1049 __ZN7WebCore24cLayoutScheduleThresholdE.
1050 * dom/ActiveDOMObject.h: Add suspension reason DocumentWillBePaused.
1051 * dom/DOMImplementation.cpp:
1052 (WebCore::DOMImplementation::createDocument): Opt-out of ENABLE(VIDEO) logic when
1054 * dom/DeviceMotionClient.h: Made class non-copyable.
1055 (WebCore::DeviceMotionClient::DeviceMotionClient): Added;
1056 * dom/DeviceMotionController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
1057 (WebCore::DeviceMotionController::suspendUpdates): Added; guarded by PLATFORM(IOS).
1058 (WebCore::DeviceMotionController::resumeUpdates): Added; guarded by PLATFORM(IOS).
1059 * dom/DeviceMotionController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
1060 * dom/DeviceOrientationClient.h: Made class non-copyable.
1061 (WebCore::DeviceOrientationClient::DeviceOrientationClient): Added.
1062 * dom/DeviceOrientationController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
1063 (WebCore::DeviceOrientationController::DeviceOrientationController):
1064 (WebCore::DeviceOrientationController::suspendUpdates): Added; guarded by PLATFORM(IOS).
1065 (WebCore::DeviceOrientationController::resumeUpdates): Added; guarded by PLATFORM(IOS).
1066 * dom/DeviceOrientationController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
1067 * dom/DeviceOrientationData.cpp:
1068 (WebCore::DeviceOrientationData::create): Added; iOS-specific. Added FIXME comment.
1069 (WebCore::DeviceOrientationData::DeviceOrientationData): Added iOS-specific code.
1070 (WebCore::DeviceOrientationData::compassHeading): Added; guarded by PLATFORM(IOS).
1071 (WebCore::DeviceOrientationData::compassAccuracy): Added; guarded by PLATFORM(IOS).
1072 (WebCore::DeviceOrientationData::canProvideCompassHeading): Added; guarded by PLATFORM(IOS).
1073 (WebCore::DeviceOrientationData::canProvideCompassAccuracy): Added; guarded by PLATFORM(IOS).
1074 * dom/DeviceOrientationData.h:
1075 * dom/DeviceOrientationEvent.idl: Added iOS-specific code.
1076 * dom/Document.cpp: Moved constant cLayoutScheduleThreshold to Settings.cpp and renamed it
1077 layoutScheduleThreshold towards allowing a port to configure the layout interval.
1078 (WebCore::Document::Document): Added optional argument isSynthesized, defaults false.
1079 (WebCore::Document::~Document): Added iOS-specific code to destroy the device motion
1080 and device orientation controllers.
1081 (WebCore::Document::didBecomeCurrentDocumentInFrame): Added iOS-specific code with FIXME comment.
1082 (WebCore::Document::prepareForDestruction): Added iOS-specific touch event code.
1083 (WebCore::Document::removeAllEventListeners): Ditto.
1084 (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added; compiles to an empty function on
1086 (WebCore::Document::suspendActiveDOMObjects): Modified to call platformSuspendOrStopActiveDOMObjects().
1087 (WebCore::Document::resumeActiveDOMObjects): Ditto.
1088 (WebCore::Document::stopActiveDOMObjects): Added.
1089 (WebCore::Document::implicitClose): Modified to query Settings::layoutInterval().
1090 (WebCore::Document::minimumLayoutDelay): Ditto.
1091 (WebCore::Document::processViewport): Added iOS-specific code.
1092 (WebCore::Document::updateViewportArguments): Ditto.
1093 (WebCore::setParserFeature): Added; guarded by PLATFORM(IOS).
1094 (WebCore::Document::processFormatDetection): Added; guarded by PLATFORM(IOS).
1095 (WebCore::Document::processWebAppOrientations): Added; guarded by PLATFORM(IOS).
1096 (WebCore::Document::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
1097 (WebCore::Document::setIsTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
1098 (WebCore::Document::isTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
1099 (WebCore::Document::initSecurityContext): Added iOS-specific code.
1100 (WebCore::Document::suspendScheduledTasks): Added; guarded by PLATFORM(IOS).
1101 (WebCore::Document::deviceMotionController): Added; iOS-specific.
1102 (WebCore::Document::deviceOrientationController): Added; iOS-specific.
1103 (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
1104 (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
1105 * dom/Document.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
1106 (WebCore::Document::isSynthesized): Added.
1107 (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added.
1109 * dom/DocumentMarker.h: Added iOS-specific changes. We should look to reconcile the differences between
1110 iOS and OpenSource. See <rdar://problem/11306422>.
1111 (WebCore::DocumentMarker::AllMarkers::AllMarkers):
1112 (WebCore::DocumentMarker::DocumentMarker): Added; iOS-specific.
1113 (WebCore::DocumentMarker::alternatives): Added; iOS-specific.
1114 (WebCore::DocumentMarker::setAlternative): Added; iOS-specific.
1115 (WebCore::DocumentMarker::metadata): Added; iOS-specific.
1116 (WebCore::DocumentMarker::setMetadata): Added; iOS-specific.
1117 * dom/DocumentMarkerController.cpp:
1118 (WebCore::DocumentMarkerController::addMarker):
1119 (WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
1120 (WebCore::DocumentMarkerController::addDictationResultMarker):
1121 (WebCore::DocumentMarkerController::shiftMarkers):
1122 * dom/DocumentMarkerController.h:
1124 (WebCore::Element::focus): Add iOS-specific workaround for <rdar://problem/6699741>.
1125 * dom/Element.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
1126 * dom/EventContext.cpp: Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
1127 * dom/EventContext.h: Ditto.
1128 * dom/EventDispatcher.cpp:
1129 (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Ditto.
1130 (WebCore::EventDispatcher::dispatchEvent): Ditto.
1131 (WebCore::EventPath::EventPath): Ditto.
1132 * dom/EventNames.h: Added events webkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}
1133 and gesture{change, end, start}.
1134 * dom/EventNames.in: Added event names GestureEvent and WebKitPlaybackTargetAvailabilityEvent conditioned on
1135 the macro defines ENABLE_IOS_GESTURE_EVENTS and ENABLE_IOS_AIRPLAY.
1136 * dom/MouseRelatedEvent.cpp:
1137 (WebCore::contentsScrollOffset): Added iOS-specific code.
1138 (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
1140 (WebCore::Node::willBeDeletedFrom): Ditto.
1141 (WebCore::Node::isDescendantOf): Fixed style issue in function prototype; moved '*' to the left side.
1142 (WebCore::Node::isDescendantOrShadowDescendantOf): Added.
1143 (WebCore::tryAddEventListener): Added iOS-specific code; also added FIXME comment.
1144 (WebCore::tryRemoveEventListener): Ditto.
1145 (WebCore::Node::dispatchEvent): Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
1146 (WebCore::Node::defaultEventHandler): Added iOS-specific code.
1147 (WebCore::Node::willRespondToMouseMoveEvents): Added iOS-specific code; also added FIXME comment.
1148 (WebCore::Node::willRespondToMouseClickEvents): Added iOS-specific code; also added FIXME comment.
1149 (WebCore::Node::willRespondToMouseWheelEvents): Added.
1152 (WebCore::operator<): Added.
1153 (WebCore::operator>): Added.
1154 (WebCore::operator>=): Added.
1155 (WebCore::operator<=): Added.
1157 (WebCore::Range::create): Added iOS-specific code; also added FIXME comment.
1158 (WebCore::intervalsSufficientlyOverlap): Added; guarded by PLATFORM(IOS).
1159 (WebCore::printRects): Added; guarded by PLATFORM(IOS).
1160 (WebCore::adjustLineHeightOfSelectionRects): Added; guarded by PLATFORM(IOS).
1161 (WebCore::coalesceSelectionRects): Added; guarded by PLATFORM(IOS).
1162 (WebCore::Range::collectSelectionRects): Added; guarded by PLATFORM(IOS).
1164 * dom/ScriptExecutionContext.cpp:
1165 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Added iOS-specific code.
1166 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Ditto.
1167 * dom/TreeScope.cpp:
1168 (WebCore::nodeFromPoint): Ditto.
1169 * dom/ViewportArguments.cpp:
1170 (WebCore::computeViewportAttributes): Ditto.
1171 (WebCore::setViewportFeature): Added iOS-specific code.
1172 (WebCore::finalizeViewportArguments): Added; iOS-specific.
1173 * dom/ViewportArguments.h:
1174 * dom/make_names.pl: Added support to find the path to gcc with respect to the environment
1176 * html/HTMLMediaElement.cpp:
1177 (HTMLMediaElement::suspend):
1178 * page/Settings.cpp:
1179 (WebCore::Settings::Settings): Initialize setting m_layoutInterval to layoutScheduleThreshold.
1180 (WebCore::Settings::setLayoutInterval): Added.
1182 (WebCore::Settings::layoutInterval): Added.
1184 2013-12-16 Simon Fraser <simon.fraser@apple.com>
1186 Attempt to fix the Windows build after r160672.
1188 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1189 (PlatformCALayerWin::PlatformCALayerWin):
1190 * platform/graphics/ca/win/PlatformCALayerWin.h:
1192 2013-12-16 Simon Fraser <simon.fraser@apple.com>
1194 Apply overhang shadow and linen to UI-side layers
1195 https://bugs.webkit.org/show_bug.cgi?id=125807
1197 Reviewed by Tim Horton.
1199 With UI-side compositing, we need to apply the overhang shadow and linen
1200 background to layers in the UI process. Achieve this by setting a "custom
1201 appearance" flag on layers that need a shadow or linen background, and
1202 migrating this flag to the UI process. Static functions on ScrollbarThemeMac
1203 are exposed to do the actual setting.
1205 * WebCore.exp.in: Export ScrollbarThemeMac and GraphicsLayerCA functions.
1206 * WebCore.xcodeproj/project.pbxproj: ScrollbarThemeMac.h and ScrollbarThemeComposite.h
1208 * platform/graphics/GraphicsLayer.cpp: Initialize m_customAppearance.
1209 (WebCore::GraphicsLayer::GraphicsLayer):
1210 * platform/graphics/GraphicsLayer.h: Getter/setter for CustomAppearance.
1211 (WebCore::GraphicsLayer::setCustomAppearance):
1212 (WebCore::GraphicsLayer::customAppearance):
1213 * platform/graphics/ca/GraphicsLayerCA.cpp: Update CustomAppearanceChanged as
1214 we do other properties.
1215 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1216 (WebCore::GraphicsLayerCA::updateCustomAppearance):
1217 (WebCore::GraphicsLayerCA::setCustomAppearance):
1218 * platform/graphics/ca/GraphicsLayerCA.h:
1219 * platform/graphics/ca/PlatformCALayer.h:
1220 * platform/graphics/ca/mac/PlatformCALayerMac.h:
1221 * platform/graphics/ca/mac/PlatformCALayerMac.mm: When we have a custom
1222 appearance, use ScrollbarThemeMac functions to update the layer. Ensure
1223 that if the bounds change, we update the shadow (whose path depends on the bounds).
1224 (PlatformCALayerMac::PlatformCALayerMac):
1225 (PlatformCALayerMac::clone):
1226 (PlatformCALayerMac::setBounds):
1227 (PlatformCALayerMac::requiresCustomAppearanceUpdateOnBoundsChange):
1228 (PlatformCALayerMac::updateCustomAppearance):
1229 * platform/mac/ScrollbarThemeMac.h: Export some static functions.
1230 * platform/mac/ScrollbarThemeMac.mm: Change code to use static functions.
1231 (WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
1232 (WebCore::ScrollbarThemeMac::removeOverhangAreaBackground):
1233 (WebCore::ScrollbarThemeMac::setUpOverhangAreaShadow):
1234 (WebCore::ScrollbarThemeMac::removeOverhangAreaShadow):
1235 (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
1236 (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
1237 * rendering/RenderLayerCompositor.cpp:
1238 (WebCore::RenderLayerCompositor::updateRootLayerPosition): No need to call
1239 setUpContentShadowLayer() now when size changes; PlatformCALayer takes
1241 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Now set
1242 custom appearance via GraphicsLayer.
1244 2013-12-16 Brent Fulgham <bfulgham@apple.com>
1246 [Win] Remove dead code after converstion to VS2013
1247 https://bugs.webkit.org/show_bug.cgi?id=125795
1249 Reviewed by Darin Adler.
1251 * WebCorePrefix.h: Remove VS2012 include kludge.
1252 * loader/FTPDirectoryParser.cpp: Remove gmtime workaround code.
1253 * page/DOMWindow.cpp: Remove older pointer-based open implementation.
1254 * page/DOMWindow.h: Ditto
1255 * platform/text/TextEncodingRegistry.cpp:
1256 (WebCore::TextEncodingNameHash::equal): Remove optimization bug workaround
1257 * testing/Internals.cpp:
1258 (WebCore::Internals::openDummyInspectorFrontend): Remove compiler workaround
1260 2013-12-16 Daniel Bates <dabates@apple.com>
1262 [iOS] Upstream WebCore/history changes
1263 https://bugs.webkit.org/show_bug.cgi?id=125769
1265 Reviewed by Darin Adler.
1267 * history/BackForwardClient.h:
1268 * history/BackForwardList.cpp:
1269 (WebCore::BackForwardList::current): Added; guard by PLATFORM(IOS). Also added FIXME comment.
1270 (WebCore::BackForwardList::setCurrent): Added; guard by PLATFORM(IOS). Also added FIXME comment.
1271 (WebCore::BackForwardList::clearAllPageCaches): Added; guarded by PLATFORM(IOS).
1272 * history/BackForwardList.h:
1273 * history/CachedFrame.cpp:
1274 (WebCore::CachedFrameBase::restore): Added iOS-specific code.
1275 (WebCore::CachedFrame::CachedFrame): Ditto.
1276 * history/CachedPage.cpp:
1277 (WebCore::CachedPage::restore): Ditto.
1278 * history/HistoryItem.cpp:
1279 (WebCore::HistoryItem::HistoryItem): Ditto.
1280 * history/HistoryItem.h:
1281 (WebCore::HistoryItem::scale): Added; guarded by PLATFORM(IOS).
1282 (WebCore::HistoryItem::scaleIsInitial): Added; guarded by PLATFORM(IOS).
1283 (WebCore::HistoryItem::setScale): Added; guarded by PLATFORM(IOS).
1284 (WebCore::HistoryItem::viewportArguments): Added; guarded by PLATFORM(IOS).
1285 (WebCore::HistoryItem::setViewportArguments): Added; guarded by PLATFORM(IOS).
1286 (WebCore::HistoryItem::bookmarkID): Added; guarded by PLATFORM(IOS).
1287 (WebCore::HistoryItem::setBookmarkID): Added; guarded by PLATFORM(IOS).
1288 (WebCore::HistoryItem::sharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
1289 (WebCore::HistoryItem::setSharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
1290 * history/PageCache.cpp:
1291 (WebCore::logCanCacheFrameDecision): Added iOS-specific code.
1292 (WebCore::logCanCachePageDecision): Ditto.
1293 (WebCore::PageCache::canCachePageContainingThisFrame): Ditto.
1294 (WebCore::PageCache::canCache): Ditto.
1295 (WebCore::PageCache::pruneToCapacityNow): Added.
1296 * history/PageCache.h:
1298 2013-12-16 Daniel Bates <dabates@apple.com>
1300 [iOS] Upstream WebCore/svg changes
1301 https://bugs.webkit.org/show_bug.cgi?id=125784
1303 Reviewed by Darin Adler.
1305 * svg/SVGAElement.cpp:
1306 (WebCore::SVGAElement::willRespondToMouseClickEvents): Added.
1307 * svg/SVGAElement.h:
1308 * svg/SVGElement.cpp:
1309 (WebCore::SVGElement::parseAttribute): Added attribute listeners for touch{cancel, end, move, start},
1310 and gesture{change, end, start}.
1312 2013-12-13 Jeffrey Pfau <jpfau@apple.com>
1314 [Mac] Cache partitioning asserts when associated NSURLRequest is nil
1315 https://bugs.webkit.org/show_bug.cgi?id=125716
1317 Reviewed by Darin Adler.
1319 * platform/network/mac/ResourceRequestMac.mm:
1320 (WebCore::ResourceRequest::doUpdateResourceRequest):
1322 2013-12-16 Brady Eidson <beidson@apple.com>
1324 DatabaseProcess: Fix a few bugs with opening an IDB connection
1325 https://bugs.webkit.org/show_bug.cgi?id=125798
1327 Reviewed by Alexey Proskuryakov.
1329 * Modules/indexeddb/IDBDatabaseBackend.cpp:
1330 (WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only
1331 early return when there *are* pending delete calls. The logic here was backwards,
1332 preventing the backend from ever getting to processPendingOpenCalls().
1334 2013-12-16 Alex Christensen <achristensen@webkit.org>
1336 Fixed Win64 build on VS2013.
1337 https://bugs.webkit.org/show_bug.cgi?id=125753
1339 Reviewed by Brent Fulgham.
1341 * WebCore.vcxproj/WebCore.vcxproj:
1342 * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1343 Added correct PlatformToolset for 64-bit builds.
1345 2013-12-16 Simon Fraser <simon.fraser@apple.com>
1347 Package up some data about scrollability into a struct for use in the scrolling tree
1348 https://bugs.webkit.org/show_bug.cgi?id=125792
1350 Reviewed by Beth Dakin.
1352 Both scrolling state nodes and scrolling nodes share a set of parameters
1353 relating to scrollability and rubberbanding, so package them into a struct
1354 for re-use. Send the struct wholesale to the scrolling thread.
1356 * page/scrolling/ScrollingCoordinator.h:
1357 (WebCore::ScrollableAreaParameters::ScrollableAreaParameters): New struct.
1358 (WebCore::ScrollableAreaParameters::operator==):
1359 * page/scrolling/ScrollingStateScrollingNode.cpp:
1360 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Reordering.
1361 (WebCore::ScrollingStateScrollingNode::setScrollOrigin): Moved.
1362 (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters): Set the parameters all at once.
1363 (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
1364 * page/scrolling/ScrollingStateScrollingNode.h: Getters access the struct. Reorder member variables.
1365 * page/scrolling/ScrollingTreeScrollingNode.cpp:
1366 (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
1367 (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1368 * page/scrolling/ScrollingTreeScrollingNode.h:
1369 (WebCore::ScrollingTreeScrollingNode::scrollOrigin):
1370 (WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
1371 (WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
1372 (WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
1373 (WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
1374 (WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
1375 * page/scrolling/mac/ScrollingCoordinatorMac.h:
1376 * page/scrolling/mac/ScrollingCoordinatorMac.mm: Removed setScrollParametersForNode().
1377 (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): Set the params in this
1378 function. Reordering.
1380 2013-12-16 Sam Weinig <sam@webkit.org>
1382 CTTE: Convert more of SVG to use references
1383 https://bugs.webkit.org/show_bug.cgi?id=125762
1385 Reviewed by Darin Adler.
1387 * rendering/svg/RenderSVGImage.cpp:
1388 (WebCore::RenderSVGImage::imageChanged):
1389 * rendering/svg/RenderSVGResource.cpp:
1390 (WebCore::removeFromCacheAndInvalidateDependencies):
1391 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1392 * rendering/svg/RenderSVGResource.h:
1393 * rendering/svg/RenderSVGResourceClipper.cpp:
1394 (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1395 * rendering/svg/RenderSVGResourceClipper.h:
1396 * rendering/svg/RenderSVGResourceContainer.cpp:
1397 (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
1398 (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
1399 (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
1400 (WebCore::RenderSVGResourceContainer::removeClient):
1401 * rendering/svg/RenderSVGResourceContainer.h:
1402 * rendering/svg/RenderSVGResourceFilter.cpp:
1403 (WebCore::RenderSVGResourceFilter::removeClientFromCache):
1404 (WebCore::RenderSVGResourceFilter::postApplyResource):
1405 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1406 * rendering/svg/RenderSVGResourceFilter.h:
1407 * rendering/svg/RenderSVGResourceGradient.cpp:
1408 (WebCore::RenderSVGResourceGradient::removeClientFromCache):
1409 * rendering/svg/RenderSVGResourceGradient.h:
1410 * rendering/svg/RenderSVGResourceMarker.cpp:
1411 (WebCore::RenderSVGResourceMarker::removeClientFromCache):
1412 * rendering/svg/RenderSVGResourceMarker.h:
1413 * rendering/svg/RenderSVGResourceMasker.cpp:
1414 (WebCore::RenderSVGResourceMasker::removeClientFromCache):
1415 * rendering/svg/RenderSVGResourceMasker.h:
1416 * rendering/svg/RenderSVGResourcePattern.cpp:
1417 (WebCore::RenderSVGResourcePattern::removeClientFromCache):
1418 * rendering/svg/RenderSVGResourcePattern.h:
1419 * rendering/svg/RenderSVGResourceSolidColor.h:
1420 (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
1421 * rendering/svg/SVGRenderSupport.cpp:
1422 (WebCore::invalidateResourcesOfChildren):
1423 * rendering/svg/SVGResources.cpp:
1424 (WebCore::SVGResources::removeClientFromCache):
1425 * rendering/svg/SVGResources.h:
1426 * rendering/svg/SVGResourcesCache.cpp:
1427 (WebCore::SVGResourcesCache::clientLayoutChanged):
1428 (WebCore::SVGResourcesCache::clientStyleChanged):
1429 (WebCore::SVGResourcesCache::clientWasAddedToTree):
1430 (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
1431 (WebCore::SVGResourcesCache::clientDestroyed):
1432 * svg/SVGAnimateMotionElement.cpp:
1433 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1434 * svg/SVGCircleElement.cpp:
1435 (WebCore::SVGCircleElement::svgAttributeChanged):
1436 * svg/SVGEllipseElement.cpp:
1437 (WebCore::SVGEllipseElement::svgAttributeChanged):
1438 * svg/SVGFEImageElement.cpp:
1439 (WebCore::SVGFEImageElement::notifyFinished):
1440 * svg/SVGFELightElement.cpp:
1441 (WebCore::SVGFELightElement::childrenChanged):
1442 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1443 (WebCore::invalidateFilterPrimitiveParent):
1444 * svg/SVGFilterPrimitiveStandardAttributes.h:
1445 (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
1446 (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
1447 * svg/SVGForeignObjectElement.cpp:
1448 (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1449 * svg/SVGGElement.cpp:
1450 (WebCore::SVGGElement::svgAttributeChanged):
1451 * svg/SVGGraphicsElement.cpp:
1452 (WebCore::SVGGraphicsElement::svgAttributeChanged):
1453 * svg/SVGImageElement.cpp:
1454 (WebCore::SVGImageElement::svgAttributeChanged):
1455 * svg/SVGLineElement.cpp:
1456 (WebCore::SVGLineElement::svgAttributeChanged):
1457 * svg/SVGPathElement.cpp:
1458 (WebCore::SVGPathElement::svgAttributeChanged):
1459 (WebCore::SVGPathElement::invalidateMPathDependencies):
1460 (WebCore::SVGPathElement::pathSegListChanged):
1461 * svg/SVGPolyElement.cpp:
1462 (WebCore::SVGPolyElement::svgAttributeChanged):
1463 * svg/SVGRectElement.cpp:
1464 (WebCore::SVGRectElement::svgAttributeChanged):
1465 * svg/SVGSVGElement.cpp:
1466 (WebCore::SVGSVGElement::svgAttributeChanged):
1467 (WebCore::SVGSVGElement::setupInitialView):
1468 * svg/SVGStopElement.cpp:
1469 (WebCore::SVGStopElement::svgAttributeChanged):
1470 * svg/SVGTRefElement.cpp:
1471 (WebCore::SVGTRefElement::svgAttributeChanged):
1472 * svg/SVGTextContentElement.cpp:
1473 (WebCore::SVGTextContentElement::svgAttributeChanged):
1474 * svg/SVGTextPathElement.cpp:
1475 (WebCore::SVGTextPathElement::svgAttributeChanged):
1476 * svg/SVGTextPositioningElement.cpp:
1477 (WebCore::SVGTextPositioningElement::svgAttributeChanged):
1478 * svg/SVGUseElement.cpp:
1479 (WebCore::SVGUseElement::svgAttributeChanged):
1481 2013-12-16 Hans Muller <hmuller@adobe.com>
1483 [CSS Shapes] Add support for the computing the included intervals for a BoxShape
1484 https://bugs.webkit.org/show_bug.cgi?id=124605
1486 Reviewed by Andreas Kling.
1488 Setting shape-inside to content-box now works.
1490 Changed FloatRoundedRect::xInterceptsAtY() to include the bottom edge of
1491 the rectangle and to check for the special cases where any or all of the
1492 corner radii are empty.
1494 Test: fast/shapes/shape-inside/shape-inside-content-box.html
1496 * platform/graphics/FloatRoundedRect.cpp:
1497 (WebCore::FloatRoundedRect::xInterceptsAtY):
1498 * rendering/shapes/BoxShape.cpp:
1499 (WebCore::BoxShape::getIncludedIntervals): Replaced the stub implementation with logic that's similar to getExcludedIntervals().
1500 * rendering/shapes/ShapeInfo.cpp:
1501 (WebCore::::computedShape): Removed a meaningless assert.
1502 * rendering/shapes/ShapeInsideInfo.cpp:
1503 (WebCore::ShapeInsideInfo::isEnabledFor):
1505 2013-12-16 Mario Sanchez Prada <mario.prada@samsung.com>
1507 [ATK] Expose accessibility objects for more WAI-ARIA roles
1508 https://bugs.webkit.org/show_bug.cgi?id=125596
1510 Reviewed by Chris Fleizach.
1512 Exposed accessibility objects with the proper AtkRoles, some of
1513 them to be provided by the next stable release of ATK.
1515 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1518 2013-12-16 Eric Carlson <eric.carlson@apple.com>
1520 Fix QuickTime plug-in replacement scripting bugs
1521 https://bugs.webkit.org/show_bug.cgi?id=125717
1523 Reviewed by Sam Weinig.
1525 No new tests, existing test updated.
1527 * Modules/plugins/QuickTimePluginReplacement.js:
1528 (Replacement): Change '' to "" to avoid "Empty character constant" warning when creating
1530 (Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
1531 (Replacement.prototype.setURL): Resolve urls relative to base.
1533 2013-12-15 Darin Adler <darin@apple.com>
1535 Catch callers who forget to use initializeStyle
1536 https://bugs.webkit.org/show_bug.cgi?id=125763
1538 Reviewed by Andreas Kling.
1540 A recent fix was because a caller used setStyle first rather than using
1541 initializeStyle. This patch adds an assertion to catch cases where we do
1542 that so we see the mistake right away instead of indirectly later.
1544 * rendering/RenderElement.cpp:
1545 (WebCore::RenderElement::initializeStyle): Simplified an assertion.
1546 (WebCore::RenderElement::setStyle): Added an assertion that m_hasInitializedStyle
1547 is true, with an exception for RenderView, which needs to be created before we
1548 have the correct style computed for it (at least for now). Also broke out an
1549 assertion that was using &&, since we would prefer to know which clause failed,
1550 making separate assertions more useful than a combined assertion.
1552 2013-12-16 Mario Sanchez Prada <mario.prada@samsung.com>
1554 [ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
1555 https://bugs.webkit.org/show_bug.cgi?id=125594
1557 Reviewed by Chris Fleizach.
1559 Exposed accessibility objects with checkmenuitem role with the
1560 proper AtkRole, to be provided by the next stable release of ATK.
1562 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1565 2013-12-16 Mario Sanchez Prada <mario.prada@samsung.com>
1567 [ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
1568 https://bugs.webkit.org/show_bug.cgi?id=125587
1570 Reviewed by Chris Fleizach.
1572 Exposed accessibility objects with article role with the proper
1573 AtkRole, to be provided by the next stable release of ATK.
1575 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1578 2013-11-27 Sergio Villar Senin <svillar@igalia.com>
1580 [CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid items
1581 https://bugs.webkit.org/show_bug.cgi?id=123994
1583 Reviewed by Andreas Kling.
1585 From Blink r159189 by <jchaffraix@chromium.org>
1587 There was no definition in the specs for the intrinsic / preferred
1588 logical widths on the grid element. The following was proposed to
1589 the WG and later accepted:
1590 - The sum of the grid tracks' UsedBreadth is the minimum logical width
1591 - The sum of the grid tracks' MaxBreadth is the maximum logical width
1593 http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
1594 for more information.
1596 * rendering/RenderGrid.cpp:
1597 (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
1598 (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
1599 (WebCore::RenderGrid::minContentForChild):
1600 (WebCore::RenderGrid::maxContentForChild):
1601 * rendering/RenderGrid.h:
1603 2013-12-15 Frédéric Wang <fred.wang@free.fr>
1605 Add support for maction@toggle
1606 https://bugs.webkit.org/show_bug.cgi?id=120059
1608 Reviewed by Chris Fleizach.
1610 Test: mathml/presentation/maction-toggle.html
1612 * mathml/MathMLSelectElement.cpp:
1613 (WebCore::MathMLSelectElement::getSelectedChildAndIndex):
1614 (WebCore::MathMLSelectElement::updateSelectedChild):
1615 (WebCore::MathMLSelectElement::defaultEventHandler):
1616 (WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
1617 (WebCore::MathMLSelectElement::toggle):
1618 * mathml/MathMLSelectElement.h:
1620 2013-12-15 Darin Adler <darin@apple.com>
1622 More nullptr in RenderElement
1623 https://bugs.webkit.org/show_bug.cgi?id=125764
1625 Reviewed by Andreas Kling.
1627 * rendering/RenderElement.cpp:
1628 (WebCore::RenderElement::uncachedFirstLineStyle):
1629 (WebCore::RenderElement::updateShapeImage):
1630 (WebCore::RenderElement::destroyLeftoverChildren):
1631 (WebCore::RenderElement::findNextLayer):
1632 Use nullptr in a few more places.
1634 2013-12-15 Ryosuke Niwa <rniwa@webkit.org>
1636 REGRESSION: 2x regression on Dromaeo DOM query tests
1637 https://bugs.webkit.org/show_bug.cgi?id=125377
1639 Reviewed by Filip Pizlo.
1641 The bug was caused by JSC not JIT'ing property accesses on document because of its having
1642 custom named getter (named properties). This resulted in resolution of methods on document
1643 such as getElementById to happen inside the interpreter.
1645 Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
1646 document, and then notifying JSC whenever a new named property appeared on document.
1648 Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
1649 js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
1650 js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
1651 js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
1652 js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
1653 js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
1655 * bindings/js/JSDOMBinding.cpp:
1656 (WebCore::addImpureProperty): Wraps VM::addImpureProperty.
1657 * bindings/js/JSDOMBinding.h:
1658 * bindings/scripts/CodeGeneratorJS.pm:
1659 (GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.
1660 * bindings/scripts/IDLAttributes.txt: Ditto.
1661 * html/HTMLDocument.cpp:
1662 (WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.
1663 * html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.
1665 2013-12-15 Brent Fulgham <bfulgham@webkit.org>
1667 [WIn] Unreviewed build fix after r160599
1669 * rendering/RenderMediaControls.cpp:
1670 (WebCore::determineState): RenderObject::theme now returns
1673 2013-12-15 Brent Fulgham <bfulgham@webkit.org>
1675 [Win] Unreviewed build fix
1677 The build system continues to attempt to build QTMovieWin, even
1678 though it is excluded from the build solution. I'm actually
1679 removing the project files to prevent this.
1681 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
1682 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.
1684 2013-12-15 Rob Buis <rob.buis@samsung.com>
1686 [CSS Shapes] shape-outside animation does not handle 'auto' well
1687 https://bugs.webkit.org/show_bug.cgi?id=125700
1689 Reviewed by Dirk Schulze.
1691 Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.
1693 Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.
1695 * page/animation/CSSPropertyAnimation.cpp:
1696 (WebCore::blendFunc):
1698 2013-12-15 Andy Estes <aestes@apple.com>
1700 [iOS] Upstream changes to FeatureDefines.xcconfig
1701 https://bugs.webkit.org/show_bug.cgi?id=125742
1703 Reviewed by Dan Bernstein.
1705 * Configurations/FeatureDefines.xcconfig:
1707 2013-12-14 Darin Adler <darin@apple.com>
1709 Crash in CSSImageGeneratorValue and RenderScrollbar
1710 https://bugs.webkit.org/show_bug.cgi?id=125702
1712 Reviewed by Alexey Proskuryakov.
1714 This crash had two causes at two different levels. The crash fixes both.
1716 At the RenderScrollbar level, we were setting up a new renderer, a
1717 RenderScrollbarPart, and never calling initializeStyle. This meant that
1718 we did not do proper style setup, which meant we did not end up calling
1719 CSSImageGeneratorValue::addClient and so had a removeClient that was not
1720 properly balanced by an addClient. This is the primary bug.
1722 At the CSSImageGeneratorValue level, the addClient and removeClient
1723 functions were not properly handling possibly-mismatched calls. It was
1724 easy to fix the functions to work even if the calls are not perfectly
1725 matched up, which makes the consequences of a missed addClient call
1726 much less dire, no longer messing up reference counting. Fixing this
1727 mitigates the risk if we made this same mistake elsewhere, although I
1728 could not find any other places with some quick searches.
1730 Test: fast/css/scrollbar-image-crash.html
1732 * css/CSSImageGeneratorValue.cpp:
1733 (WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
1734 add the first client.
1735 (WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
1736 removes the last client. Also added an assertion that can fire if we call
1737 removeClient without first calling addClient, which is illegal. However,
1738 the function handles that case without over-deref'ing itself.
1740 * rendering/RenderScrollbar.cpp:
1741 (WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
1742 needRenderer a bit. Use initializeStyle rather than setStyle when first
1743 creating the RenderScrollbarPart. Also use add and take properly so we
1744 don't do extra hash lookups the old code did with get/set and get/remove.
1746 2013-12-14 Sam Weinig <sam@webkit.org>
1748 CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
1749 https://bugs.webkit.org/show_bug.cgi?id=125743
1751 Reviewed by Dan Bernstein.
1753 * rendering/svg/RenderSVGContainer.cpp:
1754 (WebCore::RenderSVGContainer::selfWillPaint):
1755 * rendering/svg/RenderSVGImage.cpp:
1756 (WebCore::RenderSVGImage::imageChanged):
1757 * rendering/svg/RenderSVGResource.cpp:
1758 (WebCore::requestPaintingResource):
1759 (WebCore::removeFromCacheAndInvalidateDependencies):
1760 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1761 * rendering/svg/RenderSVGResourceClipper.cpp:
1762 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1763 * rendering/svg/RenderSVGRoot.cpp:
1764 (WebCore::RenderSVGRoot::paintReplaced):
1765 * rendering/svg/RenderSVGShape.cpp:
1766 (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
1767 (WebCore::RenderSVGShape::markerRect):
1768 (WebCore::RenderSVGShape::drawMarkers):
1769 * rendering/svg/SVGRenderSupport.cpp:
1770 (WebCore::invalidateResourcesOfChildren):
1771 (WebCore::SVGRenderSupport::layoutChildren):
1772 (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
1773 (WebCore::SVGRenderSupport::filtersForceContainerLayout):
1774 (WebCore::SVGRenderSupport::pointInClippingArea):
1775 * rendering/svg/SVGRenderingContext.cpp:
1776 (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1777 * rendering/svg/SVGResourcesCache.cpp:
1778 (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
1779 (WebCore::SVGResourcesCache::clientLayoutChanged):
1780 (WebCore::SVGResourcesCache::clientDestroyed):
1781 * rendering/svg/SVGResourcesCache.h:
1782 * rendering/svg/SVGResourcesCycleSolver.cpp:
1783 (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
1785 2013-12-14 Dan Bernstein <mitz@apple.com>
1787 Clean up the project after r160487
1789 * WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top
1790 level of the project to the Frameworks group, and made it SDK-relative.
1792 2013-12-14 Andreas Kling <akling@apple.com>
1794 Page::theme() should return a reference.
1795 <https://webkit.org/b/125737>
1797 There's always a RenderTheme, and not a single call site was checking
1798 for null pointers anyway. Updated RenderObject::theme() as well.
1800 Reviewed by Antti Koivisto.
1802 2013-12-13 Sam Weinig <sam@webkit.org>
1804 CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
1805 https://bugs.webkit.org/show_bug.cgi?id=125731
1807 Reviewed by Andreas Kling.
1809 Perform straight forward conversions. A few stragglers that do odd things remain.
1811 2013-12-14 Joseph Pecoraro <pecoraro@apple.com>
1813 Small string improvements to JSInjectedScriptHost::type and other bindings
1814 https://bugs.webkit.org/show_bug.cgi?id=125722
1816 Reviewed by Timothy Hatcher.
1818 * bindings/js/JSInjectedScriptHostCustom.cpp:
1819 (WebCore::JSInjectedScriptHost::type):
1820 Use SmallStrings, jsNontrivialString and ASCIILiteral.
1822 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1823 (WebCore::JSJavaScriptCallFrame::type):
1824 Use jsNontrivialString.
1826 * bridge/c/c_instance.cpp:
1827 (JSC::Bindings::CInstance::stringValue):
1828 Use jsNontrivialString and ASCIILiteral.
1830 2013-12-14 Andreas Kling <akling@apple.com>
1832 Move a couple of inlines from RenderObject to RenderElement.
1833 <https://webkit.org/b/125734>
1835 Take most of the inline functions on RenderObject that call style()
1836 and move them over to RenderElement where style() is branchless.
1838 Reviewed by Antti Koivisto.
1840 2013-12-14 Andreas Kling <akling@apple.com>
1842 RenderElement::rendererForRootBackground() should return a reference.
1843 <https://webkit.org/b/125735>
1845 This function always finds a renderer to return.
1847 Reviewed by Antti Koivisto.
1849 2013-12-14 Mark Rowe <mrowe@apple.com>
1851 Build fix after r160557.
1853 * Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
1854 up the built version in production builds rather than the system version.
1856 2013-12-14 Brendan Long <b.long@cablelabs.com>
1858 [GStreamer] Use GMutexLocker instead of g_mutex_lock
1859 https://bugs.webkit.org/show_bug.cgi?id=125588
1861 Reviewed by Philippe Normand.
1863 No new tests because this is just code simplification.
1865 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1866 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
1867 (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
1868 (WebCore::MediaPlayerPrivateGStreamerBase::paint):
1869 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1870 (webkitVideoSinkTimeoutCallback):
1871 (webkitVideoSinkRender):
1872 (unlockBufferMutex):
1873 (webkitVideoSinkUnlockStop):
1874 (webkitVideoSinkStart):
1876 2013-12-13 Andreas Kling <akling@apple.com>
1878 Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
1879 <https://webkit.org/b/125712>
1881 This function is only ever called on RenderElements, so move it there.
1882 Removes some RenderObject::style() branchiness.
1884 Reviewed by Darin Adler.
1886 2013-12-13 Joseph Pecoraro <pecoraro@apple.com>
1888 Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
1889 https://bugs.webkit.org/show_bug.cgi?id=125707
1891 Reviewed by Timothy Hatcher.
1893 - Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch
1894 which comes from InspectorJSTypeBuilders.
1895 - Remove domains that moved to JavaScriptCore.
1897 No new tests, this only moves code around. There are no functional changes.
1900 * DerivedSources.make:
1904 * inspector/ContentSearchUtils.cpp:
1905 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
1906 (WebCore::ContentSearchUtils::searchInTextByLines):
1907 * inspector/ContentSearchUtils.h:
1908 * inspector/InspectorAgent.cpp:
1909 * inspector/InspectorAgent.h:
1910 * inspector/InspectorDebuggerAgent.h:
1911 * inspector/InspectorPageAgent.cpp:
1912 (WebCore::InspectorPageAgent::searchInResource):
1913 * inspector/InspectorPageAgent.h:
1914 * inspector/protocol/Page.json:
1915 Update includes and type builder type names.
1917 * inspector/InspectorDebuggerAgent.cpp:
1918 (WebCore::breakpointActionTypeForString):
1919 (WebCore::InspectorDebuggerAgent::searchInContent):
1920 * inspector/InspectorTimelineAgent.cpp:
1921 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1922 Use the new getEnum function names.
1924 2013-12-13 Brent Fulgham <bfulgham@apple.com>
1926 [Win] Remove pre-VS2013 support code.
1927 https://bugs.webkit.org/show_bug.cgi?id=125693
1929 Reviewed by Darin Adler.
1931 * Modules/webdatabase/DatabaseTracker.cpp:
1932 (WebCore::DatabaseTracker::setQuota): Use C99 format arguments
1933 * loader/FTPDirectoryParser.cpp:
1934 (WebCore::parseOneFTPLine): Ditto
1935 * loader/icon/IconDatabase.cpp:
1936 (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
1937 * platform/sql/SQLiteDatabase.cpp:
1938 (WebCore::SQLiteDatabase::setMaximumSize): Ditto
1940 2013-12-13 Brent Fulgham <bfulgham@apple.com>
1942 SVG bindings are improperly being generated with "fastGetAttribute"
1943 https://bugs.webkit.org/show_bug.cgi?id=125670
1945 Reviewed by Darin Adler.
1947 A bug was introduced in r152845 that improperly called the
1948 IsSVGAnimatedType using the $attribute hash, rather than the
1949 expected $attribute->signature->type.
1951 * bindings/scripts/CodeGenerator.pm:
1952 (GetterExpression): Clean up attribute type confusion.
1954 2013-12-13 Brent Fulgham <bfulgham@apple.com>
1956 [Win] Unreviewed build fix after r160548
1958 * WebCore.vcxproj/WebCore.vcxproj: Exclude MediaPlayerPrivateQuickTimeVisualContext from
1960 * platform/graphics/MediaPlayer.cpp: Don't use QuickTime as the PlatformMediaEngine.
1962 2013-12-13 Joseph Pecoraro <pecoraro@apple.com>
1964 [GTK] Remove Warnings in building about duplicate INSPECTOR variables
1965 https://bugs.webkit.org/show_bug.cgi?id=125710
1967 Reviewed by Tim Horton.
1971 2013-12-13 Roger Fong <roger_fong@apple.com>
1973 [WebGL] Check for global variable precision mismatch between vertex and fragment shaders.
1974 https://bugs.webkit.org/show_bug.cgi?id=125546.
1975 <rdar://problem/15203364>
1977 Reviewed by Brent Fulgham.
1979 Covered Khronos conformances tests:
1980 webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html
1982 * html/canvas/WebGLRenderingContext.cpp:
1983 (WebCore::WebGLRenderingContext::linkProgram):
1984 * platform/graphics/GraphicsContext3D.h: Rename areProgramSymbolsValid since it currently only serves one purpose.
1985 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1986 (WebCore::GraphicsContext3D::precisionsMatch):
1988 2013-12-13 Brent Fulgham <bfulgham@apple.com>
1990 [Win] Unreviewed build fix after r160548
1992 * WebCore.vcxproj/WebCoreGenerated.vcxproj: Specify that we are
1993 using the vs120_xp build target for Makefile-based projects.
1995 2013-12-13 Joseph Pecoraro <pecoraro@apple.com>
1997 Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
1998 https://bugs.webkit.org/show_bug.cgi?id=125595
2000 Reviewed by Timothy Hatcher.
2002 - CodeGeneration changed to output Frontend and Backend dispatchers
2003 in namespace Inspector. So update all the agent's appropriately.
2004 - Update Derived Sources code generation to use the Scripts that had
2005 moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
2006 directly, but others have to use the Scripts exported by JSC
2007 in JavaScriptCore's PrivateHeaders.
2008 - Add ForwardingHeaders for the files generated in JavaScriptCore.
2009 - Update the names of Inspector DerivedSources files, since they
2010 were renamed to InspectorWeb*.
2012 No new tests, this only moves code around. There are no functional changes.
2015 * DerivedSources.make:
2016 * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
2017 * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
2018 * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
2020 * GNUmakefile.list.am:
2021 * WebCore.vcxproj/WebCore.vcxproj:
2022 * WebCore.vcxproj/WebCore.vcxproj.filters:
2023 * WebCore.vcxproj/build-generated-files.sh:
2024 * WebCore.xcodeproj/project.pbxproj:
2025 Remove files, rename files, update code generation.
2027 * make-generated-sources.sh:
2028 Update this standalone developer script to fill in the new InspectorScripts variable.
2030 * inspector/ConsoleMessage.h:
2031 * inspector/InjectedScriptHost.cpp:
2032 * inspector/InspectorAgent.cpp:
2033 * inspector/InspectorAgent.h:
2034 * inspector/InspectorApplicationCacheAgent.cpp:
2035 * inspector/InspectorApplicationCacheAgent.h:
2036 * inspector/InspectorCSSAgent.h:
2037 * inspector/InspectorCanvasAgent.cpp:
2038 * inspector/InspectorCanvasAgent.h:
2039 * inspector/InspectorConsoleAgent.cpp:
2040 * inspector/InspectorConsoleAgent.h:
2041 * inspector/InspectorController.cpp:
2042 * inspector/InspectorDOMAgent.cpp:
2043 * inspector/InspectorDOMAgent.h:
2044 * inspector/InspectorDOMDebuggerAgent.cpp:
2045 * inspector/InspectorDOMDebuggerAgent.h:
2046 * inspector/InspectorDOMStorageAgent.cpp:
2047 * inspector/InspectorDOMStorageAgent.h:
2048 * inspector/InspectorDatabaseAgent.cpp:
2049 * inspector/InspectorDatabaseAgent.h:
2050 * inspector/InspectorDatabaseResource.cpp:
2051 * inspector/InspectorDatabaseResource.h:
2052 * inspector/InspectorDebuggerAgent.cpp:
2053 * inspector/InspectorDebuggerAgent.h:
2054 * inspector/InspectorFrontendClientLocal.cpp:
2055 * inspector/InspectorHeapProfilerAgent.h:
2056 * inspector/InspectorIndexedDBAgent.cpp:
2057 * inspector/InspectorIndexedDBAgent.h:
2058 * inspector/InspectorInputAgent.h:
2059 * inspector/InspectorLayerTreeAgent.cpp:
2060 * inspector/InspectorLayerTreeAgent.h:
2061 * inspector/InspectorMemoryAgent.cpp:
2062 * inspector/InspectorMemoryAgent.h:
2063 * inspector/InspectorPageAgent.cpp:
2064 * inspector/InspectorPageAgent.h:
2065 * inspector/InspectorProfilerAgent.cpp:
2066 * inspector/InspectorProfilerAgent.h:
2067 * inspector/InspectorResourceAgent.cpp:
2068 * inspector/InspectorResourceAgent.h:
2069 * inspector/InspectorRuntimeAgent.h:
2070 * inspector/InspectorTimelineAgent.cpp:
2071 * inspector/InspectorTimelineAgent.h:
2072 * inspector/InspectorWorkerAgent.cpp:
2073 * inspector/InspectorWorkerAgent.h:
2074 * inspector/PageRuntimeAgent.h:
2075 * inspector/ScriptCallFrame.cpp:
2076 * inspector/WorkerInspectorController.cpp:
2077 * inspector/WorkerRuntimeAgent.h:
2078 Updates header names and class namespace changes.
2080 2013-12-13 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2082 Adding RTCPeerConnectionErrorCallback
2083 https://bugs.webkit.org/show_bug.cgi?id=125574
2085 Reviewed by Eric Carlson.
2087 According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
2088 setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.
2090 Existing tests were updated.
2093 * GNUmakefile.list.am:
2094 * Modules/mediastream/RTCPeerConnection.cpp:
2095 (WebCore::RTCPeerConnection::createOffer):
2096 (WebCore::RTCPeerConnection::createAnswer):
2097 (WebCore::RTCPeerConnection::setLocalDescription):
2098 (WebCore::RTCPeerConnection::setRemoteDescription):
2099 (WebCore::RTCPeerConnection::addIceCandidate):
2100 * Modules/mediastream/RTCErrorCallback.h: Removed.
2101 * Modules/mediastream/RTCErrorCallback.idl: Removed.
2102 * Modules/mediastream/RTCPeerConnection.h:
2103 * Modules/mediastream/RTCPeerConnection.idl:
2104 * Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
2105 * Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
2106 * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
2107 (WebCore::RTCSessionDescriptionRequestImpl::create):
2108 (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
2109 (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
2110 * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
2111 * Modules/mediastream/RTCVoidRequestImpl.cpp:
2112 (WebCore::RTCVoidRequestImpl::create):
2113 (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
2114 (WebCore::RTCVoidRequestImpl::requestFailed):
2115 * Modules/mediastream/RTCVoidRequestImpl.h:
2116 * WebCore.xcodeproj/project.pbxproj:
2117 * platform/mediastream/RTCPeerConnectionHandler.cpp:
2118 (WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
2119 (WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
2120 (WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
2121 (WebCore::RTCPeerConnectionHandler::internalErrorName):
2122 * platform/mediastream/RTCPeerConnectionHandler.h:
2123 * platform/mock/RTCNotifiersMock.cpp:
2124 (WebCore::SessionRequestNotifier::SessionRequestNotifier):
2125 (WebCore::SessionRequestNotifier::fire):
2126 (WebCore::VoidRequestNotifier::VoidRequestNotifier):
2127 (WebCore::VoidRequestNotifier::fire):
2128 * platform/mock/RTCNotifiersMock.h:
2129 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2130 (WebCore::RTCPeerConnectionHandlerMock::createOffer):
2131 (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
2133 2013-12-13 Brent Fulgham <bfulgham@apple.com>
2135 [Win] Switch WebKit solution to Visual Studio 2013
2136 https://bugs.webkit.org/show_bug.cgi?id=125192
2138 Reviewed by Anders Carlsson.
2140 * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013
2141 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
2142 * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto
2144 2013-12-13 Alexey Proskuryakov <ap@apple.com>
2146 WebCrypto Key.usages should be ordered alphabetically
2147 https://bugs.webkit.org/show_bug.cgi?id=125696
2149 Reviewed by Darin Adler.
2151 * crypto/CryptoKey.cpp: (WebCore::CryptoKey::usages): Do it.
2153 2013-12-13 Darin Adler <darin@apple.com>
2155 Make some optimizations for DOM bindings involving vectors
2156 https://bugs.webkit.org/show_bug.cgi?id=125680
2158 Reviewed by Andreas Kling.
2160 * bindings/js/JSDOMBinding.h:
2161 (WebCore::toJS): Removed unnecessary copying of vectors when converting them
2162 to JavaScript values.
2163 (WebCore::toRefPtrNativeArray): Use reserveInitialCapacity and uncheckedAppend.
2164 (WebCore::toNativeArray): Ditto.
2165 (WebCore::toNativeArguments): Ditto.
2167 2013-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
2169 REGRESSION(r155784): [GTK] Some methods incorrectly removed in r155784 and deprecated in r158662
2170 https://bugs.webkit.org/show_bug.cgi?id=125692
2172 Reviewed by Martin Robinson.
2174 In r155784 the build was fixed by skipping Console::profile() and
2175 Console::profileEnd(), but the patch also skipped other methods
2176 containing the profile method name. Those were incorrectly
2177 deprecated in r158662 thinking that the property had been removed
2180 * bindings/gobject/WebKitDOMDeprecated.cpp: Undeprecate
2181 webkit_dom_html_head_element_get_profile and
2182 webkit_dom_html_head_element_set_profile.
2183 * bindings/gobject/WebKitDOMDeprecated.h: Ditto.
2184 * bindings/gobject/WebKitDOMDeprecated.symbols: Ditto.
2185 * bindings/scripts/CodeGeneratorGObject.pm:
2186 (SkipFunction): Skip webkit_dom_console_profile and
2187 webkit_dom_console_profile_end.
2189 2013-12-13 Rob Buis <rob.buis@samsung.com>
2191 Clean up SVGScriptElement
2192 https://bugs.webkit.org/show_bug.cgi?id=125527
2194 Reviewed by Darin Adler.
2196 From the Blink port of this bug it becomes clear that svg/dom/SVGScriptElement/script-set-href.svg and
2197 svg/dom/svg-element-attribute-js-null.xhtml still hit an assert in Debug because SVGNames::typeAttr can't
2198 be used with fastGetAttribute in all cases, because it can be animatable. However for SVGScriptElement
2199 it is not animatable, so make isAnimatableAttribute virtual (note Debug only method) and allow typeAttr
2200 in the SVGScriptElement case to be useable for fastGetAttribute.
2202 Test: svg/dom/SVGScriptElement/script-type-attribute.svg
2205 * svg/SVGScriptElement.cpp:
2206 (WebCore::SVGScriptElement::isAnimatableAttribute):
2207 * svg/SVGScriptElement.h:
2209 2013-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
2211 [GTK] Expose also webkit_dom_document_get_url
2212 https://bugs.webkit.org/show_bug.cgi?id=125691
2214 Reviewed by Martin Robinson.
2216 For some reason we expose the URL property, so it can be accessed
2217 with g_object_get(), but we have a special case to not provide a
2220 * bindings/gobject/webkitdom.symbols: Add new symbol.
2221 * bindings/scripts/CodeGeneratorGObject.pm:
2222 (GenerateFunctions): Remove the special case of URL property.
2224 2013-12-13 Andreas Kling <akling@apple.com>
2226 CSSFilterImageValue constructor should require both image and filter.
2227 <https://webkit.org/b/125056>
2229 Make the CSSFilterImageValue::create() helper take both the image and
2230 filter CSSValues by PassRef since they should never be null.
2232 Tweaked ComputedStyleExtractor::valueForFilter() to return a PassRef
2235 Reviewed by Anders Carlsson.
2237 2013-12-12 Andreas Kling <akling@apple.com>
2239 StyleResolver::adjustRenderStyle() should take RenderStyle references.
2240 <https://webkit.org/b/125623>
2242 This function doesn't handle null styles being passed, so prevent
2245 Reviewed by Anders Carlsson.
2247 2013-12-13 Darin Adler <darin@apple.com>
2249 Eliminate awkward virtualComputedStyle construction
2250 https://bugs.webkit.org/show_bug.cgi?id=125681
2252 Reviewed by Andreas Kling.
2255 (WebCore::Element::computedStyle): Tweak coding style a bit.
2257 * dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.
2258 This fixes a bug that we would not call SVGElement::computedStyle if we called
2259 it through an Element pointer or reference. Not sure how to get test coverage for this.
2262 (WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.
2264 * dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
2266 * svg/SVGElement.cpp:
2267 (WebCore::SVGElement::computedStyle): Tweak coding style a bit.
2269 * svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo
2270 virtualComputedStyle.
2272 2013-12-13 Darin Adler <darin@apple.com>
2274 Fix a couple stray uses of RefPtr that should release
2275 https://bugs.webkit.org/show_bug.cgi?id=125679
2277 Reviewed by Andreas Kling.
2279 * css/CSSParser.cpp:
2280 (WebCore::CSSParser::parseFilter): Add calls to release, in
2281 one case rearranging the order of operations slightly so we
2282 don't release the pointer before using it.
2284 2013-12-12 Alexey Proskuryakov <ap@apple.com>
2286 WebCrypto wrapKey operation doesn't check key usage
2287 https://bugs.webkit.org/show_bug.cgi?id=125675
2289 Reviewed by Darin Adler.
2291 Tests: crypto/subtle/unwrapKey-check-usage.html
2292 crypto/subtle/wrapKey-check-usage.html
2294 * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
2295 Added accidentally omitted code. Other operations are fine.
2297 2013-12-12 Darin Adler <darin@apple.com>
2299 Make some improvements in CSSImageGeneratorValue code
2300 https://bugs.webkit.org/show_bug.cgi?id=125676
2302 Reviewed by Simon Fraser.
2304 * css/CSSCrossfadeValue.cpp:
2305 (WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
2306 it's known not to be null. Used checked cast.
2307 (WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.
2309 * css/CSSImageGeneratorValue.cpp:
2310 (WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
2311 make_unique instead of adoptPtr.
2312 (WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
2313 (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
2316 * css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward
2317 declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
2318 macro to create cast functions.
2320 * css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
2322 * css/StyleResolver.cpp:
2323 (WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
2324 (WebCore::StyleResolver::applyProperty): Use checked cast and pass references
2325 instead of pointers to StyleGeneratedImage::create.
2326 (WebCore::StyleResolver::styleImage): Use checked cast and pass references
2327 instead of pointers to generatedOrPendingFromValue.
2328 (WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
2329 reference instead of a pointer.
2330 (WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
2331 pointer to StyleGeneratedImage::create.
2332 (WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
2335 * css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value
2336 as a reference instead of a pointer.
2338 * page/animation/CSSPropertyAnimation.cpp:
2339 (WebCore::blendFilter): Pass a reference insted of a pointer to
2340 StyleGeneratedImage::create.
2341 (WebCore::crossfadeBlend): Ditto.
2342 (WebCore::blendFunc): Ditto. Also use references for local variables.
2344 * rendering/style/StyleGeneratedImage.cpp:
2345 (WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
2346 PassRefPtr for the argument type.
2347 (WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
2348 is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
2349 come back and get rid of later.
2350 (WebCore::StyleGeneratedImage::imageSize): Ditto.
2351 (WebCore::StyleGeneratedImage::image): Ditto.
2353 * rendering/style/StyleGeneratedImage.h: Changed create function and constructor
2354 to take a PassRef. Made imageValue non-const since it returns a non-const value,
2355 to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
2356 Ref instead of a RefPtr.
2358 * rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's
2359 a pointer used only for equality checks. Not a great idiom, but fine to use a
2360 const pointer instead of non-const, and avoids the const_cast we'd otherwise
2361 need in StyleGeneratedImage::data.
2363 2013-12-12 KyungTae Kim <ktf.kim@samsung.com>
2365 Improve the find word boundary performance
2366 https://bugs.webkit.org/show_bug.cgi?id=125619
2368 In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
2369 So use separate function for endWordBoundary can improve the performance.
2371 Reviewed by Darin Adler.
2373 No tests because no operation changes.
2375 * editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary
2376 (WebCore::endWordBoundary):
2377 * platform/text/TextBoundaries.cpp: Add findEndWordBoundary function
2378 (WebCore::findEndWordBoundary):
2379 * platform/text/TextBoundaries.h:
2380 * platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function
2381 (WebCore::findEndWordBoundary):
2383 2013-12-12 Benjamin Poulain <bpoulain@apple.com>
2385 Fix a silly mistake of r160467
2386 https://bugs.webkit.org/show_bug.cgi?id=125657
2388 Reviewed by Alexey Proskuryakov.
2390 Fix a typo. The validity check was missing the logical not.
2392 * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
2393 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
2394 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
2395 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
2396 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
2397 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
2398 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
2399 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
2400 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
2401 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
2402 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
2403 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
2405 2013-12-12 Tim Horton <timothy_horton@apple.com>
2407 [wk2] Handle pinch-to-zoom gesture
2408 https://bugs.webkit.org/show_bug.cgi?id=125604
2410 Reviewed by Simon Fraser.
2413 Export some TransformationMatrix functions.
2415 * WebCore.xcodeproj/project.pbxproj:
2416 Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.
2418 * rendering/RenderLayerCompositor.h:
2419 (WebCore::RenderLayerCompositor::layerForContentShadow):
2420 Add a getter for the content shadow layer.
2422 2013-12-12 Brady Eidson <beidson@apple.com>
2424 DatabaseProcess IndexedDB: Establish a metadata backing store on disk
2425 https://bugs.webkit.org/show_bug.cgi?id=125258
2427 Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
2429 Teach CrossThreadCopier how to handle IDBDatabaseMetadata.
2432 * GNUmakefile.list.am:
2434 * WebCore.xcodeproj/project.pbxproj:
2436 * Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
2437 (WebCore::IDBDatabaseMetadata::isolatedCopy):
2438 (WebCore::IDBObjectStoreMetadata::isolatedCopy):
2439 (WebCore::IDBIndexMetadata::isolatedCopy):
2440 * Modules/indexeddb/IDBDatabaseMetadata.h:
2442 * Modules/indexeddb/IDBKeyPath.cpp:
2443 (WebCore::IDBKeyPath::isolatedCopy):
2444 * Modules/indexeddb/IDBKeyPath.h:
2446 * platform/CrossThreadCopier.cpp:
2447 (WebCore::::copy): Add an IDBDatabaseMetadata specialization.
2448 * platform/CrossThreadCopier.h:
2450 2013-12-12 Alexey Proskuryakov <ap@apple.com>
2452 Add support for RSAES-PKCS1-v1_5
2453 https://bugs.webkit.org/show_bug.cgi?id=125647
2457 * crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
2459 2013-12-12 Alexey Proskuryakov <ap@apple.com>
2461 Add support for RSAES-PKCS1-v1_5
2462 https://bugs.webkit.org/show_bug.cgi?id=125647
2464 Reviewed by Anders Carlsson.
2466 Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
2467 crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
2469 * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
2470 * crypto/algorithms/CryptoAlgorithmAES_KW.h:
2471 Removed meaningless parameters arguments from private functions. The base arguments
2472 class is always empty.
2474 * WebCore.xcodeproj/project.pbxproj:
2475 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2476 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2477 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2478 * bindings/js/JSCryptoKeySerializationJWK.cpp:
2479 (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2480 (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
2481 (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2482 * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.
2483 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
2484 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
2485 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
2486 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
2487 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
2488 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
2489 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
2490 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
2491 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
2492 * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
2493 * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.
2494 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2495 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
2496 * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2497 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2498 Added support for this algorithm.
2500 2013-12-12 Andreas Kling <akling@apple.com>
2502 [Mac] Stop not caching HTTP resources with "Vary" header in response.
2503 <https://webkit.org/b/125483>
2504 <rdar://problem/11781097>
2506 Remove the workaround preventing resources with the "Vary" header
2507 from going into cache, as the CFNetwork cache has supported this
2508 for quite a while now.
2510 31.5 MB progression on Membuster3, because we can now mmap those
2511 resources from disk once they are in the cache.
2513 We keep the workaround on PLATFORM(WIN) for now.
2515 Reviewed by Antti Koivisto.
2517 2013-12-12 Sam Weinig <sam@webkit.org>
2519 Replace uses of WTF::BitArray with std::bitset
2520 https://bugs.webkit.org/show_bug.cgi?id=125642
2522 Reviewed by Anders Carlsson.
2524 * css/CSSParser.cpp:
2525 (WebCore::filterProperties):
2526 (WebCore::CSSParser::createStyleProperties):
2527 * css/StyleProperties.cpp:
2528 (WebCore::StyleProperties::asText):
2530 2013-12-12 Alexey Proskuryakov <ap@apple.com>
2532 Public key in a generated KeyPair should always be extractable
2533 https://bugs.webkit.org/show_bug.cgi?id=125643
2535 Reviewed by Sam Weinig.
2537 The spec doesn't explain how generateKey works with key pairs (there are open bugs
2538 about that). Making public keys non-extractable makes no sense one way or another.
2540 Test: crypto/subtle/rsa-oaep-generate-non-extractable-key.html
2542 * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair):
2544 2013-12-12 Alexey Proskuryakov <ap@apple.com>
2546 Make algorithm.name return registered name, not normalized one
2547 https://bugs.webkit.org/show_bug.cgi?id=125641
2549 Reviewed by Anders Carlsson.
2551 Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
2552 as part of normalization.
2554 But it makes little sense to register algorithms as mixed (mostly upper) case, yet
2555 return the name lowercased. Other implementations don't bother respecting this,
2556 and signs are that the spec will change.
2558 I'd like to match other implementations here, because sticking to the spec only
2559 makes us fail 3rd party test suites for no good reason.
2561 Updated many existing tests.
2563 * crypto/CryptoAlgorithmRegistry.cpp:
2564 (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
2565 (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
2566 * crypto/CryptoAlgorithmRegistry.h:
2567 * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2568 * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
2569 * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2570 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
2571 * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
2572 * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
2573 * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
2574 * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
2575 * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
2576 * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
2578 2013-12-12 Csaba Osztrogonác <ossy@webkit.org>
2580 Move CertificateInfo to WebCore
2581 https://bugs.webkit.org/show_bug.cgi?id=124720
2583 Reviewed by Darin Adler.
2585 Based on the patch by Kwang Yul Seo <skyul@company100.net>
2587 * GNUmakefile.list.am:
2588 * PlatformEfl.cmake:
2589 * PlatformGTK.cmake:
2591 * WebCore.xcodeproj/project.pbxproj:
2592 * platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.
2593 (WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.
2594 * platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.
2595 (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.
2596 * platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.
2597 (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.
2598 * platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.
2599 (WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
2600 (WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.
2602 2013-12-12 Commit Queue <commit-queue@webkit.org>
2604 Unreviewed, rolling out r160417.
2605 http://trac.webkit.org/changeset/160417
2606 https://bugs.webkit.org/show_bug.cgi?id=125629
2608 The patch is causing crashes (Requested by zdobersek1 on
2611 * accessibility/AXObjectCache.cpp:
2612 (WebCore::AXObjectCache::~AXObjectCache):
2613 (WebCore::AXObjectCache::remove):
2614 * accessibility/AXObjectCache.h:
2615 (WebCore::AXObjectCache::detachWrapper):
2616 * accessibility/atk/AXObjectCacheAtk.cpp:
2617 (WebCore::AXObjectCache::detachWrapper):
2618 (WebCore::AXObjectCache::attachWrapper):
2619 (WebCore::AXObjectCache::postPlatformNotification):
2620 * accessibility/ios/AXObjectCacheIOS.mm:
2621 (WebCore::AXObjectCache::detachWrapper):
2622 * accessibility/mac/AXObjectCacheMac.mm:
2623 (WebCore::AXObjectCache::detachWrapper):
2624 * accessibility/win/AXObjectCacheWin.cpp:
2625 (WebCore::AXObjectCache::detachWrapper):
2627 2013-12-12 Martin Robinson <mrobinson@igalia.com>
2629 Remove a few more guards mistakenly added in r160367
2631 Reviewed by Carlos Garcia Campos
2633 r160367 was too liberal in hiding APIs from the GObject DOM bindings.
2634 We should expose the BatteryManager and the text and audio tracks.
2636 * Modules/battery/BatteryManager.idl:
2637 * html/HTMLMediaElement.idl:
2639 2013-12-11 Darin Adler <darin@apple.com>
2641 StylePendingImage needs to correctly manage the CSSValue pointer lifetime
2642 https://bugs.webkit.org/show_bug.cgi?id=125468
2644 Reviewed by Andreas Kling.
2646 Test: fast/css/pending-image-crash.xhtml
2648 Disconnect the reference counted StylePendingImage from the CSSValue that owns
2649 it when it's not needed any more, otherwise we could end up using a pointer
2650 that might no longer be valid.
2652 * css/CSSCursorImageValue.cpp:
2653 (WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
2654 on the current image if it is a StylePendingImage.
2655 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
2656 (WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
2657 m_image to a new value.
2658 (WebCore::CSSCursorImageValue::clearCachedImage): Ditto.
2659 * css/CSSCursorImageValue.h: Added detachPendingImage.
2661 * css/CSSImageSetValue.cpp:
2662 (WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
2663 on the current image set if it is a StylePendingImage.
2664 (WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
2665 (WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
2666 m_imageSet to a new value.
2667 * css/CSSImageSetValue.h: Added detachPendingImage.
2669 * css/CSSImageValue.cpp:
2670 (WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
2671 current image if it is a StylePendingImage.
2672 (WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
2673 (WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
2675 * css/CSSImageValue.h: Added detachPendingImage.
2677 * rendering/style/StylePendingImage.h:
2678 (WebCore::StylePendingImage::cssImageValue): Added a null check.
2679 (WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
2680 (WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
2681 (WebCore::StylePendingImage::cssImageSetValue): Added a null check.
2682 (WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
2683 the style is no longer using this StylePendingImage.
2684 (WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
2685 need is some arbitrary pointer uniquely identifying the image. Before loading the image,
2686 we have no suitable weak identifier, so it suffices to use the unique pointer to each
2687 StylePendingImage object. This function is used only in a limited way; it would be nice
2688 to find a way to make the code less strange long term.
2690 2013-12-11 Darin Adler <darin@apple.com>
2692 Remove some unneeded code noticed while looking at StylePendingImage
2693 https://bugs.webkit.org/show_bug.cgi?id=125618
2695 Reviewed by Andreas Kling.
2697 * css/StyleResolver.cpp:
2698 (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
2700 * rendering/RenderImageResource.cpp: Removed unneeded nullImage and
2701 usesImageContainerSize member functions.
2702 (WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
2703 through RenderImageResourceImage::nullImage.
2705 * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
2706 and nullImage functions. Also removed unneeded includes.
2708 * rendering/RenderImageResourceStyleImage.h: Removed unneeded
2709 usesImageContainerSize override. Nobody was calling it.
2711 2013-12-11 Benjamin Poulain <bpoulain@apple.com>
2713 Add the CFNetwork implementation of the asynchronous ResourceHandle
2714 https://bugs.webkit.org/show_bug.cgi?id=124440
2716 Reviewed by Alexey Proskuryakov.
2718 Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
2719 The difference is those objects handle the network callback on a different queue.
2721 Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
2723 The initialization of the request and connection is moved to the subclass to clean up initialization.
2725 * WebCore.xcodeproj/project.pbxproj:
2726 * platform/network/ResourceHandle.h:
2727 * platform/network/ResourceHandleClient.cpp:
2728 (WebCore::ResourceHandleClient::willCacheResponseAsync):
2729 * platform/network/ResourceHandleClient.h:
2730 * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
2731 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
2732 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
2733 (WebCore::connectionWasCancelled):
2734 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
2735 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
2736 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
2737 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
2738 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
2739 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
2740 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
2741 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
2742 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
2743 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
2744 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
2745 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
2746 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
2747 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
2748 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
2749 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
2750 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
2751 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
2752 * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
2753 * platform/network/cf/ResourceHandleCFNet.cpp:
2754 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2755 (WebCore::ResourceHandle::createCFURLConnection):
2756 (WebCore::ResourceHandle::start):
2757 (WebCore::ResourceHandle::shouldUseCredentialStorage):
2758 (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
2759 (WebCore::ResourceHandle::continueWillSendRequest):
2760 (WebCore::ResourceHandle::continueDidReceiveResponse):
2761 (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
2762 (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
2763 (WebCore::ResourceHandle::continueWillCacheResponse):
2764 * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
2765 (WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
2766 (WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
2767 (WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
2768 * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
2769 * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
2770 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
2771 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
2772 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
2773 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
2774 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
2775 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
2776 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
2777 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
2778 * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
2780 2013-12-11 David Kilzer <ddkilzer@apple.com>
2782 Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
2783 <http://webkit.org/b/125329>
2785 Reviewed by Darin Adler.
2787 No tests since this is a build fix for:
2789 $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
2791 * rendering/InlineBox.cpp:
2792 * rendering/InlineBox.h:
2793 - Replace ASSERT_DISABLED use with
2794 ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
2796 * rendering/InlineFlowBox.cpp:
2797 (WebCore::InlineFlowBox::~InlineFlowBox):
2798 - Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
2799 #ifndef NDEBUG since this calls setHasBadParent().
2800 (WebCore::InlineFlowBox::checkConsistency):
2801 - Move ASSERT(!m_hasBadChildList) outside of
2802 #if CHECK_CONSISTENCY and change to
2803 ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
2805 * rendering/InlineFlowBox.h:
2806 (WebCore::InlineFlowBox::InlineFlowBox):
2807 (WebCore::InlineFlowBox::setHasBadChildList):
2808 - Change #ifndef NDEBUG to
2809 #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
2812 2013-12-11 Ralph Thomas <ralpht@gmail.com>
2814 [WebGL] Fix build on GL ES 2.0 targets after r160119
2815 https://bugs.webkit.org/show_bug.cgi?id=125541
2817 Reviewed by Brent Fulgham.
2819 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).
2820 This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.
2822 No new tests, no change in functionality.
2824 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2825 (WebCore::GraphicsContext3D::texSubImage2D):
2827 2013-12-11 Joseph Pecoraro <pecoraro@apple.com>
2829 Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
2830 https://bugs.webkit.org/show_bug.cgi?id=125324
2832 Reviewed by Timothy Hatcher.
2834 Part 1: Push down core inspector classes.
2836 - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
2837 down to JavaScriptCore and into the Inspector namespace.
2838 - Add forwarding headers for JavaScriptCore/inspector files.
2839 - Use the Inspector namespace where appropriate.
2840 - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
2842 Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
2844 - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
2845 - Add forwarding headers
2846 - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
2848 Part 3: Push Down ScriptFunctionCall
2850 - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
2851 - Give constructor a function to all for a different JSC::call, because
2852 WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
2853 - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
2855 Part 4: Extract InspectorTypeBuilder helper functions
2857 - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
2858 its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
2859 - This moves TypeBuilder from namespace WebCore to namespace Inspector
2860 - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
2861 eventually the CodeGenerator script will do this for more then TypeBuilders
2862 and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
2864 No new tests. No change in functionality, just moving things around.
2867 * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
2868 * ForwardingHeaders/bindings/ScriptObject.h: Added.
2869 * ForwardingHeaders/bindings/ScriptValue.h: Added.
2870 * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
2871 * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
2872 * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
2873 * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
2874 * ForwardingHeaders/inspector/InspectorValues.h: Added.
2876 * GNUmakefile.list.am:
2877 * Modules/indexeddb/IDBAny.cpp:
2878 (WebCore::IDBAny::scriptValue):
2879 (WebCore::IDBAny::IDBAny):
2880 * Modules/indexeddb/IDBAny.h:
2881 * Modules/indexeddb/IDBCursor.cpp:
2882 (WebCore::IDBCursor::key):
2883 (WebCore::IDBCursor::primaryKey):
2884 (WebCore::IDBCursor::value):
2885 (WebCore::IDBCursor::update):
2886 (WebCore::IDBCursor::continueFunction):
2887 (WebCore::IDBCursor::setValueReady):
2888 * Modules/indexeddb/IDBCursor.h:
2889 * Modules/indexeddb/IDBFactory.cpp:
2890 (WebCore::IDBFactory::cmp):
2891 * Modules/indexeddb/IDBFactory.h:
2892 * Modules/indexeddb/IDBIndex.cpp:
2893 (WebCore::IDBIndex::openCursor):
2894 (WebCore::IDBIndex::count):
2895 (WebCore::IDBIndex::openKeyCursor):
2896 (WebCore::IDBIndex::get):
2897 (WebCore::IDBIndex::getKey):
2898 * Modules/indexeddb/IDBIndex.h:
2899 (WebCore::IDBIndex::openCursor):
2900 (WebCore::IDBIndex::openKeyCursor):
2901 * Modules/indexeddb/IDBKeyRange.cpp:
2902 (WebCore::IDBKeyRange::lowerValue):
2903 (WebCore::IDBKeyRange::upperValue):
2904 (WebCore::IDBKeyRange::only):
2905 (WebCore::IDBKeyRange::lowerBound):
2906 (WebCore::IDBKeyRange::upperBound):
2907 (WebCore::IDBKeyRange::bound):
2908 * Modules/indexeddb/IDBKeyRange.h:
2909 (WebCore::IDBKeyRange::lowerBound):
2910 (WebCore::IDBKeyRange::upperBound):
2911 (WebCore::IDBKeyRange::bound):
2912 * Modules/indexeddb/IDBObjectStore.cpp:
2913 (WebCore::IDBObjectStore::get):
2914 (WebCore::generateIndexKeysForValue):
2915 (WebCore::IDBObjectStore::add):
2916 (WebCore::IDBObjectStore::put):
2917 (WebCore::IDBObjectStore::deleteFunction):
2918 (WebCore::IDBObjectStore::openCursor):
2919 (WebCore::IDBObjectStore::count):
2920 * Modules/indexeddb/IDBObjectStore.h:
2921 * Modules/indexeddb/IDBRequest.cpp:
2922 (WebCore::IDBRequest::setResultCursor):
2923 (WebCore::IDBRequest::onSuccess):
2924 (WebCore::IDBRequest::onSuccessInternal):
2925 * Modules/indexeddb/IDBRequest.h:
2926 * Modules/mediastream/CapabilityRange.cpp:
2927 (WebCore::scriptValue):
2928 (WebCore::CapabilityRange::min):
2929 (WebCore::CapabilityRange::max):
2930 * Modules/mediastream/CapabilityRange.h:
2931 * Modules/mediastream/MediaTrackConstraint.h:
2932 * Modules/mediastream/RTCIceCandidate.cpp:
2933 * Modules/plugins/QuickTimePluginReplacement.cpp:
2934 * Modules/plugins/QuickTimePluginReplacement.h:
2937 * WebCore.vcxproj/WebCore.vcxproj:
2938 * WebCore.vcxproj/WebCore.vcxproj.filters:
2939 * WebCore.xcodeproj/project.pbxproj:
2940 * bindings/js/Dictionary.h:
2941 (WebCore::Dictionary::getEventListener):
2942 * bindings/js/IDBBindingUtilities.cpp:
2943 (WebCore::createIDBKeyFromScriptValueAndKeyPath):
2944 (WebCore::injectIDBKeyIntoScriptValue):
2945 (WebCore::canInjectIDBKeyIntoScriptValue):
2946 (WebCore::deserializeIDBValue):
2947 (WebCore::deserializeIDBValueBuffer):
2948 (WebCore::idbKeyToScriptValue):
2949 (WebCore::scriptValueToIDBKey):
2950 * bindings/js/IDBBindingUtilities.h:
2951 * bindings/js/JSBindingsAllInOne.cpp:
2952 * bindings/js/JSDictionary.cpp:
2953 (WebCore::JSDictionary::convertValue):
2954 * bindings/js/JSDictionary.h:
2955 * bindings/js/JSHTMLCanvasElementCustom.cpp:
2956 (WebCore::JSHTMLCanvasElement::getContext):
2957 * bindings/js/JSInjectedScriptHostCustom.cpp:
2958 (WebCore::InjectedScriptHost::scriptValueAsNode):
2959 (WebCore::InjectedScriptHost::nodeAsScriptValue):
2960 (WebCore::JSInjectedScriptHost::inspectedObject):
2961 (WebCore::JSInjectedScriptHost::inspect):
2962 * bindings/js/JSInjectedScriptManager.cpp:
2963 (WebCore::InjectedScriptManager::createInjectedScript):
2964 * bindings/js/JSMainThreadExecState.cpp:
2965 (WebCore::functionCallHandlerFromAnyThread):
2966 * bindings/js/JSMainThreadExecState.h:
2967 (WebCore::JSMainThreadExecState::currentState):
2968 * bindings/js/JSMessageEventCustom.cpp:
2969 (WebCore::JSMessageEvent::data):
2970 (WebCore::handleInitMessageEvent):
2971 * bindings/js/ScheduledAction.cpp:
2972 * bindings/js/ScriptCallStackFactory.cpp:
2973 (WebCore::createScriptArguments):
2974 * bindings/js/ScriptController.cpp:
2975 (WebCore::ScriptController::evaluateInWorld):
2976 (WebCore::ScriptController::evaluate):
2977 (WebCore::ScriptController::executeScriptInWorld):
2978 (WebCore::ScriptController::executeScript):
2979 (WebCore::ScriptController::executeIfJavaScriptURL):
2980 * bindings/js/ScriptController.h:
2981 * bindings/js/ScriptDebugServer.cpp:
2982 (WebCore::ScriptDebugServer::setScriptSource):
2983 (WebCore::ScriptDebugServer::updateCallStack):
2984 (WebCore::ScriptDebugServer::dispatchDidPause):
2985 (WebCore::ScriptDebugServer::runScript):
2986 * bindings/js/ScriptDebugServer.h:
2987 * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
2988 (WebCore::handleException):
2989 (WebCore::ScriptGlobalObject::set):
2990 (WebCore::ScriptGlobalObject::get):
2991 (WebCore::ScriptGlobalObject::remove):
2992 * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
2993 (WebCore::ScriptGlobalObject::ScriptGlobalObject):
2994 * bindings/js/ScriptObject.h: Removed.
2995 * bindings/js/ScriptProfile.cpp:
2996 (WebCore::buildInspectorObjectFor):
2997 (WebCore::ScriptProfile::buildInspectorObjectForHead):
2998 (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
2999 * bindings/js/ScriptProfile.h:
3000 * bindings/js/ScriptProfiler.cpp:
3001 (WebCore::ScriptProfiler::objectByHeapObjectId):
3002 (WebCore::ScriptProfiler::getHeapObjectId):
3003 * bindings/js/ScriptProfiler.h:
3004 * bindings/js/ScriptState.h:
3005 * bindings/js/SerializedScriptValue.cpp:
3006 (WebCore::SerializedScriptValue::deserializeForInspector):
3007 (WebCore::SerializedScriptValue::serialize):
3008 (WebCore::SerializedScriptValue::deserialize):
3009 * bindings/js/SerializedScriptValue.h:
3010 * bindings/js/WorkerScriptController.cpp:
3011 (WebCore::WorkerScriptController::evaluate):
3012 (WebCore::WorkerScriptController::setException):
3013 * bindings/js/WorkerScriptController.h:
3014 * bindings/scripts/CodeGeneratorJS.pm:
3015 * bindings/scripts/test/JS/JSTestObj.cpp:
3016 (WebCore::setJSTestObjAnyAttribute):
3017 * dom/CustomEvent.cpp:
3018 (WebCore::CustomEvent::initCustomEvent):
3019 * dom/CustomEvent.h:
3020 (WebCore::CustomEvent::detail):
3021 * dom/MessageEvent.cpp:
3022 (WebCore::MessageEvent::MessageEvent):
3023 (WebCore::MessageEvent::initMessageEvent):
3024 * dom/MessageEvent.h:
3025 (WebCore::MessageEvent::create):
3026 (WebCore::MessageEvent::dataAsScriptValue):
3027 * dom/PopStateEvent.h:
3028 (WebCore::PopStateEvent::state):
3029 * dom/ScriptElement.cpp:
3030 * html/HTMLMediaElement.cpp:
3031 * html/parser/XSSAuditor.cpp:
3032 * html/parser/XSSAuditorDelegate.cpp:
3033 * inspector/CodeGeneratorInspector.py:
3034 (RawTypes.BaseType.get_raw_validator_call_text):
3035 (RawTypes.Object.get_array_item_raw_c_type_text):
3036 (RawTypes.Any.get_array_item_raw_c_type_text):
3037 (RawTypes.Array.get_array_item_raw_c_type_text):
3038 (CommandReturnPassModel.OptOutput.get_return_var_type):
3039 (CommandReturnPassModel.OptOutput.get_output_parameter_type):
3040 (TypeModel.ExactlyInt.get_input_param_type_text):
3041 (TypeModel.ExactlyInt.get_opt_output_type_):
3042 (TypeModel.init_class):
3043 (TypeBindings.create_named_type_declaration.Helper):
3044 (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
3045 (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
3046 (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
3048 (ArrayBinding.get_array_item_c_type_text):
3050 (Generator.process_command):
3051 * inspector/CodeGeneratorInspectorStrings.py:
3053 (InspectorFrontend_h):
3054 (InspectorBackendDispatchers_h):
3055 * inspector/ConsoleMessage.cpp:
3056 (WebCore::messageSourceValue):
3057 (WebCore::messageTypeValue):
3058 (WebCore::messageLevelValue):
3059 (WebCore::ConsoleMessage::addToFrontend):
3060 * inspector/ConsoleMessage.h:
3061 * inspector/ContentSearchUtils.cpp:
3062 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
3063 (WebCore::ContentSearchUtils::searchInTextByLines):
3064 * inspector/ContentSearchUtils.h:
3065 * inspector/InjectedScript.cpp:
3066 (WebCore::InjectedScript::InjectedScript):
3067 (WebCore::InjectedScript::evaluate):
3068 (WebCore::InjectedScript::callFunctionOn):
3069 (WebCore::InjectedScript::evaluateOnCallFrame):
3070 (WebCore::InjectedScript::getFunctionDetails):
3071 (WebCore::InjectedScript::getProperties):
3072 (WebCore::InjectedScript::getInternalProperties):
3073 (WebCore::InjectedScript::nodeForObjectId):
3074 (WebCore::InjectedScript::releaseObject):
3075 (WebCore::InjectedScript::wrapCallFrames):
3076 (WebCore::InjectedScript::wrapObject):
3077 (WebCore::InjectedScript::wrapTable):
3078 (WebCore::InjectedScript::wrapNode):
3079 (WebCore::InjectedScript::findObjectById):
3080 (WebCore::InjectedScript::inspectNode):
3081 (WebCore::InjectedScript::releaseObjectGroup):
3082 (WebCore::InjectedScript::nodeAsScriptValue):
3083 * inspector/InjectedScript.h:
3084 * inspector/InjectedScriptBase.cpp:
3085 (WebCore::InjectedScriptBase::InjectedScriptBase):
3086 (WebCore::InjectedScriptBase::initialize):
3087 (WebCore::InjectedScriptBase::injectedScriptObject):
3088 (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
3089 (WebCore::InjectedScriptBase::makeCall):
3090 (WebCore::InjectedScriptBase::makeEvalCall):
3091 * inspector/InjectedScriptBase.h:
3092 * inspector/InjectedScriptCanvasModule.cpp:
3093 (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
3094 (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
3095 (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
3096 (WebCore::InjectedScriptCanvasModule::markFrameEnd):
3097 (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
3098 (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
3099 (WebCore::InjectedScriptCanvasModule::traceLog):
3100 (WebCore::InjectedScriptCanvasModule::replayTraceLog):
3101 (WebCore::InjectedScriptCanvasModule::resourceInfo):
3102 (WebCore::InjectedScriptCanvasModule::resourceState):
3103 * inspector/InjectedScriptCanvasModule.h:
3104 * inspector/InjectedScriptHost.cpp:
3105 (WebCore::InjectedScriptHost::inspectImpl):
3106 (WebCore::InjectedScriptHost::InspectableObject::get):
3107 * inspector/InjectedScriptHost.h:
3108 * inspector/InjectedScriptManager.cpp:
3109 (WebCore::InjectedScriptManager::injectedScriptFor):
3110 * inspector/InjectedScriptManager.h:
3111 * inspector/InjectedScriptModule.cpp:
3112 (WebCore::InjectedScriptModule::ensureInjected):
3113 * inspector/InspectorAgent.cpp:
3114 (WebCore::InspectorAgent::InspectorAgent):
3115 (WebCore::InspectorAgent::didCreateFrontendAndBackend):
3116 (WebCore::InspectorAgent::inspect):
3117 * inspector/InspectorAgent.h:
3118 * inspector/InspectorAllInOne.cpp:
3119 * inspector/InspectorApplicationCacheAgent.cpp:
3120 (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3121 (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
3122 (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
3123 (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
3124 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
3125 (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
3126 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
3127 * inspector/InspectorApplicationCacheAgent.h:
3128 * inspector/InspectorCSSAgent.cpp:
3129 (WebCore::SelectorProfile::toInspectorObject):
3130 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3131 (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
3132 (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3133 (WebCore::InspectorCSSAgent::getInlineStylesForNode):
3134 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3135 (WebCore::InspectorCSSAgent::getAllStyleSheets):
3136 (WebCore::InspectorCSSAgent::getStyleSheet):
3137 (WebCore::InspectorCSSAgent::setStyleText):
3138 (WebCore::InspectorCSSAgent::setPropertyText):
3139 (WebCore::InspectorCSSAgent::toggleProperty):
3140 (WebCore::InspectorCSSAgent::setRuleSelector):
3141 (WebCore::InspectorCSSAgent::addRule):
3142 (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3143 (WebCore::InspectorCSSAgent::getNamedFlowCollection):
3144 (WebCore::InspectorCSSAgent::stopSelectorProfiler):
3145 (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
3146 (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
3147 (WebCore::InspectorCSSAgent::collectStyleSheets):
3148 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3149 (WebCore::InspectorCSSAgent::detectOrigin):
3150 (WebCore::InspectorCSSAgent::buildObjectForRule):
3151 (WebCore::InspectorCSSAgent::buildArrayForRuleList):
3152 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
3153 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3154 (WebCore::InspectorCSSAgent::buildArrayForRegions):
3155 (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
3156 * inspector/InspectorCSSAgent.h:
3157 * inspector/InspectorCanvasAgent.cpp:
3158 (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
3159 (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
3160 (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
3161 (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
3162 (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
3163 (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
3164 * inspector/InspectorCanvasAgent.h:
3165 * inspector/InspectorCanvasInstrumentation.h:
3166 (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
3167 (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
3168 * inspector/InspectorClient.cpp:
3169 * inspector/InspectorClient.h:
3170 * inspector/InspectorConsoleAgent.cpp:
3171 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3172 (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
3173 (WebCore::InspectableHeapObject::get):
3174 * inspector/InspectorConsoleAgent.h:
3175 * inspector/InspectorController.cpp:
3176 * inspector/InspectorController.h:
3177 * inspector/InspectorDOMAgent.cpp:
3178 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3179 (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
3180 (WebCore::InspectorDOMAgent::getDocument):
3181 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3182 (WebCore::InspectorDOMAgent::querySelectorAll):
3183 (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
3184 (WebCore::InspectorDOMAgent::getEventListenersForNode):
3185 (WebCore::InspectorDOMAgent::getSearchResults):
3186 (WebCore::InspectorDOMAgent::resolveNode):
3187 (WebCore::InspectorDOMAgent::getAttributes):
3188 (WebCore::InspectorDOMAgent::buildObjectForNode):
3189 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3190 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3191 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3192 (WebCore::InspectorDOMAgent::didCommitLoad):
3193 (WebCore::InspectorDOMAgent::didInsertDOMNode):
3194 (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
3195 * inspector/InspectorDOMAgent.h:
3196 * inspector/InspectorDOMDebuggerAgent.cpp:
3197 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
3198 (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
3199 (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
3200 * inspector/InspectorDOMDebuggerAgent.h:
3201 * inspector/InspectorDOMStorageAgent.cpp:
3202 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
3203 (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
3204 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
3205 (WebCore::InspectorDOMStorageAgent::storageId):
3206 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
3207 * inspector/InspectorDOMStorageAgent.h:
3208 * inspector/InspectorDatabaseAgent.cpp:
3209 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3210 (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
3211 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3212 * inspector/InspectorDatabaseAgent.h:
3213 * inspector/InspectorDatabaseResource.cpp:
3214 (WebCore::InspectorDatabaseResource::bind):
3215 * inspector/InspectorDebuggerAgent.cpp:
3216 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3217 (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
3218 (WebCore::breakpointActionTypeForString):
3219 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3220 (WebCore::InspectorDebuggerAgent::setBreakpoint):
3221 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
3222 (WebCore::scriptToInspectorObject):
3223 (WebCore::InspectorDebuggerAgent::searchInContent):
3224 (WebCore::InspectorDebuggerAgent::setScriptSource):
3225 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3226 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3227 (WebCore::InspectorDebuggerAgent::compileScript):
3228 (WebCore::InspectorDebuggerAgent::runScript):
3229 (WebCore::InspectorDebuggerAgent::currentCallFrames):
3230 (WebCore::InspectorDebuggerAgent::didParseSource):
3231 (WebCore::InspectorDebuggerAgent::didPause):
3232 (WebCore::InspectorDebuggerAgent::didContinue):
3233 (WebCore::InspectorDebuggerAgent::clear):
3234 * inspector/InspectorDebuggerAgent.h:
3235 * inspector/InspectorForwarding.h:
3236 * inspector/InspectorFrontendClientLocal.cpp:
3237 (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
3238 * inspector/InspectorFrontendHost.cpp:
3239 (WebCore::FrontendMenuProvider::create):
3240 (WebCore::FrontendMenuProvider::disconnect):
3241 (WebCore::FrontendMenuProvider::FrontendMenuProvider):
3242 (WebCore::FrontendMenuProvider::contextMenuItemSelected):
3243 (WebCore::FrontendMenuProvider::contextMenuCleared):
3244 (WebCore::InspectorFrontendHost::showContextMenu):
3245 * inspector/InspectorHeapProfilerAgent.cpp:
3246 (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
3247 (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
3248 (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
3249 (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
3250 (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
3251 (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
3252 * inspector/InspectorHeapProfilerAgent.h:
3253 * inspector/InspectorIndexedDBAgent.cpp:
3254 (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
3255 (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
3256 * inspector/InspectorIndexedDBAgent.h:
3257 * inspector/InspectorInputAgent.cpp:
3258 (WebCore::InspectorInputAgent::InspectorInputAgent):
3259 (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
3260 * inspector/InspectorInputAgent.h:
3261 * inspector/InspectorInstrumentation.cpp:
3262 * inspector/InspectorInstrumentation.h:
3263 * inspector/InspectorLayerTreeAgent.cpp:
3264 (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
3265 (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
3266 (WebCore::InspectorLayerTreeAgent::layersForNode):
3267 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
3268 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
3269 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3270 (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
3271 (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
3272 * inspector/InspectorLayerTreeAgent.h:
3273 * inspector/InspectorMemoryAgent.cpp:
3274 (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
3275 (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
3276 * inspector/InspectorMemoryAgent.h:
3277 * inspector/InspectorOverlay.cpp:
3278 * inspector/InspectorOverlay.h:
3279 * inspector/InspectorPageAgent.cpp:
3280 (WebCore::InspectorPageAgent::resourceTypeJson):
3281 (WebCore::InspectorPageAgent::cachedResourceTypeJson):
3282 (WebCore::InspectorPageAgent::InspectorPageAgent):
3283 (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
3284 (WebCore::buildObjectForCookie):
3285 (WebCore::buildArrayForCookies):
3286 (WebCore::InspectorPageAgent::getCookies):
3287 (WebCore::InspectorPageAgent::getResourceTree):
3288 (WebCore::InspectorPageAgent::searchInResource):
3289 (WebCore::buildObjectForSearchResult):
3290 (WebCore::InspectorPageAgent::searchInResources):
3291 (WebCore::InspectorPageAgent::buildObjectForFrame):
3292 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3293 * inspector/InspectorPageAgent.h:
3294 * inspector/InspectorProfilerAgent.cpp:
3295 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3296 (WebCore::InspectorProfilerAgent::createProfileHeader):
3297 (WebCore::InspectorProfilerAgent::createSnapshotHeader):
3298 (WebCore::InspectorProfilerAgent::getProfileHeaders):
3299 (WebCore::InspectorProfilerAgent::getCPUProfile):
3300 (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
3301 (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
3302 (WebCore::InspectorProfilerAgent::getHeapObjectId):
3303 * inspector/InspectorProfilerAgent.h:
3304 * inspector/InspectorResourceAgent.cpp:
3305 (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
3306 (WebCore::buildObjectForTiming):
3307 (WebCore::buildObjectForResourceRequest):
3308 (WebCore::buildObjectForResourceResponse):
3309 (WebCore::buildObjectForCachedResource):
3310 (WebCore::InspectorResourceAgent::willSendRequest):
3311 (WebCore::InspectorResourceAgent::didReceiveResponse):
3312 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3313 (WebCore::InspectorResourceAgent::buildInitiatorObject):
3314 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
3315 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
3316 (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
3317 (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
3318 (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3319 * inspector/InspectorResourceAgent.h:
3320 * inspector/InspectorRuntimeAgent.cpp:
3321 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3322 (WebCore::buildErrorRangeObject):
3323 (WebCore::InspectorRuntimeAgent::parse):
3324 (WebCore::InspectorRuntimeAgent::evaluate):
3325 (WebCore::InspectorRuntimeAgent::callFunctionOn):
3326 (WebCore::InspectorRuntimeAgent::getProperties):
3327 * inspector/InspectorRuntimeAgent.h:
3328 * inspector/InspectorStyleSheet.cpp:
3329 (WebCore::buildSourceRangeObject):
3330 (WebCore::buildMediaObject):
3331 (WebCore::fillMediaListChain):
3332 (WebCore::InspectorStyle::buildObjectForStyle):
3333 (WebCore::InspectorStyle::buildArrayForComputedStyle):
3334 (WebCore::InspectorStyle::styleWithProperties):
3335 (WebCore::InspectorStyleSheet::create):
3336 (WebCore::InspectorStyleSheet::InspectorStyleSheet):
3337 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3338 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
3339 (WebCore::selectorsFromSource):
3340 (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
3341 (WebCore::InspectorStyleSheet::buildObjectForRule):
3342 (WebCore::InspectorStyleSheet::buildObjectForStyle):
3343 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3344 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
3345 (WebCore::InspectorStyleSheetForInlineStyle::create):
3346 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
3347 * inspector/InspectorStyleSheet.h:
3348 (WebCore::InspectorCSSId::InspectorCSSId):
3349 (WebCore::InspectorStyleSheet::canBind):
3350 * inspector/InspectorStyleTextEditor.cpp:
3351 * inspector/InspectorTimelineAgent.cpp:
3352 (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
3353 (WebCore::toProtocol):
3354 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
3355 (WebCore::InspectorTimelineAgent::setDOMCounters):
3356 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3357 (WebCore::InspectorTimelineAgent::sendEvent):
3358 * inspector/InspectorTimelineAgent.h:
3359 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3360 * inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
3361 (WebCore::InspectorAgentBase::InspectorAgentBase):
3362 * inspector/InspectorWorkerAgent.cpp:
3363 (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3364 (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
3365 * inspector/InspectorWorkerAgent.h:
3366 * inspector/InstrumentingAgents.cpp:
3367 * inspector/NetworkResourcesData.cpp:
3368 * inspector/PageConsoleAgent.cpp:
3369 (WebCore::InspectableNode::get):
3370 * inspector/PageDebuggerAgent.cpp:
3371 * inspector/PageDebuggerAgent.h:
3372 * inspector/PageRuntimeAgent.cpp:
3373 (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
3374 * inspector/PageRuntimeAgent.h:
3375 * inspector/ScriptArguments.cpp:
3376 (WebCore::ScriptArguments::create):
3377 (WebCore::ScriptArguments::ScriptArguments):
3378 (WebCore::ScriptArguments::argumentAt):
3379 (WebCore::ScriptArguments::getFirstArgumentAsString):
3380 * inspector/ScriptArguments.h:
3381 * inspector/ScriptCallFrame.cpp:
3382 (WebCore::ScriptCallFrame::buildInspectorObject):
3383 * inspector/ScriptCallFrame.h:
3384 * inspector/ScriptCallStack.cpp:
3385 (WebCore::ScriptCallStack::buildInspectorArray):
3386 * inspector/ScriptCallStack.h:
3387 * inspector/ScriptDebugListener.h:
3388 * inspector/TimelineRecordFactory.cpp:
3389 * inspector/TimelineRecordFactory.h:
3390 (WebCore::TimelineRecordFactory::createWebSocketCreateData):
3391 (WebCore::TimelineRecordFactory::createGenericWebSocketData):
3392 * inspector/WorkerConsoleAgent.cpp:
3393 * inspector/WorkerDebuggerAgent.cpp:
3394 * inspector/WorkerInspectorController.cpp:
3395 * inspector/WorkerInspectorController.h:
3396 * inspector/WorkerRuntimeAgent.cpp:
3397 (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
3398 * inspector/WorkerRuntimeAgent.h:
3400 * page/ContentSecurityPolicy.cpp:
3402 * page/PageConsole.cpp:
3403 * plugins/PluginView.cpp:
3404 (WebCore::PluginView::performRequest):
3405 * testing/Internals.cpp:
3406 (WebCore::Internals::parserMetaData):
3407 * testing/Internals.h:
3408 * workers/SharedWorkerGlobalScope.cpp:
3409 (WebCore::createConnectEvent):
3410 * workers/WorkerGlobalScope.cpp:
3411 (WebCore::WorkerGlobalScope::importScripts):
3412 * workers/WorkerThread.cpp:
3413 * xml/XMLTreeViewer.cpp:
3414 * xml/parser/XMLDocumentParser.cpp:
3415 * xml/parser/XMLDocumentParserLibxml2.cpp:
3417 2013-12-11 Laszlo Vidacs <lac@inf.u-szeged.hu>
3419 Store SHA1 hash in std::array
3420 https://bugs.webkit.org/show_bug.cgi?id=125446
3422 Reviewed by Darin Adler.
3424 Change Vector to std::array and use typedef.
3426 * Modules/websockets/WebSocketHandshake.cpp:
3427 (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
3428 * inspector/DOMPatchSupport.cpp:
3429 (WebCore::DOMPatchSupport::createDigest):
3430 * platform/network/soup/ResourceHandleSoup.cpp:
3431 (WebCore::HostTLSCertificateSet::computeCertificateHash):
3433 2013-12-11 Alexey Proskuryakov <ap@apple.com>
3435 WebCrypto keys should support structured clone
3436 https://bugs.webkit.org/show_bug.cgi?id=125590
3438 Reviewed by Oliver Hunt.
3440 Tests: crypto/subtle/aes-postMessage.html
3441 crypto/subtle/hmac-postMessage.html
3442 crypto/subtle/postMessage-worker.html
3443 crypto/subtle/rsa-postMessage.html
3445 * crypto/CryptoAlgorithmIdentifier.h:
3446 (WebCore::CryptoAlgorithmIdentifier):
3447 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
3448 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
3449 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
3450 (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
3451 (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
3452 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
3453 (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
3454 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
3455 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
3456 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
3457 (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
3458 AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
3459 adding a matching enum for structired clone serialization, it's as good a time as
3460 any to update the order of values to match.
3462 * bindings/js/SerializedScriptValue.cpp:
3463 (WebCore::countUsages):
3464 (WebCore::CloneSerializer::dumpIfTerminal):
3465 (WebCore::CloneSerializer::write):
3466 (WebCore::CloneDeserializer::read):
3467 (WebCore::CloneDeserializer::readHMACKey):
3468 (WebCore::CloneDeserializer::readAESKey):
3469 (WebCore::CloneDeserializer::readRSAKey):
3470 (WebCore::CloneDeserializer::readCryptoKey):
3471 (WebCore::CloneDeserializer::readTerminal):
3472 Added serialization/deserialization for CryptoKey. This doesn't update version
3473 number, because we don't currently store structured clones in persistent storage -
3474 and even if we did, we wouldn't want to invalidate everything users already stored.
3476 * crypto/CryptoAlgorithmRegistry.cpp:
3477 (WebCore::CryptoAlgorithmRegistry::shared):
3478 (WebCore::registryMutex):
3479 (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
3480 (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
3481 (WebCore::CryptoAlgorithmRegistry::create):
3482 (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
3483 * crypto/CryptoKey.idl:
3484 With structured clone, it is now possible to send a Key to a web worker. That's
3485 of no practical use because the crypto API is not exposed in workers, but we
3486 shouldn't crash anyway.
3488 * crypto/keys/CryptoKeyAES.cpp:
3489 (WebCore::CryptoKeyAES::CryptoKeyAES):
3490 (WebCore::CryptoKeyAES::isValidAESAlgorithm):
3491 * crypto/keys/CryptoKeyAES.h:
3492 Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
3497 * WebCore.vcxproj/WebCore.vcxproj.filters:
3498 * WebCore.vcxproj/WebCoreCommon.props:
3499 Added crypto/keys to search paths to avoid build breakage.
3501 2013-12-11 Bear Travis <betravis@adobe.com>
3503 Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
3504 https://bugs.webkit.org/show_bug.cgi?id=125175
3506 Reviewed by Darin Adler.
3508 In addition to highlighting the shape, also highlight the shape created
3509 by shape-margin with a slightly more transparent color. This patch modifies
3510 the shape info passed to the Inspector Overlay to include a path for both
3511 the raw shape and the shape with margin.
3513 Test: inspector-protocol/model/highlight-shape-outside-margin.html
3515 * inspector/InspectorOverlay.cpp:
3516 (WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
3517 Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
3518 * inspector/InspectorOverlayPage.js:
3519 (_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
3520 * rendering/shapes/BoxShape.cpp:
3521 (WebCore::addRoundedRect): Add a rounded rect to the path.
3522 (WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
3523 * rendering/shapes/BoxShape.h:
3524 * rendering/shapes/PolygonShape.cpp:
3525 (WebCore::addPolygon): Add a set of vertices as a polygon to the path.
3526 (WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
3527 * rendering/shapes/PolygonShape.h:
3528 * rendering/shapes/RasterShape.h:
3529 (WebCore::RasterShape::buildDisplayPaths): Ditto.
3530 * rendering/shapes/RectangleShape.cpp:
3531 (WebCore::RectangleShape::buildDisplayPaths): Ditto.
3532 * rendering/shapes/RectangleShape.h:
3533 * rendering/shapes/Shape.h:
3535 2013-12-11 Mario Sanchez Prada <mario.prada@samsung.com>
3537 [ATK] Expose accessibility objects WAI-ARIA landmark roles
3538 https://bugs.webkit.org/show_bug.cgi?id=125584
3540 Reviewed by Chris Fleizach.
3542 Exposed accessibility objects with landmark roles with the proper
3543 AtkRole, to be provided by the next stable release of ATK.
3545 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3546 (webkitAccessibleGetAttributes):
3549 2013-12-11 José Dapena Paz <jdapena@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
3551 [GTK] Add a UPower-based BatteryProvider
3552 https://bugs.webkit.org/show_bug.cgi?id=115719
3554 Reviewed by Martin Robinson.
3556 Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
3557 using the upower-glib library.
3559 The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
3560 up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.
3562 When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
3563 and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
3564 discharging). This gives a set of data that covers the overall battery status of the system.
3566 This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
3567 by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
3568 appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
3569 calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
3570 the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
3571 updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
3572 the second parameter representing the time left until the battery is fully charged (when charging) or fully
3573 depleted (when discharging), and the third parameter representing the current battery level.
3575 Whenever the implementation cannot provide any information about the battery status of the system, the client's
3576 updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
3577 about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
3578 available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
3579 status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
3580 the positive infinity (as per the Battery Status API specification).
3582 The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.
3584 No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.
3586 * GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
3587 * platform/glib/BatteryProviderUPower.cpp: Added.
3588 (powerDeviceAlterationCallback):
3589 (BatteryProviderUPower::BatteryProviderUPower):
3590 (BatteryProviderUPower::startUpdating):
3591 (BatteryProviderUPower::stopUpdating):
3592 (BatteryProviderUPower::updateBatteryStatus):
3593 * platform/glib/BatteryProviderUPower.h: Added.
3595 (BatteryProviderUPower):
3596 * platform/glib/BatteryProviderUPowerClient.h: Added.
3598 (BatteryProviderUPowerClient):
3600 2013-12-11 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3602 Improving createOffer and createAnswer LayoutTests
3603 https://bugs.webkit.org/show_bug.cgi?id=125568
3605 Reviewed by Philippe Normand.
3607 The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
3608 when creating an answer.
3610 Existing tests were updated.
3612 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3613 (WebCore::RTCPeerConnectionHandlerMock::createOffer):
3615 2013-12-11 Michał Pakuła vel Rutka <m.pakula@samsung.com>
3617 [EFL] Fix build with CONTEXT_MENUS flag set OFF
3618 https://bugs.webkit.org/show_bug.cgi?id=125572
3620 Reviewed by Gyuyoung Kim.
3622 dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
3623 thus its definition in InspectorFrontendHost should not be guarded by this flag.
3625 No new tests, no behaviour change.
3627 * inspector/InspectorFrontendHost.cpp:
3628 (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
3630 2013-12-11 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
3632 [CURL] Build fails after r160386.
3633 https://bugs.webkit.org/show_bug.cgi?id=125571
3635 Reviewed by Zoltan Herczeg.
3639 Fix a typo in commit r160386 that prevents building with curl.
3641 * platform/network/curl/CurlCacheEntry.cpp:
3642 (WebCore::CurlCacheEntry::generateBaseFilename):
3644 2013-12-11 Rob Buis <rob.buis@samsung.com>
3646 [CSS Shapes] Take into account fill-rule for polygon interpolation
3647 https://bugs.webkit.org/show_bug.cgi?id=125508
3649 Reviewed by Dirk Schulze.
3651 Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.
3653 Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.
3655 * rendering/style/BasicShapes.cpp:
3656 (WebCore::BasicShape::canBlend):
3658 2013-12-11 Mario Sanchez Prada <mario.prada@samsung.com>
3660 Programmatically-inserted children lack accessibility events
3661 https://bugs.webkit.org/show_bug.cgi?id=100275
3663 Reviewed by Chris Fleizach.
3665 Test: accessibility/children-changed-sends-notification.html
3667 Emit children-changed::add and children-changed::remove whenever
3668 an object has been added/removed to the accessibility hierarchy,
3669 that is, when a new AtkObject is being attached/detached.
3671 * accessibility/AXObjectCache.h: Added new enumeration to know
3672 when we are detaching a wrapper because of the cache or the
3673 element is being destroyed, so we can use that information.
3674 (WebCore::AXObjectCache::detachWrapper): Added a new parameter and
3675 updated all the prototypes in different ports.
3676 * accessibility/AXObjectCache.cpp:
3677 (WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
3678 specifying that we do it because the cache is being destroyed.
3679 (WebCore::AXObjectCache::remove): Call detachWrapper() specifying
3680 that we do it because an accessible element is being destroyed.
3682 * accessibility/atk/AXObjectCacheAtk.cpp:
3683 (WebCore::AXObjectCache::detachWrapper): Emit the children-changed
3684 signal when needed. We rely on the cached reference to the parent
3685 AtkObject (using the implementation of atk_object_get_parent from
3686 the AtkObject class) to find the right object to emit the signal
3687 from here, since the accessibility hierarchy from WebCore will no
3688 longer be accessible at this point.
3689 (WebCore::AXObjectCache::attachWrapper): Emit the children-change
3690 signal from here unless we are in the middle of a layout update,
3691 trying to provide as much information (e.g. the offset) as possible.
3692 (WebCore::AXObjectCache::postPlatformNotification): Make sure we
3693 update (touch) the subtree under an accessibility object whenever
3694 we receive AXChildrenChanded from WebCore, to ensure that those
3695 objects will also be visible rightaway to ATs, and that those get
3696 properly notified of the event at that very same moment.
3698 * accessibility/ios/AXObjectCacheIOS.mm:
3699 (WebCore::AXObjectCache::detachWrapper): Updated function signature.
3700 * accessibility/mac/AXObjectCacheMac.mm:
3701 (WebCore::AXObjectCache::detachWrapper): Ditto.
3702 * accessibility/win/AXObjectCacheWin.cpp:
3703 (WebCore::AXObjectCache::detachWrapper): Ditto.
3705 2013-12-11 Andreas Kling <akling@apple.com>
3707 REGRESSION(r160389): SVG test assertion extravaganza.
3709 Unreviewed. Use getAttribute() instead of fastGetAttribute() for
3710 the "type" attribute since it's animatable on SVG elements.
3712 2013-12-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3714 Set m_nextBreakablePosition as private in InlineIterator, and use it.
3715 https://bugs.webkit.org/show_bug.cgi?id=125482
3717 Reviewed by Andreas Kling.
3719 InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
3720 This patch set it as private, and add getter/setter functions for it.
3722 No new tests, no behavior changes.
3724 * rendering/InlineIterator.h:
3725 (WebCore::InlineIterator::InlineIterator):
3726 (WebCore::InlineIterator::nextBreakablePosition):
3727 (WebCore::InlineIterator::setNextBreakablePosition):
3728 * rendering/line/BreakingContextInlineHeaders.h:
3729 (WebCore::BreakingContext::handleText):
3731 2013-12-10 Gurpreet Kaur <k.gurpreet@samsung.com>
3733 top and bottom black background line not getting displayed
3734 https://bugs.webkit.org/show_bug.cgi?id=21664
3736 Reviewed by Simon Fraser.
3738 The table cell's background was not being displayed. Since the table
3739 cell had no child correct offsetWidth was not being set even if table
3740 width is being defined.
3742 Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
3744 * rendering/AutoTableLayout.cpp:
3745 (WebCore::AutoTableLayout::recalcColumn):
3746 cellHasContent should also be set to true incase background color is
3749 2013-12-10 Beth Dakin <bdakin@apple.com>
3751 Horizontal rubber-banding without a horizontal scrollbar is distracting
3752 https://bugs.webkit.org/show_bug.cgi?id=125550
3754 Reviewed by Simon Fraser.
3756 Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only
3757 rubber-band horizontally when there is a horizontal scrollbar.
3759 * page/FrameView.cpp:
3760 (WebCore::FrameView::FrameView):
3762 2013-12-10 Martin Robinson <mrobinson@igalia.com>
3764 Correct a preprocessor guard from a mis-merged patch
3766 In r160367, I mismerged a patch from Gustavo Noronha. This commit
3767 fixes the merge and thus fixes the CMake build.
3769 * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
3771 2013-12-10 Rob Buis <rob.buis@samsung.com>
3773 Clean up SVGScriptElement
3774 https://bugs.webkit.org/show_bug.cgi?id=125527
3776 Reviewed by Sam Weinig.
3778 Rewrite to not store type in m_type and also remove type getter/setter.
3780 * svg/SVGScriptElement.cpp:
3781 (WebCore::SVGScriptElement::parseAttribute):
3782 (WebCore::SVGScriptElement::typeAttributeValue):
3783 * svg/SVGScriptElement.h:
3784 * svg/SVGScriptElement.idl:
3786 2013-12-10 Laszlo Vidacs <lac@inf.u-szeged.hu>
3788 Use std::array when computing MD5 checksum
3789 https://bugs.webkit.org/show_bug.cgi?id=125509
3791 Reviewed by Anders Carlsson.
3793 Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
3795 * platform/network/curl/CurlCacheEntry.cpp:
3796 (WebCore::CurlCacheEntry::generateBaseFilename):
3798 2013-12-10 Mario Sanchez Prada <mario.prada@samsung.com>
3800 [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
3801 https://bugs.webkit.org/show_bug.cgi?id=125522
3803 Reviewed by Chris Fleizach.
3805 Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
3807 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3810 2013-12-10 Mario Sanchez Prada <mario.prada@samsung.com>
3812 [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
3813 https://bugs.webkit.org/show_bug.cgi?id=125521
3815 Reviewed by Chris Fleizach.
3817 Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
3818 ATK_ROLE_ALERT instead.
3820 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3823 2013-12-10 Brendan Long <b.long@cablelabs.com>
3825 [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
3826 https://bugs.webkit.org/show_bug.cgi?id=125411
3828 Reviewed by Philippe Normand.
3830 No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).
3832 * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
3833 (webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
3834 (webkitTextCombinerPadEvent): Add locking.
3835 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
3836 (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
3837 (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
3838 (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.
3839 (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
3840 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
3842 2013-12-10 László Langó <lango@inf.u-szeged.hu>
3844 PageConsole::addMessage should automatically determine column number alongside line number
3845 https://bugs.webkit.org/show_bug.cgi?id=114319
3847 Reviewed by Joseph Pecoraro.
3849 * dom/InlineStyleSheetOwner.cpp:
3850 (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
3851 * dom/ScriptElement.cpp:
3852 (WebCore::ScriptElement::ScriptElement):
3853 * dom/ScriptableDocumentParser.h:
3854 * dom/StyledElement.cpp:
3855 (WebCore::StyledElement::styleAttributeChanged):
3856 * html/parser/HTMLDocumentParser.cpp:
3857 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
3858 (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
3859 * html/parser/HTMLDocumentParser.h:
3860 * inspector/InspectorResourceAgent.cpp:
3861 (WebCore::InspectorResourceAgent::buildInitiatorObject):
3863 (WebCore::internalAddMessage):
3864 * page/PageConsole.cpp:
3865 (WebCore::PageConsole::printSourceURLAndPosition):
3866 (WebCore::PageConsole::addMessage):
3867 * page/PageConsole.h:
3868 * xml/parser/XMLDocumentParser.h:
3869 * xml/parser/XMLDocumentParserLibxml2.cpp:
3870 (WebCore::XMLDocumentParser::error):
3872 2013-12-10 Andreas Kling <akling@apple.com>
3874 Jettison all StyleResolver data on memory pressure.
3875 <https://webkit.org/b/125498>
3877 The StyleResolver can be rebuilt relatively quickly; we already
3878 have an optimization that discards it some time after last use.
3880 If we find ourseles under serious memory pressure, don't wait for
3881 the timer to kick in, throw everything overboard right away.
3883 ~5MB progression post-pressure on Membuster3.
3885 Reviewed by Anders Carlsson.
3887 2013-12-10 Martin Robinson <mrobinson@igalia.com>
3889 [GTK] [CMake] Add support for building the DOM bindings
3890 https://bugs.webkit.org/show_bug.cgi?id=116375
3892 Reviewed by Gustavo Noronha Silva.
3894 The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
3895 some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
3896 protect these attributes from DOM binding generation.
3898 * Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
3899 * Modules/battery/NavigatorBattery.idl: Ditto.
3900 * Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
3901 * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
3902 * Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
3903 * PlatformGTK.cmake: Add build steps for building the bindings.
3904 * dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
3905 * html/HTMLMediaElement.idl: Ditto.
3907 2013-12-10 Martin Robinson <mrobinson@igalia.com>
3909 Various fixes for the CMake GTK+ build
3911 Reviewed by Gustavo Noronha.
3913 * PlatformGTK.cmake: Update source list.
3915 2013-12-10 Robert Sipka <sipka@inf.u-szeged.hu>
3917 [nix][curl] Buildfix after r160310
3918 https://bugs.webkit.org/show_bug.cgi?id=125489
3920 Reviewed by Gustavo Noronha Silva.
3922 Curl doesn't include soup files.
3924 * PlatformNix.cmake:
3926 2013-12-10 Gustavo Noronha Silva <gns@gnome.org>
3928 [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
3929 https://bugs.webkit.org/show_bug.cgi?id=125444
3931 Reviewed by Martin Robinson.
3933 * platform/gtk/UserAgentGtk.cpp:
3934 (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
3935 (WebCore::standardUserAgent): ditto.
3937 2013-12-09 Gustavo Noronha Silva <gns@gnome.org>
3939 [Soup] Send original encoded data size to didReceiveBuffer
3940 https://bugs.webkit.org/show_bug.cgi?id=125410
3942 Reviewed by Martin Robinson.
3944 No tests, the only way to test this seems to be through the inspector UI.
3946 * platform/network/ResourceHandle.h:
3947 * platform/network/ResourceHandleInternal.h:
3948 (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
3950 * platform/network/soup/ResourceHandleSoup.cpp:
3951 (WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
3952 the first seekable input stream we find.
3953 (WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
3954 (WebCore::sendRequestCallback): store the position before we start reading the response body.
3955 (WebCore::readCallback): pass the position delta to didReceiveData.
3957 2013-12-09 Andreas Kling <akling@apple.com>
3959 Clear out font width measurement caches on memory pressure.
3960 <https://webkit.org/b/125481>
3962 The data kept in WidthCaches can be regenerated on demand. Throwing
3963 it away when we're under memory pressure buys us ~4MB on Membuster3.
3965 Reviewed by Antti Koivisto.
3967 2013-12-09 Seokju Kwon <seokju@webkit.org>
3969 Web Inspector: Remove enabled() in InspectorRuntimeAgent.
3970 https://bugs.webkit.org/show_bug.cgi?id=125476
3972 Reviewed by Joseph Pecoraro.
3974 Dead code. It's never called anywhere.