[Mac] Text replacement should use correction indicator
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-05-01  Ryosuke Niwa  <rniwa@webkit.org>
2
3         [Mac] Text replacement should use correction indicator
4         https://bugs.webkit.org/show_bug.cgi?id=115471
5
6         Reviewed by Darin Adler.
7
8         Support autocorrection panel for text replacements by making AlternativeTextTypeCorrection
9         handle text replacements as well as automatic spelling correction.
10
11         No new tests. Unfortunately this feature is not testable as is. We need to provide some
12         internals or testRunner methods to make this feature testable in the long term.
13
14         * editing/AlternativeTextController.cpp:
15         (WebCore::AlternativeTextController::timerFired): Trigger both TextCheckingTypeReplacement
16         and TextCheckingTypeShowCorrectionPanel.
17
18         * editing/Editor.cpp:
19         (WebCore::Editor::markAndReplaceFor): Autocorrection panel maybe used for both
20         TextCheckingTypeReplacement and TextCheckingTypeShowCorrectionPanel.
21
22 2013-05-01  Tim Horton  <timothy_horton@apple.com>
23
24         Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry
25         https://bugs.webkit.org/show_bug.cgi?id=115487
26
27         Reviewed by Darin Adler.
28
29         No new tests, just a refactoring.
30
31         * WebCore.exp.in:
32         Export newly-added isPDFOrPostScriptMIMEType and getPDFAndPostScriptMIMETypes.
33
34         * dom/DOMImplementation.cpp:
35         (WebCore::DOMImplementation::createDocument):
36         Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType instead of duplicating
37         the list of MIME types. The previous list did not include PostScript, but
38         it seems reasonable to put plugins ahead of built-in support for it in addition to PDF.
39
40         * platform/MIMETypeRegistry.cpp:
41         (WebCore::initializePDFAndPostScriptMIMETypes): Added.
42         (WebCore::initializeMIMETypeRegistry): Call initializePDFAndPostScriptMIMETypes.
43         (WebCore::MIMETypeRegistry::isPDFOrPostScriptMIMEType):
44         Consult our new HashSet to see if the given MIME type is one of those used for PDF or PS.
45
46         (WebCore::MIMETypeRegistry::getPDFAndPostScriptMIMETypes): Added.
47         * platform/MIMETypeRegistry.h:
48         (MIMETypeRegistry): Add isPDFOrPostScriptMIMEType and getPDFAndPostScriptMIMETypes.
49
50 2013-05-01  Anders Carlsson  <andersca@apple.com>
51
52         Implement LocalStorageDatabase::importItems
53         https://bugs.webkit.org/show_bug.cgi?id=115493
54
55         Reviewed by Andreas Kling.
56
57         Export symbols needed by WebKit2.
58
59         * WebCore.exp.in:
60
61 2013-05-01  Anders Carlsson  <andersca@apple.com>
62
63         Begin work on loading items from the local storage database
64         https://bugs.webkit.org/show_bug.cgi?id=115489
65
66         Reviewed by Andreas Kling.
67
68         Export symbols and SQLite headers needed.
69
70         * WebCore.exp.in:
71         * WebCore.xcodeproj/project.pbxproj:
72
73 2013-05-01  Hans Muller  <hmuller@adobe.com>
74         [CSS Exclusions] Programmatic layout tests fail when subpixel layout is disabled
75         https://bugs.webkit.org/show_bug.cgi?id=115455
76
77         First round of changes to restore platform/mac exclusion tests that started failing when
78         subpixel layout was turned off.
79
80         Reviewed by Dirk Schulze.
81
82         * rendering/ExclusionPolygon.cpp:
83         (WebCore::appendArc): Ensure that the 3rd of 5 added vertices is in the center of the arc.
84         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Use ceiledLayoutUnit() for downwards-snapping first fit location.
85         * rendering/ExclusionRectangle.cpp:
86         (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): Ditto.
87
88 2013-05-01  Enrica Casucci  <enrica@apple.com>
89
90         Incorrect layout for blocks containing ideographs with -webkit-linebox-contain: glyphs, font, inline-box.
91         https://bugs.webkit.org/show_bug.cgi?id=115478.
92
93         Reviewed by Dave Hyatt.
94
95         Test: fast/block/lineboxcontain/block-with-ideographs.xhtml
96
97         When computing ascent and descent we need to take into account
98         the baseline type. RootInlineBox::ascentAndDescentForBox failed
99         to do that in few cases.
100
101         * rendering/RootInlineBox.cpp:
102         (WebCore::RootInlineBox::ascentAndDescentForBox):
103
104 2013-05-01  Anders Carlsson  <andersca@apple.com>
105
106         Add LocalStorageDatabase class
107         https://bugs.webkit.org/show_bug.cgi?id=115486
108
109         Reviewed by Sam Weinig.
110
111         Export symbols needed by WebKit2.
112
113         * WebCore.exp.in:
114
115 2013-05-01  Eric Carlson  <eric.carlson@apple.com>
116
117         [Mac Lion] Assertion failure in MediaControlTextTrackContainerElement::updateDisplay()
118         https://bugs.webkit.org/show_bug.cgi?id=115289
119
120         Reviewed by Jer Noble.
121
122         No new tests, this is a speculative fix for an infrequent assertion.
123
124         * html/HTMLMediaElement.cpp:
125         (WebCore::HTMLMediaElement::textTrackRemoveCue): Mark the cue as inactive when it is removed
126             from the active set.
127
128 2013-05-01  Joseph Pecoraro  <pecoraro@apple.com>
129
130         TextTrackMenu crashes in ports where MediaElement players are lazily created
131         https://bugs.webkit.org/show_bug.cgi?id=115485
132
133         Null check the player for ports, like iOS, that lazily create the player.
134
135         Reviewed by Eric Carlson.
136
137         * html/HTMLMediaElement.cpp:
138         (WebCore::HTMLMediaElement::platformTextTrackMenu):
139         (WebCore::HTMLMediaElement::closeCaptionTracksChanged):
140
141 2013-05-01  Anders Carlsson  <andersca@apple.com>
142
143         Add FunctionDispatcher class and make RunLoop derive from it
144         https://bugs.webkit.org/show_bug.cgi?id=115480
145
146         Reviewed by Sam Weinig.
147
148         Change RunLoop to be a subclass of FunctionDispatcher.
149
150         * platform/RunLoop.h:
151         (RunLoop):
152
153 2013-05-01  Eric Carlson  <eric.carlson@apple.com>
154
155         HTMLMediaElement::updateActiveTextTrackCues can do unnecessary work
156         https://bugs.webkit.org/show_bug.cgi?id=81856
157
158         Reviewed by Jer Noble.
159
160         No new tests, covered by existing tests.
161
162         * html/HTMLMediaElement.h:
163         (WebCore::HTMLMediaElement::ignoreTrackDisplayUpdateRequests): Add an early return when there
164             is obviously no work to be done.
165
166 2013-04-30  Jer Noble  <jer.noble@apple.com>
167
168         Closed caption lines overlap
169         https://bugs.webkit.org/show_bug.cgi?id=115438
170         <rdar://problem/13351747>
171
172         Reviewed by Eric Carlson.
173
174         Take the line-box padding into account when determining line hight by setting
175         the -webkit-line-box-contain property to include 'inline-box'.
176
177         * css/mediaControls.css:
178         (video::-webkit-media-text-track-container):
179
180 2013-05-01  David Kilzer  <ddkilzer@apple.com>
181
182         BUILD FIX (r149410): CFRunLoopStop() doesn't know what to do with a RetainPtr<CFRunLoopRef>
183
184         Fixes the following build failure:
185
186             WebCore/platform/cf/RunLoopCF.cpp:82:5: error: no matching function for call to 'CFRunLoopStop'
187                 CFRunLoopStop(m_runLoop);
188                 ^~~~~~~~~~~~~
189
190         * platform/cf/RunLoopCF.cpp:
191         (WebCore::RunLoop::stop): Call RetainPtr::get().
192
193 2013-05-01  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
194
195         EventSource: Loss of reconnect time precision due to integer division
196         https://bugs.webkit.org/show_bug.cgi?id=115358
197
198         Make sure precision is not lost when converting the reconnect time from milliseconds to seconds.
199
200         Reviewed by Alexey Proskuryakov.
201
202         Test: http/tests/eventsource/eventsource-retry-precision.html
203
204         * page/EventSource.cpp:
205         (WebCore::EventSource::scheduleReconnect):
206
207 2013-05-01  Andreas Kling  <akling@apple.com>
208
209         REGRESSION(r149287): Assertion failure in fast/frames/flattening/iframe-flattening-crash.html
210         <http://webkit.org/b/115386>
211         <rdar://problem/13769995>
212
213         Reviewed by Antti Koivisto.
214
215         Only send synchronous resize events for the main frame. Subframes change size during layout,
216         so it never really makes sense for them to use synchronous dispatch anyway.
217
218         * page/FrameView.cpp:
219         (WebCore::FrameView::dispatchResizeEvent):
220
221 2013-05-01  Csaba Osztrogonác  <ossy@webkit.org>
222
223         Unreviewed trivial buildfix after r149432.
224
225         * testing/Internals.cpp:
226         (WebCore):
227
228 2013-05-01  Sergio Villar Senin  <svillar@igalia.com>
229
230         Show a block cursor in overtype mode
231         https://bugs.webkit.org/show_bug.cgi?id=114819
232
233         Reviewed by Ryosuke Niwa.
234
235         Test: editing/selection/block-cursor-overtype-mode.html
236
237         Overtype mode will use block cursor instead of a caret to
238         highlight the next character to be replaced. It will fully cover
239         the next character to be replaced (except at the end of a line
240         where the usual blinking caret will be shown).
241
242         This new block cursor is internally implemented as a selection
243         (not exposed to JavaScript) because the selection code knows how
244         to deal with bidi text.
245
246         * WebCore.exp.in: Export symbols for testing purposes.
247         * WebCore.order: Ditto.
248         * editing/Editor.cpp:
249         (WebCore::Editor::toggleOverwriteModeEnabled): Added a call to
250         FrameLoader::setShouldShowBlockCursor.
251         (WebCore):
252         * editing/Editor.h:
253         (Editor):
254         * editing/FrameSelection.cpp:
255         (WebCore::FrameSelection::FrameSelection):
256         (WebCore::FrameSelection::updateAppearance): Use a 1-character
257         long selection to paint the cursor in overtype mode.
258         (WebCore::FrameSelection::setShouldShowBlockCursor):
259         (WebCore):
260         * editing/FrameSelection.h:
261         (WebCore::FrameSelection::shouldShowBlockCursor):
262         (FrameSelection):
263         * testing/Internals.cpp:
264         (WebCore):
265         (WebCore::Internals::selectionBounds): Added a new method which
266         returns the IntRect issued by FrameSelection::bounds().
267         * testing/Internals.h: Ditto.
268         * testing/Internals.idl: Ditto.
269
270 2013-04-30  Darin Adler  <darin@apple.com>
271
272         [Mac] Remove adoptNS/retain pairs, since the two cancel each other out
273         https://bugs.webkit.org/show_bug.cgi?id=115426
274
275         Reviewed by Anders Carlsson.
276
277         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
278         (PlatformCAAnimation::PlatformCAAnimation):
279         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
280         (PlatformCAFilters::filterValueForOperation):
281         * platform/network/mac/ResourceResponseMac.mm:
282         (WebCore::ResourceResponse::nsURLResponse):
283         Remove adoptNS and release from code that is doing both.
284
285 2013-04-29  Sam Weinig  <sam@webkit.org>
286
287         Add API to allow WebKit2 banners to get mouse events
288         https://bugs.webkit.org/show_bug.cgi?id=115395
289
290         Reviewed by Beth Dakin.
291
292         * WebCore.exp.in:
293         * platform/ScrollView.cpp:
294         (WebCore::ScrollView::rootViewToTotalContents):
295         * platform/ScrollView.h:
296         Add and expose rootViewToTotalContents().
297
298 2013-04-30  Anders Carlsson  <andersca@apple.com>
299
300         Make RunLoop ref-counted
301         https://bugs.webkit.org/show_bug.cgi?id=115384
302
303         Reviewed by Benjamin Poulain.
304
305         Add a RunLoop::Holder class which creates and holds the ref-counted RunLoop object.
306
307         * platform/RunLoop.cpp:
308         (RunLoop::Holder):
309         (WebCore::RunLoop::Holder::Holder):
310         (WebCore::RunLoop::Holder::runLoop):
311         (WebCore::RunLoop::current):
312         * platform/RunLoop.h:
313
314 2013-04-30  Anders Carlsson  <andersca@apple.com>
315
316         Clean up RunLoop code
317         https://bugs.webkit.org/show_bug.cgi?id=115454
318
319         Reviewed by Andreas Kling.
320
321         Delete a couple of functions from RunLoopCF.cpp and just use the generic ones in RunLoop.cpp,
322         use RetainPtr instead of manual retain/release. Always use an AutoreleasePool when calling performWork or timers.
323
324         * platform/RunLoop.cpp:
325         (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
326         (WebCore):
327         * platform/RunLoop.h:
328         (TimerBase):
329         (RunLoop):
330         * platform/cf/RunLoopCF.cpp:
331         (WebCore::RunLoop::performWork):
332         (WebCore::RunLoop::RunLoop):
333         (WebCore::RunLoop::~RunLoop):
334         (WebCore::RunLoop::wakeUp):
335         (WebCore::RunLoop::TimerBase::timerFired):
336         (WebCore::RunLoop::TimerBase::TimerBase):
337         (WebCore::RunLoop::TimerBase::start):
338         (WebCore::RunLoop::TimerBase::stop):
339         (WebCore::RunLoop::TimerBase::isActive):
340         * platform/mac/RunLoopMac.mm:
341         (WebCore::RunLoop::run):
342         (WebCore::RunLoop::stop):
343
344 2013-04-30  David Hyatt  <hyatt@apple.com>
345
346         <button> ignores margin-bottom.
347         https://bugs.webkit.org/show_bug.cgi?id=114940
348         
349         Reviewed by Beth Dakin.
350
351         Make sure that the inner block inside the <button> (flexbox) acts like it
352         establishes a block formatting context, i.e., it should refuse to collapse
353         its margins with its children. This causes margins to stay inside the <button>
354         and be honored, adding to the button's overall height.
355         
356         Basically we have to remove the restriction that anonymous blocks can't be
357         BFCs on the bottom margin.
358
359         Added fast/forms/content-with-margins-inside-button.html
360
361         * rendering/RenderBlock.cpp:
362         (WebCore::RenderBlock::handleAfterSideOfBlock):
363
364 2013-04-30  Andrei Bucur  <abucur@adobe.com>
365
366         Cleanup HTMLOListElement<->RenderListItem bridge
367         https://bugs.webkit.org/show_bug.cgi?id=115434
368
369         Reviewed by Darin Adler.
370
371         Refactor the way HTMLOListElement is accessing its list items. Instead
372         of exposing the nextListItem function, wrap the desiredfunctionality
373         in static methods on RenderListItem. This should make the code more readable.
374         I've also added more constness to some functions in RenderListItem.
375
376         Tests: No new tests, just refactoring.
377
378         * html/HTMLOListElement.cpp:
379         (WebCore::HTMLOListElement::updateItemValues): Use updateItemValuesForOrderedList.
380         (WebCore::HTMLOListElement::recalculateItemCount): Use itemCountForOrderedList.
381         * rendering/RenderListItem.cpp:
382         (WebCore::isList): Add more constness.
383         (WebCore::nextListItem): Make local to the CPP and add constness.
384         (WebCore::previousListItem): Add constness.
385         (WebCore::RenderListItem::updateItemValuesForOrderedList): Called by OL elements.
386         (WebCore::RenderListItem::itemCountForOrderedList): Called by OL elements.
387         (WebCore::previousOrNextItem):
388         * rendering/RenderListItem.h: Add updateItemValuesForOrderedList and itemCountForOrderedList.
389
390 2013-04-30  Anders Carlsson  <andersca@apple.com>
391
392         More StorageTracker cleanup
393         https://bugs.webkit.org/show_bug.cgi?id=115435
394
395         Reviewed by Andreas Kling.
396
397         Use bind instead of "onMainThread" helper functions.
398
399         * storage/StorageAreaSync.cpp:
400         (WebCore::StorageAreaSync::deleteEmptyDatabase):
401         * storage/StorageTracker.cpp:
402         (WebCore::StorageTracker::syncImportOriginIdentifiers):
403         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
404         (WebCore::StorageTracker::deleteOriginWithIdentifier):
405         * storage/StorageTracker.h:
406         (StorageTracker):
407
408 2013-04-30  Geoffrey Garen  <ggaren@apple.com>
409
410         Objective-C JavaScriptCore API should publicly support bridging to C
411         https://bugs.webkit.org/show_bug.cgi?id=115447
412
413         Reviewed by Mark Hahnenberg.
414
415         * bindings/js/ScriptControllerMac.mm:
416         (WebCore::ScriptController::javaScriptContext):
417         * bindings/objc/WebScriptObject.mm:
418         (-[WebScriptObject JSValue]):
419
420 2013-04-30  Simon Fraser  <simon.fraser@apple.com>
421
422         Fix an issue with JSPerformance.cpp in the WebCore.xcodeproj where
423         it was being recognized as a diretory rather than a file, introduced
424         in r149359.
425         
426         * WebCore.xcodeproj/project.pbxproj:
427
428 2013-04-30  Beth Dakin  <bdakin@apple.com>
429
430         Page::pageCount() is inaccurate when we allow the first paint in App Mode
431         https://bugs.webkit.org/show_bug.cgi?id=115442
432         -and corresponding-
433         <rdar://problem/13758445>
434
435         Reviewed by Dave Hyatt.
436
437         We should set the height here all the time, even if it is the first layout.
438         * rendering/RenderBlock.cpp:
439         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
440
441 2013-04-30  Andreas Kling  <akling@apple.com>
442
443         Don't create StyleResolvers just to invalidate them.
444         <http://webkit.org/b/115436>
445
446         Reviewed by Geoffrey Garen.
447
448         Renamed Document::styleResolver() to ensureStyleResolver() so it's clear that it never returns null.
449         Removed a bunch of unnecessary null-checks I spotted while doing this.
450
451         Also fixed Element::willModifyAttribute() and FrameView::setFrameRect() to not create a StyleResolver
452         and immediately invalidate it in some cases.
453
454         * css/FontLoader.cpp:
455         (WebCore::FontLoader::loadFont):
456         (WebCore::FontLoader::checkFont):
457         (WebCore::FontLoader::resolveFontStyle):
458         * css/MediaQueryMatcher.cpp:
459         (WebCore::MediaQueryMatcher::prepareEvaluator):
460         * css/StyleMedia.cpp:
461         (WebCore::StyleMedia::matchMedium):
462         * dom/Document.cpp:
463         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
464         (WebCore::Document::styleForPage):
465         * dom/Document.h:
466         (WebCore::Document::ensureStyleResolver):
467         * dom/DocumentStyleSheetCollection.cpp:
468         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
469         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
470         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
471         * dom/Element.cpp:
472         (WebCore::StyleResolverParentPusher::push):
473         (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
474         (WebCore::Element::styleForRenderer):
475         (WebCore::Element::recalcStyle):
476         (WebCore::Element::willModifyAttribute):
477         * dom/NodeRenderingContext.cpp:
478         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
479         * dom/ShadowRoot.cpp:
480         (WebCore::ShadowRoot::recalcStyle):
481         (WebCore::ShadowRoot::attach):
482         * dom/Text.cpp:
483         (WebCore::Text::recalcTextStyle):
484         * editing/EditingStyle.cpp:
485         (WebCore::styleFromMatchedRulesForElement):
486         * html/HTMLCanvasElement.cpp:
487         * html/HTMLCanvasElement.h:
488         * html/HTMLInputElement.cpp:
489         (WebCore::HTMLInputElement::customStyleForRenderer):
490         * html/HTMLOptGroupElement.cpp:
491         (WebCore::HTMLOptGroupElement::updateNonRenderStyle):
492         * html/HTMLOptionElement.cpp:
493         (WebCore::HTMLOptionElement::updateNonRenderStyle):
494         * html/HTMLPlugInImageElement.cpp:
495         (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
496         * html/canvas/CanvasRenderingContext2D.cpp:
497         (WebCore::CanvasRenderingContext2D::setFont):
498         * html/shadow/DateTimeEditElement.cpp:
499         (WebCore::DateTimeEditElement::customStyleForRenderer):
500         * inspector/InspectorCSSAgent.cpp:
501         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
502         * page/DOMWindow.cpp:
503         (WebCore::DOMWindow::getMatchedCSSRules):
504         * page/FrameView.cpp:
505         (WebCore::FrameView::setFrameRect):
506         * page/animation/KeyframeAnimation.cpp:
507         (WebCore::KeyframeAnimation::KeyframeAnimation):
508         * rendering/RenderListBox.cpp:
509         (WebCore::RenderListBox::updateFromElement):
510         (WebCore::RenderListBox::paintItemForeground):
511         * rendering/RenderMenuList.cpp:
512         (WebCore::RenderMenuList::fontSelector):
513         * rendering/RenderObject.cpp:
514         (WebCore::RenderObject::getUncachedPseudoStyle):
515         * rendering/RenderRegion.cpp:
516         (WebCore::RenderRegion::checkRegionStyle):
517         (WebCore::RenderRegion::computeStyleInRegion):
518         * rendering/RenderSearchField.cpp:
519         (WebCore::RenderSearchField::fontSelector):
520         * rendering/svg/RenderSVGInlineText.cpp:
521         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
522         * svg/SVGElement.cpp:
523         (WebCore::SVGElement::customStyleForRenderer):
524         * svg/SVGElementRareData.h:
525         (WebCore::SVGElementRareData::overrideComputedStyle):
526
527 2013-04-30  Simon Fraser  <simon.fraser@apple.com>
528
529         Cap max CALayer tree depth to avoid crashes
530         https://bugs.webkit.org/show_bug.cgi?id=115431
531         <rdar://problem/13401861>
532
533         Reviewed by Tim Horton.
534         
535         Core Animation can crash if fed deeply nested layer trees.
536         Avoid this by capping CALayer tree depth at some empirically-determined
537         level.
538
539         Test: compositing/layer-creation/deep-tree.html
540
541         * platform/graphics/ca/GraphicsLayerCA.h:
542         (WebCore::GraphicsLayerCA::CommitState::CommitState): Add treeDepth to the CommitState.
543         * platform/graphics/ca/GraphicsLayerCA.cpp: Set cMaxLayerTreeDepth to 250
544         (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): We need a dummy CommitState
545         here. It is not expected that flushCompositingStateForThisLayerOnly() will be called for
546         a layer in the middle of the hierarchy, only for custom-managed leaf layers, so we don't try
547         to compute the correct tree depth.
548         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass in the commitState. Since this is
549         copied for each frame, no need to decrement commitState.treeDepth.
550         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Increment treeDepth once or
551         twice. If we've reached max, be sure to set the ChildrenChanged flag. We delay tree truncation
552         until commitLayerChangesAfterSublayers() since ChildrenChanged can be set again when children
553         are being processed.
554         (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers):
555         (WebCore::GraphicsLayerCA::updateSublayerList): If we've hit max depth, just set
556         empty sublayers.
557
558 2013-04-30  Darin Adler  <darin@apple.com>
559
560         Formatting tweaks
561         https://bugs.webkit.org/show_bug.cgi?id=115427
562
563         Reviewed by Andreas Kling.
564
565         * platform/graphics/cg/GraphicsContext3DCG.cpp:
566         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): Fixed indenting to match
567         normal WebKit style.
568
569         * platform/mac/ScrollAnimatorMac.mm:
570         (WebCore::ScrollAnimatorMac::pinnedInDirection): Removed an excess "+" that is harmless
571         but strange.
572
573         * platform/mac/SharedBufferMac.mm: Tweaked blank lines for better paragraphing.
574
575 2013-04-30  Ryosuke Niwa  <rniwa@webkit.org>
576
577         Simplify ContainerNode::removeChildren
578         https://bugs.webkit.org/show_bug.cgi?id=115398
579
580         Reviewed by Andreas Kling.
581
582         Back port https://chromium.googlesource.com/chromium/blink/+/b981f01cd065236b5ff7e3a8446d15b384c1b557
583         by Andrei Bucur, which includes both this and his r148754.
584
585         * dom/ContainerNode.cpp:
586         (WebCore::ContainerNode::removeChildren):
587
588 2013-04-30  Carlos Garcia Campos  <cgarcia@igalia.com>
589
590         [SOUP] Move default buffer handling from ResourceHandleClient to ResourceHandlesoup
591         https://bugs.webkit.org/show_bug.cgi?id=115364
592
593         Reviewed by Martin Robinson.
594
595         ResourceHandleClient that is cross-platform file is not the right
596         place for the default ResourceHandle read buffer. We can make
597         getBuffer return 0 by default and handle it in ResourceHandleSoup,
598         creating a default buffer when the client doesn't provide one.
599
600         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
601         (StreamingClient::getOrCreateReadBuffer): Adapt to API change.
602         * platform/network/ResourceHandle.h:
603         (ResourceHandle): Add ensureReadBuffer().
604         * platform/network/ResourceHandleClient.cpp:
605         (WebCore::ResourceHandleClient::~ResourceHandleClient): Remove
606         soup specific code.
607         * platform/network/ResourceHandleClient.h:
608         (WebCore::ResourceHandleClient::getOrCreateReadBuffer): Rename
609         getBuffer() as getOrCreateReadBuffer() and use a reference for the
610         out parameter instead of a pointer.
611         (ResourceHandleClient): Remove soup specific code.
612         * platform/network/ResourceHandleInternal.h:
613         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Rename
614         m_buffer and m_bufferSize as m_readBufferPtr and m_readBufferSize
615         and add m_readBuffer to be used as default read buffer.
616         * platform/network/soup/ResourceHandleSoup.cpp:
617         (WebCore::ResourceHandle::ensureReadBuffer): Helper function to
618         make usre we have a read buffer before a read operation. It first
619         checks if the client provides a buffer and if it doesn't it
620         creates or reuses the default buffer.
621         (WebCore::redirectSkipCallback): Call ensureReadBuffer() and adapt
622         to variable name changes.
623         (WebCore::cleanupSoupRequestOperation): Adapt to variable name
624         changes.
625         (WebCore::nextMultipartResponsePartCallback): Call
626         ensureReadBuffer() and adapt to variable name changes.
627         (WebCore::sendRequestCallback): Ditto.
628         (WebCore::readCallback): Ditto.
629
630 2013-04-30  Andreas Kling  <akling@apple.com>
631
632         REGRESSION(r149287): Assertion failure in fast/frames/flattening/iframe-flattening-crash.html
633         <http://webkit.org/b/115386>
634         <rdar://problem/13769995>
635
636         Reviewed by Darin Adler.
637
638         Put the resize event on the Document's event queue if it happens while layout is in progress.
639         This avoids re-entering layout while laying out flattened subframes.
640
641         Also move the little logic for the resize event from EventHandler to FrameView (the only client.)
642
643         * page/EventHandler.cpp:
644         * page/EventHandler.h:
645         * page/FrameView.cpp:
646         (WebCore::FrameView::dispatchResizeEvent):
647
648 2013-04-30  Anders Carlsson  <andersca@apple.com>
649
650         Fix build.
651
652         * WebCore.exp.in:
653         * storage/StorageTracker.h:
654         (StorageTracker):
655
656 2013-04-30  Anders Carlsson  <andersca@apple.com>
657
658         More StorageTracker cleanup
659         https://bugs.webkit.org/show_bug.cgi?id=115429
660
661         Reviewed by Andreas Kling.
662
663         Make a bunch of member functions private, and remove StorageTracker::syncLocalStorage.
664
665         * WebCore.exp.in:
666         * storage/StorageTracker.cpp:
667         * storage/StorageTracker.h:
668         (StorageTracker):
669
670 2013-04-30  Andreas Kling  <akling@apple.com>
671
672         REGRESSION(r149313) Crash at WebCore::FrameView::setFrameRect() when navigating back to previous page while find banner is displayed.
673         <http://webkit.org/b/115421>
674         <rdar://problem/13765739>
675
676         Reviewed by Antti Koivisto.
677
678         Add missing null-checks for Document and StyleResolver when re-evaluating media queries due to viewport changes.
679
680         No layout test, since we can't show the find banner from WebCore, and I can't think of another way to
681         trigger a back navigation to a Document-less Frame that would also change the FrameView's size.
682
683         * page/FrameView.cpp:
684         (WebCore::FrameView::setFrameRect):
685
686 2013-04-30  Glenn Adams  <glenn@skynav.com>
687
688         The bison grammar for @supports should return 0 in case of an error
689         https://bugs.webkit.org/show_bug.cgi?id=115402
690
691         Reviewed by Darin Adler.
692
693         Back ported from https://chromium.googlesource.com/chromium/blink/+/74399c27c8b93286bae03a1d6371735935b34d85.
694
695         Test: css3/supports-crash.html
696
697         * css/CSSGrammar.y.in:
698
699 2013-04-30  Darin Adler  <darin@apple.com>
700
701         [CG] Over-release in MIME type registry code
702         https://bugs.webkit.org/show_bug.cgi?id=115423
703
704         Reviewed by Eric Carlson.
705
706         Sam Weinig spotted these by code inspection. I don't know how to make a test demonstrating
707         the problem, but this is clearly an over-release.
708
709         * platform/MIMETypeRegistry.cpp:
710         (WebCore::initializeSupportedImageMIMETypes): Removed incorrect adoptCF call on a string we
711         are getting from a CFArray.
712         (WebCore::initializeSupportedImageMIMETypesForEncoding): Ditto.
713
714 2013-04-30  Mike Lattanzio  <mlattanzio@blackberry.com>
715
716         [BlackBerry] ImageBuffer::copyImage leaking memory
717         https://bugs.webkit.org/show_bug.cgi?id=115359
718
719         Reviewed by George Staikos.
720
721         Use a WebCore::Vector to ensure the temporary data is destroyed.
722         The TiledImage does not take ownership of the data.
723
724         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
725         (WebCore::ImageBuffer::copyImage):
726
727 2013-04-30  Noam Rosenthal  <noam@webkit.org>
728
729         [Texmap] Avoid using overlap/non-overlap region in cases where the overhead is bigger than the gain
730         https://bugs.webkit.org/show_bug.cgi?id=115226
731
732         Reviewed by Allan Sandfeld Jensen.
733
734         When there are several fragmeneted overlap regions, or when the overlap region is bigger than the
735         non-overlap region, it's more efficient to have a single intermediate surface rather than split
736         the rendering to overlap/non-overlap.
737
738         Covered by tests in compositing/overlap-blending.
739
740         * platform/graphics/texmap/TextureMapperLayer.cpp:
741         (WebCore::TextureMapperLayer::shouldBlend):
742             Readability fix.
743
744         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
745             Consolidate to one overlap rect when one of the following occurs:
746             - The overlap region's area is larger than the non-overlap region area.
747             - There are many fragmented overlap regions and no non-overlap regions.
748
749 2013-04-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
750
751         Stop using "in" keyword in IDL files
752         https://bugs.webkit.org/show_bug.cgi?id=115418
753
754         Reviewed by Kentaro Hara.
755
756         Stop using "in" keyword in IDL files as this is no longer part of the
757         Web IDL specification and it brings no additional information.
758
759         For now, the IDL parser will still accept the "in" keyword for operation
760         argument to not break anything. However, we should remove support for it
761         later on.
762
763         No new tests, no behavior change.
764
765         * Modules/battery/BatteryManager.idl:
766         * Modules/encryptedmedia/MediaKeySession.idl:
767         * Modules/encryptedmedia/MediaKeys.idl:
768         * Modules/filesystem/DOMWindowFileSystem.idl:
769         * Modules/filesystem/DirectoryEntry.idl:
770         * Modules/filesystem/DirectoryEntrySync.idl:
771         * Modules/filesystem/DirectoryReader.idl:
772         * Modules/filesystem/EntriesCallback.idl:
773         * Modules/filesystem/Entry.idl:
774         * Modules/filesystem/EntryArray.idl:
775         * Modules/filesystem/EntryArraySync.idl:
776         * Modules/filesystem/EntryCallback.idl:
777         * Modules/filesystem/EntrySync.idl:
778         * Modules/filesystem/ErrorCallback.idl:
779         * Modules/filesystem/FileCallback.idl:
780         * Modules/filesystem/FileEntry.idl:
781         * Modules/filesystem/FileSystemCallback.idl:
782         * Modules/filesystem/FileWriter.idl:
783         * Modules/filesystem/FileWriterCallback.idl:
784         * Modules/filesystem/FileWriterSync.idl:
785         * Modules/filesystem/MetadataCallback.idl:
786         * Modules/filesystem/WorkerContextFileSystem.idl:
787         * Modules/gamepad/GamepadList.idl:
788         * Modules/geolocation/Geolocation.idl:
789         * Modules/geolocation/PositionCallback.idl:
790         * Modules/geolocation/PositionErrorCallback.idl:
791         * Modules/indexeddb/IDBCursor.idl:
792         * Modules/indexeddb/IDBDatabase.idl:
793         * Modules/indexeddb/IDBFactory.idl:
794         * Modules/indexeddb/IDBIndex.idl:
795         * Modules/indexeddb/IDBKeyRange.idl:
796         * Modules/indexeddb/IDBObjectStore.idl:
797         * Modules/indexeddb/IDBRequest.idl:
798         * Modules/indexeddb/IDBTransaction.idl:
799         * Modules/mediasource/MediaSource.idl:
800         * Modules/mediasource/SourceBuffer.idl:
801         * Modules/mediasource/SourceBufferList.idl:
802         * Modules/mediastream/MediaStream.idl:
803         * Modules/mediastream/MediaStreamTrack.idl:
804         * Modules/mediastream/NavigatorMediaStream.idl:
805         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
806         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
807         * Modules/mediastream/RTCDTMFSender.idl:
808         * Modules/mediastream/RTCDataChannel.idl:
809         * Modules/mediastream/RTCErrorCallback.idl:
810         * Modules/mediastream/RTCIceCandidate.idl:
811         * Modules/mediastream/RTCPeerConnection.idl:
812         * Modules/mediastream/RTCSessionDescription.idl:
813         * Modules/mediastream/RTCSessionDescriptionCallback.idl:
814         * Modules/mediastream/RTCStatsCallback.idl:
815         * Modules/mediastream/RTCStatsReport.idl:
816         * Modules/mediastream/RTCStatsResponse.idl:
817         * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
818         * Modules/networkinfo/NetworkInfoConnection.idl:
819         * Modules/notifications/Notification.idl:
820         * Modules/notifications/NotificationCenter.idl:
821         * Modules/notifications/NotificationPermissionCallback.idl:
822         * Modules/quota/StorageErrorCallback.idl:
823         * Modules/quota/StorageInfo.idl:
824         * Modules/quota/StorageQuota.idl:
825         * Modules/quota/StorageQuotaCallback.idl:
826         * Modules/quota/StorageUsageCallback.idl:
827         * Modules/speech/SpeechGrammarList.idl:
828         * Modules/speech/SpeechRecognition.idl:
829         * Modules/speech/SpeechRecognitionResult.idl:
830         * Modules/speech/SpeechRecognitionResultList.idl:
831         * Modules/speech/SpeechSynthesisUtterance.idl:
832         * Modules/vibration/NavigatorVibration.idl:
833         * Modules/webaudio/AnalyserNode.idl:
834         * Modules/webaudio/AudioBuffer.idl:
835         * Modules/webaudio/AudioBufferCallback.idl:
836         * Modules/webaudio/AudioBufferSourceNode.idl:
837         * Modules/webaudio/AudioContext.idl:
838         * Modules/webaudio/AudioListener.idl:
839         * Modules/webaudio/AudioNode.idl:
840         * Modules/webaudio/AudioParam.idl:
841         * Modules/webaudio/BiquadFilterNode.idl:
842         * Modules/webaudio/OfflineAudioContext.idl:
843         * Modules/webaudio/OscillatorNode.idl:
844         * Modules/webaudio/PannerNode.idl:
845         * Modules/webdatabase/DOMWindowWebDatabase.idl:
846         * Modules/webdatabase/Database.idl:
847         * Modules/webdatabase/DatabaseCallback.idl:
848         * Modules/webdatabase/DatabaseSync.idl:
849         * Modules/webdatabase/SQLResultSetRowList.idl:
850         * Modules/webdatabase/SQLStatementCallback.idl:
851         * Modules/webdatabase/SQLStatementErrorCallback.idl:
852         * Modules/webdatabase/SQLTransaction.idl:
853         * Modules/webdatabase/SQLTransactionCallback.idl:
854         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
855         * Modules/webdatabase/SQLTransactionSync.idl:
856         * Modules/webdatabase/SQLTransactionSyncCallback.idl:
857         * Modules/webdatabase/WorkerContextWebDatabase.idl:
858         * Modules/websockets/WebSocket.idl:
859         * bindings/scripts/test/TestCallback.idl:
860         * bindings/scripts/test/TestCustomNamedGetter.idl:
861         * bindings/scripts/test/TestDomainSecurity.idl:
862         * bindings/scripts/test/TestEventTarget.idl:
863         * bindings/scripts/test/TestInterface.idl:
864         * bindings/scripts/test/TestMediaQueryListListener.idl:
865         * bindings/scripts/test/TestNamedConstructor.idl:
866         * bindings/scripts/test/TestObj.idl:
867         * bindings/scripts/test/TestOverloadedConstructors.idl:
868         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
869         * bindings/scripts/test/TestSupplemental.idl:
870         * bindings/scripts/test/TestTypedArray.idl:
871         * bindings/scripts/test/TestTypedefs.idl:
872         * css/CSSHostRule.idl:
873         * css/CSSMediaRule.idl:
874         * css/CSSPrimitiveValue.idl:
875         * css/CSSRuleList.idl:
876         * css/CSSStyleDeclaration.idl:
877         * css/CSSStyleSheet.idl:
878         * css/CSSSupportsRule.idl:
879         * css/CSSValueList.idl:
880         * css/FontLoader.idl:
881         * css/MediaList.idl:
882         * css/MediaQueryList.idl:
883         * css/MediaQueryListListener.idl:
884         * css/StyleMedia.idl:
885         * css/StyleSheetList.idl:
886         * css/WebKitCSSKeyframesRule.idl:
887         * css/WebKitCSSMatrix.idl:
888         * dom/CharacterData.idl:
889         * dom/ClientRectList.idl:
890         * dom/Clipboard.idl:
891         * dom/CompositionEvent.idl:
892         * dom/CustomEvent.idl:
893         * dom/DOMImplementation.idl:
894         * dom/DOMNamedFlowCollection.idl:
895         * dom/DOMStringList.idl:
896         * dom/DataTransferItem.idl:
897         * dom/DataTransferItemList.idl:
898         * dom/DeviceMotionEvent.idl:
899         * dom/DeviceOrientationEvent.idl:
900         * dom/Document.idl:
901         * dom/DocumentFragment.idl:
902         * dom/Element.idl:
903         * dom/Event.idl:
904         * dom/EventListener.idl:
905         * dom/EventTarget.idl:
906         * dom/HashChangeEvent.idl:
907         * dom/KeyboardEvent.idl:
908         * dom/MessageEvent.idl:
909         * dom/MessagePort.idl:
910         * dom/MouseEvent.idl:
911         * dom/MutationEvent.idl:
912         * dom/MutationObserver.idl:
913         * dom/NamedNodeMap.idl:
914         * dom/Node.idl:
915         * dom/NodeFilter.idl:
916         * dom/NodeList.idl:
917         * dom/OverflowEvent.idl:
918         * dom/PropertyNodeList.idl:
919         * dom/Range.idl:
920         * dom/RequestAnimationFrameCallback.idl:
921         * dom/ShadowRoot.idl:
922         * dom/StringCallback.idl:
923         * dom/Text.idl:
924         * dom/TextEvent.idl:
925         * dom/TouchEvent.idl:
926         * dom/TouchList.idl:
927         * dom/UIEvent.idl:
928         * dom/WebKitNamedFlow.idl:
929         * dom/WheelEvent.idl:
930         * fileapi/Blob.idl:
931         * fileapi/FileList.idl:
932         * fileapi/FileReader.idl:
933         * fileapi/FileReaderSync.idl:
934         * html/DOMFormData.idl:
935         * html/DOMTokenList.idl:
936         * html/DOMURL.idl:
937         * html/HTMLAllCollection.idl:
938         * html/HTMLAudioElement.idl:
939         * html/HTMLButtonElement.idl:
940         * html/HTMLCanvasElement.idl:
941         * html/HTMLCollection.idl:
942         * html/HTMLDocument.idl:
943         * html/HTMLElement.idl:
944         * html/HTMLFieldSetElement.idl:
945         * html/HTMLFormControlsCollection.idl:
946         * html/HTMLInputElement.idl:
947         * html/HTMLKeygenElement.idl:
948         * html/HTMLMediaElement.idl:
949         * html/HTMLObjectElement.idl:
950         * html/HTMLOptionElement.idl:
951         * html/HTMLOptionsCollection.idl:
952         * html/HTMLOutputElement.idl:
953         * html/HTMLPropertiesCollection.idl:
954         * html/HTMLSelectElement.idl:
955         * html/HTMLTableElement.idl:
956         * html/HTMLTableRowElement.idl:
957         * html/HTMLTableSectionElement.idl:
958         * html/HTMLTextAreaElement.idl:
959         * html/MediaController.idl:
960         * html/TimeRanges.idl:
961         * html/canvas/ArrayBuffer.idl:
962         * html/canvas/CanvasGradient.idl:
963         * html/canvas/CanvasRenderingContext2D.idl:
964         * html/canvas/DOMPath.idl:
965         * html/canvas/DataView.idl:
966         * html/canvas/EXTDrawBuffers.idl:
967         * html/canvas/Float32Array.idl:
968         * html/canvas/Float64Array.idl:
969         * html/canvas/Int16Array.idl:
970         * html/canvas/Int32Array.idl:
971         * html/canvas/Int8Array.idl:
972         * html/canvas/OESVertexArrayObject.idl:
973         * html/canvas/Uint16Array.idl:
974         * html/canvas/Uint32Array.idl:
975         * html/canvas/Uint8Array.idl:
976         * html/canvas/Uint8ClampedArray.idl:
977         * html/canvas/WebGLDebugShaders.idl:
978         * html/canvas/WebGLRenderingContext.idl:
979         * html/track/AudioTrackList.idl:
980         * html/track/TextTrack.idl:
981         * html/track/TextTrackCue.idl:
982         * html/track/TextTrackCueList.idl:
983         * html/track/TextTrackList.idl:
984         * html/track/TextTrackRegionList.idl:
985         * html/track/VideoTrackList.idl:
986         * inspector/InjectedScriptHost.idl:
987         * inspector/InspectorFrontendHost.idl:
988         * inspector/JavaScriptCallFrame.idl:
989         * loader/appcache/DOMApplicationCache.idl:
990         * page/Console.idl:
991         * page/Crypto.idl:
992         * page/DOMSecurityPolicy.idl:
993         * page/DOMSelection.idl:
994         * page/DOMWindow.idl:
995         * page/EventSource.idl:
996         * page/History.idl:
997         * page/Location.idl:
998         * page/PagePopupController.idl:
999         * page/Performance.idl:
1000         * page/PerformanceEntryList.idl:
1001         * page/SpeechInputResultList.idl:
1002         * plugins/DOMMimeTypeArray.idl:
1003         * plugins/DOMPlugin.idl:
1004         * plugins/DOMPluginArray.idl:
1005         * storage/Storage.idl:
1006         * storage/StorageEvent.idl:
1007         * svg/ElementTimeControl.idl:
1008         * svg/SVGAngle.idl:
1009         * svg/SVGColor.idl:
1010         * svg/SVGDocument.idl:
1011         * svg/SVGElementInstanceList.idl:
1012         * svg/SVGFEDropShadowElement.idl:
1013         * svg/SVGFEGaussianBlurElement.idl:
1014         * svg/SVGFEMorphologyElement.idl:
1015         * svg/SVGFilterElement.idl:
1016         * svg/SVGLength.idl:
1017         * svg/SVGLengthList.idl:
1018         * svg/SVGLocatable.idl:
1019         * svg/SVGMarkerElement.idl:
1020         * svg/SVGMatrix.idl:
1021         * svg/SVGNumberList.idl:
1022         * svg/SVGPaint.idl:
1023         * svg/SVGPathElement.idl:
1024         * svg/SVGPathSegList.idl:
1025         * svg/SVGPoint.idl:
1026         * svg/SVGPointList.idl:
1027         * svg/SVGSVGElement.idl:
1028         * svg/SVGStringList.idl:
1029         * svg/SVGStyledElement.idl:
1030         * svg/SVGTests.idl:
1031         * svg/SVGTextContentElement.idl:
1032         * svg/SVGTransform.idl:
1033         * svg/SVGTransformList.idl:
1034         * testing/InternalSettings.idl:
1035         * testing/Internals.idl:
1036         * workers/AbstractWorker.idl:
1037         * workers/DedicatedWorkerContext.idl:
1038         * workers/SharedWorker.idl:
1039         * workers/Worker.idl:
1040         * workers/WorkerContext.idl:
1041         * xml/DOMParser.idl:
1042         * xml/XMLHttpRequest.idl:
1043         * xml/XMLHttpRequestUpload.idl:
1044         * xml/XMLSerializer.idl:
1045         * xml/XPathEvaluator.idl:
1046         * xml/XPathExpression.idl:
1047         * xml/XPathNSResolver.idl:
1048         * xml/XPathResult.idl:
1049         * xml/XSLTProcessor.idl:
1050
1051 2013-04-30  Noam Rosenthal  <noam@webkit.org>
1052
1053         [Texmap] Use fewer intermediate surfaces when compositing filters
1054         https://bugs.webkit.org/show_bug.cgi?id=115224
1055
1056         Reviewed by Allan Sandfeld Jensen.
1057
1058         Until now, when rendering CSS filters, the filters were applied to the texture
1059         and then the resulting texture would be composited to the target surface with
1060         its transform/opacity.
1061         This requires at least two intermediate surface passes for every filtered layer.
1062
1063         This patch makes it so that the last filter pass is applied together with the 
1064         resulting surface's opacity and transform, during composition.
1065
1066         Tested by css3/filters tests, whichn now scroll/zoom a lot faster.
1067
1068         * platform/graphics/texmap/TextureMapper.h:
1069         (WebCore::BitmapTexture::applyFilters):
1070         * platform/graphics/texmap/TextureMapperGL.cpp:
1071         (WebCore::TextureMapperGLData::TextureMapperGLData):
1072         (TextureMapperGLData):
1073         (WebCore):
1074         (WebCore::optionsForFilterType):
1075         (WebCore::getPassesRequiredForFilter):
1076         (WebCore::gauss):
1077         (WebCore::gaussianKernel):
1078         (WebCore::prepareFilterProgram):
1079         (WebCore::TextureMapperGL::drawTexture):
1080         (WebCore::TextureMapperGL::drawFiltered):
1081         (WebCore::isCustomFilter):
1082         * platform/graphics/texmap/TextureMapperGL.h:
1083         (TextureMapperGL):
1084         (BitmapTextureGL):
1085         (FilterInfo):
1086         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1087         (WebCore::BitmapTextureImageBuffer::applyFilters):
1088         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1089         (BitmapTextureImageBuffer):
1090         (WebCore::BitmapTextureGL::FilterInfo::FilterInfo):
1091         (WebCore::BitmapTextureGL::filterInfo):
1092         (WebCore::BitmapTextureGL::applyFilters):
1093             Modify TextureMapperGL to remember the last filter operation applied
1094             to a BitmapTexture and apply it when the texture is composited.
1095
1096         * platform/graphics/texmap/TextureMapperLayer.cpp:
1097         (WebCore::TextureMapperLayer::paintIntoSurface):
1098             Simplify the call to applyFilters, since now TextureMapperGL is responsible
1099             for maintaining the content texture.
1100
1101
1102 2013-04-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1103
1104         [EFL] Enable scaled cursors
1105         https://bugs.webkit.org/show_bug.cgi?id=106242
1106
1107         Reviewed by Gyuyoung Kim.
1108
1109         Correctly copy WebCore::Cursor's m_imageScaleFactor
1110         member in CursorEfl.cpp when MOUSE_CURSOR_SCALE is
1111         enabled.
1112
1113         No new tests, already covered by existing tests.
1114
1115         * platform/efl/CursorEfl.cpp:
1116         (WebCore::Cursor::Cursor):
1117         (WebCore::Cursor::operator=):
1118
1119 2013-04-30  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1120
1121         CSSParser::parseFontFamily should allow the keyword "default" as part of a font name
1122         https://bugs.webkit.org/show_bug.cgi?id=107231
1123
1124         Reviewed by Ryosuke Niwa.
1125
1126         Make sure that using the keyword "default" as font family doesn't
1127         invalidate the whole declaration. It is also OK to use a font that
1128         has "default" as part of a composite name (i.e. "default foo").
1129         This matches the behavior of Firefox and IE.
1130
1131         Test: fast/css/font-family-parse-keyword.html
1132
1133         * css/CSSParser.cpp:
1134         (WebCore::CSSParser::parseFontFamily):
1135
1136 2013-04-30  Zalan Bujtas  <zalan@apple.com>
1137
1138         Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
1139         https://bugs.webkit.org/show_bug.cgi?id=111244
1140
1141         Reviewed by David Kilzer.
1142         
1143         Enable performance.now() as a minimal subset of Web Timing API. 
1144         It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
1145         number of milliseconds from the start of the navigation of the current document.
1146         JS libraries use this API to check against the requestAnimationFrame() timestamp.
1147
1148         Test: fast/dom/Window/web-timing-minimal-performance-now.html
1149
1150         * Configurations/FeatureDefines.xcconfig:
1151         * WebCore.xcodeproj/project.pbxproj:
1152         * dom/EventTargetFactory.in:
1153         * page/DOMWindow.cpp:
1154         (WebCore::DOMWindow::~DOMWindow):
1155         (WebCore::DOMWindow::resetDOMWindowProperties):
1156         (WebCore):
1157         * page/DOMWindow.h:
1158         (DOMWindow):
1159         * page/DOMWindow.idl:
1160         * page/Performance.cpp:
1161         (WebCore):
1162         * page/Performance.h:
1163         (Performance):
1164         * page/Performance.idl:
1165
1166 2013-04-30  Commit Queue  <rniwa@webkit.org>
1167
1168         Unreviewed, rolling out r149338.
1169         http://trac.webkit.org/changeset/149338
1170         https://bugs.webkit.org/show_bug.cgi?id=115409
1171
1172         Broke layout/perf/API tests on non-Mac:
1173         ThreadSpecific<RefPtr<RunLoop>> does not initialize RunLoop
1174         (Requested by rakuco on #webkit).
1175
1176         * platform/RunLoop.cpp:
1177         (WebCore::RunLoop::current):
1178         * platform/RunLoop.h:
1179         (RunLoop):
1180         * platform/cf/RunLoopCF.cpp:
1181         (WebCore::RunLoop::initializeMainRunLoop):
1182         (WebCore::RunLoop::current):
1183         (WebCore::RunLoop::~RunLoop):
1184         * platform/efl/RunLoopEfl.cpp:
1185         (WebCore::RunLoop::~RunLoop):
1186         * platform/gtk/RunLoopGtk.cpp:
1187         (WebCore::RunLoop::~RunLoop):
1188         * platform/win/RunLoopWin.cpp:
1189         (WebCore::RunLoop::~RunLoop):
1190
1191 2013-04-30  Alberto Garcia  <agarcia@igalia.com>
1192
1193         ImageBufferData: add BlackBerry header
1194         https://bugs.webkit.org/show_bug.cgi?id=115408
1195
1196         Reviewed by Carlos Garcia Campos.
1197
1198         * platform/graphics/ImageBufferData.h:
1199
1200 2013-04-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1201
1202         Replace "Optional" extended attribute by proper Web IDL "optional" keyword
1203         https://bugs.webkit.org/show_bug.cgi?id=115380
1204
1205         Reviewed by Kentaro Hara.
1206
1207         Replace [Optional] with standard WebIDL optional type prefix:
1208         http://dev.w3.org/2006/webapi/WebIDL/#dfn-optional-argument
1209
1210         The default behavior now matches WebIDL: [Optional] => optional
1211
1212         Two cases where WebKit has extended bindings behavior still
1213         require a non-standard IDL attribute:
1214         [Optional=DefaultIsNullString] => [Default=NullString] optional
1215         [Optional=DefaultIsUndefined] => [Default=Undefined] optional
1216
1217         Based on corresponding Blink patch from Joshua Bell for compatibility.
1218
1219         No new tests, no behavior change.
1220
1221         * Modules/battery/BatteryManager.idl:
1222         * Modules/encryptedmedia/MediaKeySession.idl:
1223         * Modules/encryptedmedia/MediaKeys.idl:
1224         * Modules/filesystem/DOMWindowFileSystem.idl:
1225         * Modules/filesystem/DirectoryEntry.idl:
1226         * Modules/filesystem/DirectoryReader.idl:
1227         * Modules/filesystem/Entry.idl:
1228         * Modules/filesystem/FileEntry.idl:
1229         * Modules/filesystem/FileWriter.idl:
1230         * Modules/filesystem/WorkerContextFileSystem.idl:
1231         * Modules/gamepad/GamepadList.idl:
1232         * Modules/geolocation/Geolocation.idl:
1233         * Modules/indexeddb/IDBCursor.idl:
1234         * Modules/indexeddb/IDBDatabase.idl:
1235         * Modules/indexeddb/IDBFactory.idl:
1236         * Modules/indexeddb/IDBIndex.idl:
1237         * Modules/indexeddb/IDBKeyRange.idl:
1238         * Modules/indexeddb/IDBObjectStore.idl:
1239         * Modules/indexeddb/IDBRequest.idl:
1240         * Modules/indexeddb/IDBTransaction.idl:
1241         * Modules/mediasource/MediaSource.idl:
1242         * Modules/mediasource/SourceBufferList.idl:
1243         * Modules/mediastream/MediaStream.idl:
1244         * Modules/mediastream/MediaStreamTrack.idl:
1245         * Modules/mediastream/NavigatorMediaStream.idl:
1246         * Modules/mediastream/RTCDTMFSender.idl:
1247         * Modules/mediastream/RTCDataChannel.idl:
1248         * Modules/mediastream/RTCPeerConnection.idl:
1249         * Modules/mediastream/RTCStatsResponse.idl:
1250         * Modules/networkinfo/NetworkInfoConnection.idl:
1251         * Modules/notifications/Notification.idl:
1252         * Modules/notifications/NotificationCenter.idl:
1253         * Modules/quota/StorageInfo.idl:
1254         * Modules/quota/StorageQuota.idl:
1255         * Modules/speech/SpeechGrammarList.idl:
1256         * Modules/speech/SpeechRecognition.idl:
1257         * Modules/speech/SpeechSynthesisUtterance.idl:
1258         * Modules/webaudio/AudioContext.idl:
1259         * Modules/webaudio/AudioNode.idl:
1260         * Modules/webdatabase/DOMWindowWebDatabase.idl:
1261         * Modules/webdatabase/Database.idl:
1262         * Modules/webdatabase/DatabaseSync.idl:
1263         * Modules/webdatabase/SQLTransaction.idl:
1264         * Modules/webdatabase/WorkerContextWebDatabase.idl:
1265         * Modules/websockets/WebSocket.idl:
1266         * bindings/scripts/CodeGeneratorJS.pm:
1267         (GetFunctionLength):
1268         (GenerateFunctionParametersCheck):
1269         (GenerateArgumentsCountCheck):
1270         (GenerateParametersCheck):
1271         (GenerateConstructorDefinition):
1272         * bindings/scripts/IDLAttributes.txt:
1273         * bindings/scripts/IDLParser.pm:
1274         (parseOptionalOrRequiredArgument):
1275         * bindings/scripts/test/TestEventTarget.idl:
1276         * bindings/scripts/test/TestInterface.idl:
1277         * bindings/scripts/test/TestNamedConstructor.idl:
1278         * bindings/scripts/test/TestObj.idl:
1279         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1280         * bindings/scripts/test/TestTypedefs.idl: optional cannot be used in a typedef.
1281         * css/CSSHostRule.idl:
1282         * css/CSSMediaRule.idl:
1283         * css/CSSPrimitiveValue.idl:
1284         * css/CSSRuleList.idl:
1285         * css/CSSStyleDeclaration.idl:
1286         * css/CSSStyleSheet.idl:
1287         * css/CSSSupportsRule.idl:
1288         * css/CSSValueList.idl:
1289         * css/FontLoader.idl:
1290         * css/MediaList.idl:
1291         * css/MediaQueryList.idl:
1292         * css/MediaQueryListListener.idl:
1293         * css/StyleMedia.idl:
1294         * css/StyleSheetList.idl:
1295         * css/WebKitCSSKeyframesRule.idl:
1296         * css/WebKitCSSMatrix.idl:
1297         * dom/CharacterData.idl:
1298         * dom/ClientRectList.idl:
1299         * dom/Clipboard.idl:
1300         * dom/CompositionEvent.idl:
1301         * dom/CustomEvent.idl:
1302         * dom/DOMImplementation.idl:
1303         * dom/DOMStringList.idl:
1304         * dom/DataTransferItem.idl:
1305         * dom/DataTransferItemList.idl:
1306         * dom/DeviceMotionEvent.idl:
1307         * dom/DeviceOrientationEvent.idl:
1308         * dom/Document.idl:
1309         * dom/Element.idl:
1310         * dom/Event.idl:
1311         * dom/EventTarget.idl:
1312         * dom/HashChangeEvent.idl:
1313         * dom/KeyboardEvent.idl:
1314         * dom/MessageEvent.idl:
1315         * dom/MessagePort.idl:
1316         * dom/MouseEvent.idl:
1317         * dom/MutationEvent.idl:
1318         * dom/NamedNodeMap.idl:
1319         * dom/Node.idl:
1320         * dom/NodeFilter.idl:
1321         * dom/NodeList.idl:
1322         * dom/OverflowEvent.idl:
1323         * dom/Range.idl:
1324         * dom/ShadowRoot.idl:
1325         * dom/Text.idl:
1326         * dom/TextEvent.idl:
1327         * dom/TouchEvent.idl:
1328         * dom/UIEvent.idl:
1329         * dom/WebKitNamedFlow.idl:
1330         * dom/WheelEvent.idl:
1331         * fileapi/Blob.idl:
1332         * fileapi/FileReader.idl:
1333         * fileapi/FileReaderSync.idl:
1334         * html/DOMFormData.idl:
1335         * html/DOMTokenList.idl:
1336         * html/HTMLAllCollection.idl:
1337         * html/HTMLAudioElement.idl:
1338         * html/HTMLCanvasElement.idl:
1339         * html/HTMLCollection.idl:
1340         * html/HTMLDocument.idl:
1341         * html/HTMLElement.idl:
1342         * html/HTMLFormControlsCollection.idl:
1343         * html/HTMLInputElement.idl:
1344         * html/HTMLMediaElement.idl:
1345         * html/HTMLOptionElement.idl:
1346         * html/HTMLOptionsCollection.idl:
1347         * html/HTMLSelectElement.idl:
1348         * html/HTMLTableElement.idl:
1349         * html/HTMLTableRowElement.idl:
1350         * html/HTMLTableSectionElement.idl:
1351         * html/HTMLTextAreaElement.idl:
1352         * html/MediaController.idl:
1353         * html/canvas/ArrayBuffer.idl:
1354         * html/canvas/CanvasGradient.idl:
1355         * html/canvas/CanvasRenderingContext2D.idl:
1356         * html/canvas/DOMPath.idl:
1357         * html/canvas/DataView.idl:
1358         * html/canvas/Float32Array.idl:
1359         * html/canvas/Float64Array.idl:
1360         * html/canvas/Int16Array.idl:
1361         * html/canvas/Int32Array.idl:
1362         * html/canvas/Int8Array.idl:
1363         * html/canvas/OESVertexArrayObject.idl:
1364         * html/canvas/Uint16Array.idl:
1365         * html/canvas/Uint32Array.idl:
1366         * html/canvas/Uint8Array.idl:
1367         * html/canvas/Uint8ClampedArray.idl:
1368         * html/track/AudioTrackList.idl:
1369         * html/track/TextTrack.idl:
1370         * html/track/TextTrackCue.idl:
1371         * html/track/TextTrackList.idl:
1372         * html/track/VideoTrackList.idl:
1373         * loader/appcache/DOMApplicationCache.idl:
1374         * page/DOMSelection.idl:
1375         * page/DOMWindow.idl:
1376         * page/EventSource.idl:
1377         * page/History.idl:
1378         * page/Location.idl:
1379         * page/Performance.idl:
1380         * plugins/DOMMimeTypeArray.idl:
1381         * plugins/DOMPlugin.idl:
1382         * plugins/DOMPluginArray.idl:
1383         * storage/StorageEvent.idl:
1384         * svg/ElementTimeControl.idl:
1385         * svg/SVGDocument.idl:
1386         * svg/SVGElementInstanceList.idl:
1387         * svg/SVGFEDropShadowElement.idl:
1388         * svg/SVGFEGaussianBlurElement.idl:
1389         * svg/SVGFEMorphologyElement.idl:
1390         * svg/SVGFilterElement.idl:
1391         * svg/SVGLocatable.idl:
1392         * svg/SVGMarkerElement.idl:
1393         * svg/SVGPathElement.idl:
1394         * svg/SVGSVGElement.idl:
1395         * svg/SVGStyledElement.idl:
1396         * svg/SVGTests.idl:
1397         * svg/SVGTextContentElement.idl:
1398         * testing/Internals.idl:
1399         * workers/AbstractWorker.idl:
1400         * workers/DedicatedWorkerContext.idl:
1401         * workers/SharedWorker.idl:
1402         * workers/Worker.idl:
1403         * workers/WorkerContext.idl:
1404         * xml/DOMParser.idl:
1405         * xml/XMLHttpRequest.idl:
1406         * xml/XMLHttpRequestUpload.idl:
1407         * xml/XMLSerializer.idl:
1408         * xml/XPathEvaluator.idl:
1409         * xml/XPathExpression.idl:
1410         * xml/XPathNSResolver.idl:
1411         * xml/XPathResult.idl:
1412         * xml/XSLTProcessor.idl:
1413
1414 2013-04-30  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1415
1416         Fix the USE(3D_GRAPHICS) build with the standard OpenGL on Windows
1417         https://bugs.webkit.org/show_bug.cgi?id=114684
1418
1419         Reviewed by Simon Hausmann.
1420
1421         Currently USE(3D_GRAPHICS) is only supported with OpenGLES through ANGLE
1422         on Windows. Allow building with the stock opengl32.lib on Windows by adding
1423         missing glCompressedTex* entries in OpenGLShims.
1424         Those are used in Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
1425         and will be substituted by the preprocessor.
1426
1427         * platform/graphics/OpenGLShims.cpp:
1428         (WebCore::initializeOpenGLShims):
1429         * platform/graphics/OpenGLShims.h:
1430         (_OpenGLFunctionTable):
1431
1432 2013-04-29  Alberto Garcia  <agarcia@igalia.com>
1433
1434         Remove all remaining Skia code
1435         https://bugs.webkit.org/show_bug.cgi?id=115263
1436
1437         Reviewed by Benjamin Poulain.
1438
1439         * html/HTMLCanvasElement.cpp:
1440         (WebCore): Remove the MaxSkiaDim constant, which was a leftover
1441         from r149193.
1442         * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removed.
1443         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removed.
1444         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removed.
1445         * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp: Removed.
1446
1447 2013-04-29  Anders Carlsson  <andersca@apple.com>
1448
1449         Fix build.
1450
1451         * platform/graphics/SimpleFontData.cpp:
1452         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
1453         * platform/graphics/mac/SimpleFontDataMac.mm:
1454         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
1455
1456 2013-04-29  Simon Fraser  <simon.fraser@apple.com>
1457
1458         Don't do CGContext flipping when painting subframes in WebKit1 on post-MountainLion OSes
1459         https://bugs.webkit.org/show_bug.cgi?id=115392
1460         <rdar://problem/13421519>
1461
1462         Reviewed by Beth Dakin.
1463
1464         Sync up with AppKit behavior changes that could cause subviews to be flipped when
1465         painted.
1466
1467         * platform/mac/WidgetMac.mm:
1468         (WebCore::Widget::paint):
1469
1470 2013-04-29  Chris Fleizach  <cfleizach@apple.com>
1471
1472         WEB SPEECH: need to identify the default voice per language
1473         https://bugs.webkit.org/show_bug.cgi?id=115366
1474
1475         Reviewed by Tim Horton.
1476
1477         Use a WKSystemInterface method to determine which voice per language is the default voice.
1478
1479         When looking for a voice, there may not be a default at all, so we need to search until we
1480         find a default.
1481
1482         * WebCore.exp.in:
1483         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1484         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1485         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1486         * platform/mac/WebCoreSystemInterface.h:
1487         * platform/mac/WebCoreSystemInterface.mm:
1488
1489 2013-04-29  James Craig  <james@cookiecrook.com>
1490
1491         Settings.in selectionIncludesAltImageText should default to true, due to update in HTML spec.
1492         https://bugs.webkit.org/show_bug.cgi?id=115283
1493
1494         Reviewed by Chris Fleizach.
1495
1496         Config change due to this spec update:
1497         https://www.w3.org/Bugs/Public/show_bug.cgi?id=21403
1498         http://html5.org/tools/web-apps-tracker?from=7854&to=7855
1499
1500         Updated existing test coverage.
1501
1502         * page/Settings.in:
1503
1504 2013-04-29  Anders Carlsson  <andersca@apple.com>
1505
1506         Make RunLoop ref-counted
1507         https://bugs.webkit.org/show_bug.cgi?id=115384
1508
1509         Reviewed by Sam Weinig.
1510
1511         This is a step towards creating a shared base class that both RunLoop and WorkQueue will derive from.
1512
1513         * platform/RunLoop.cpp:
1514         (WebCore::RunLoop::current):
1515         (WebCore::RunLoop::~RunLoop):
1516         (WebCore):
1517         * platform/RunLoop.h:
1518         (RunLoop):
1519         * platform/cf/RunLoopCF.cpp:
1520         (WebCore::RunLoop::initializeMainRunLoop):
1521         (WebCore::RunLoop::current):
1522         (WebCore::RunLoop::~RunLoop):
1523
1524 2013-04-29  Brent Fulgham  <bfulgham@webkit.org>
1525
1526         [Windows, WinCairo] Remove link and include directives for pthread.
1527         https://bugs.webkit.org/show_bug.cgi?id=115381
1528
1529         Reviewed by Benjamin Poulain.
1530
1531         Update various VS2005 and VS2010 property sheets to remove
1532         reference to the pthreads Include path and instructions to
1533         link to the pthreads library.
1534
1535         * WebCore.vcproj/QTMovieWinCommon.vsprops:
1536         * WebCore.vcproj/WebCoreCommon.vsprops:
1537         * WebCore.vcproj/WebCoreDebug.vsprops:
1538         * WebCore.vcproj/WebCoreDebugAll.vsprops:
1539         * WebCore.vcproj/WebCoreProduction.vsprops:
1540         * WebCore.vcproj/WebCorePthreads.vsprops: Removed.
1541         * WebCore.vcproj/WebCoreRelease.vsprops:
1542         * WebCore.vcxproj/WebCoreCommon.props:
1543         * WebCore.vcxproj/WebCoreDebug.props:
1544         * WebCore.vcxproj/WebCoreDebugWinCairo.props:
1545         * WebCore.vcxproj/WebCoreProduction.props:
1546         * WebCore.vcxproj/WebCorePthreads.props: Removed.
1547         * WebCore.vcxproj/WebCoreRelease.props:
1548         * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
1549
1550 2013-04-29  Benjamin Poulain  <benjamin@webkit.org>
1551
1552         Do not allocate Static Strings for Notification::permissionString
1553         https://bugs.webkit.org/show_bug.cgi?id=115316
1554
1555         Reviewed by Geoffrey Garen.
1556
1557         The code is not nearly hot enough to justify keeping this memory around.
1558
1559         * Modules/notifications/Notification.cpp:
1560         (WebCore::Notification::permission):
1561         (WebCore::Notification::permissionString):
1562         * Modules/notifications/Notification.h:
1563         (Notification):
1564
1565 2013-04-29  Anders Carlsson  <andersca@apple.com>
1566
1567         Remove StorageTracker::originsLoaded
1568         https://bugs.webkit.org/show_bug.cgi?id=115382
1569
1570         Reviewed by Sam Weinig.
1571
1572         Remove m_finishedImportingOriginIdentifiers.
1573
1574         * storage/StorageTracker.cpp:
1575         (WebCore::StorageTracker::StorageTracker):
1576         (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
1577         * storage/StorageTracker.h:
1578         (StorageTracker):
1579
1580 2013-04-29  Anders Carlsson  <andersca@apple.com>
1581
1582         Get rid of StorageTracker::setClient
1583         https://bugs.webkit.org/show_bug.cgi?id=115376
1584
1585         Reviewed by Sam Weinig.
1586
1587         * WebCore.exp.in:
1588         * storage/StorageTracker.cpp:
1589         * storage/StorageTracker.h:
1590         (StorageTracker):
1591
1592 2013-04-22  Jeffrey Pfau  <jpfau@apple.com>
1593
1594         Change approach to third-party blocking for LocalStorage
1595         https://bugs.webkit.org/show_bug.cgi?id=115004
1596
1597         Reviewed by Maciej Stachowiak.
1598
1599         Instead of outright blocking LocalStorage that's used in a third-party
1600         context, silently partition it based on the origin of the top context.
1601         These partitions are then discarded when the page group is unloaded.
1602
1603         No new tests; modified existing tests to account for changes.
1604
1605         * page/DOMWindow.cpp:
1606         (WebCore::DOMWindow::localStorage):
1607         * page/PageGroup.cpp:
1608         (WebCore::PageGroup::localStorage):
1609         (WebCore):
1610         (WebCore::PageGroup::transientLocalStorage):
1611         * page/PageGroup.h:
1612         (PageGroup):
1613         * page/SecurityOrigin.cpp:
1614         (WebCore::SecurityOrigin::canAccessStorage):
1615
1616 2013-04-29  Yi Shen  <max.hong.shen@gmail.com>
1617
1618         HTML Editing: Insertion point jumps when using link detection
1619         https://bugs.webkit.org/show_bug.cgi?id=82198
1620
1621         Reviewed by Ryosuke Niwa.
1622
1623         Add links should be done only when typing a word separator (e.g. space or dot) which 
1624         breaks the text into two parts - the link and the rest of the text. Reflected in 
1625         code, we should only add link when the caret position is at the right end location of 
1626         TextChecking result. Otherwise, the text on the right of a word separator could be
1627         highlighted as a link and the insertion point jumps unexpectedly.
1628
1629         Tests: update editing/inserting/typing-space-to-trigger-smart-link.html
1630
1631         * editing/Editor.cpp:
1632         (WebCore::Editor::markAndReplaceFor):
1633
1634 2013-04-29  Beth Dakin  <bdakin@apple.com>
1635
1636         Need a LayoutMilestone to fire when we have done our first paint after suppressing 
1637         incremental layout
1638         https://bugs.webkit.org/show_bug.cgi?id=115330
1639         -and corresponding-
1640         <rdar://problem/12722365>
1641
1642         Reviewed by Simon Fraser.
1643
1644         To meet the needs of all of our clients, we really need two milestones. One 
1645         indicating that a layout has happened after setVisualUpdatesAllowed(true), and 
1646         another indicating that painting has happened.
1647
1648         If layout is needed when setVisualUpdatesAllowed(true) is called, we need to 
1649         update it so that we can guarantee the first paint is really happening at this 
1650         time. Also fire the DidFirstLayoutAfterSuppressedIncrementalRendering milestone, 
1651         and call add DidFirstPaintAfterSuppressedIncrementalRendering to the FrameView's 
1652         pending paint milestones. 
1653         up the painting milestone.
1654         * dom/Document.cpp:
1655         (WebCore::Document::setVisualUpdatesAllowed):
1656
1657         FrameView now stores m_milestonesPendingPaint. We'll send and clear them once we 
1658         have painted.
1659         * page/FrameView.cpp:
1660         (WebCore::FrameView::FrameView):
1661         (WebCore::FrameView::paintContents):
1662         (WebCore::FrameView::addPaintPendingMilestones):
1663         (WebCore::FrameView::firePaintRelatedMilestones):
1664         * page/FrameView.h:
1665         (WebCore::FrameView::milestonesPendingPaint):
1666
1667         Two new milestones.
1668         * page/LayoutMilestones.h:
1669         (WebCore):
1670
1671         We don't need m_headerLayerAwaitingFirstFlush anymore since we can use FrameView's 
1672         pending paint milestones instead.
1673         * rendering/RenderLayerCompositor.cpp:
1674         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1675         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1676         (WebCore::RenderLayerCompositor::updateLayerForHeader):
1677         * rendering/RenderLayerCompositor.h:
1678         (RenderLayerCompositor):
1679
1680 2013-04-29  David Hyatt  <hyatt@apple.com>
1681
1682         [Mac] Links can't be hovered or clicked with overlay scrollbars hidden.
1683         https://bugs.webkit.org/show_bug.cgi?id=99379
1684         
1685         This is also <rdar://problem/10929565> Overlay scrollbars prevent hit-testing on
1686         content underneath them, even when hidden
1687
1688         Reviewed by Beth Dakin.
1689
1690         * rendering/RenderLayer.cpp:
1691         (WebCore::RenderLayer::verticalScrollbarWidth):
1692         (WebCore::RenderLayer::horizontalScrollbarHeight):
1693
1694 2013-04-29  Anders Carlsson  <andersca@apple.com>
1695
1696         Begin cleaning up StorageTracker
1697         https://bugs.webkit.org/show_bug.cgi?id=115373
1698
1699         Reviewed by Andreas Kling.
1700
1701         Rename Mutexes to use "Mutex" and not "Guard".
1702         Don't use static locals for ".localstorage" and "*.localstorage" strings.
1703         Put end iterator declarations together with begin declarations.
1704
1705         * storage/StorageTracker.cpp:
1706         (WebCore::StorageTracker::setDatabaseDirectoryPath):
1707         (WebCore::StorageTracker::trackerDatabasePath):
1708         (WebCore::StorageTracker::openTrackerDatabase):
1709         (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
1710         (WebCore::StorageTracker::syncImportOriginIdentifiers):
1711         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1712         (WebCore::StorageTracker::setOriginDetails):
1713         (WebCore::StorageTracker::syncSetOriginDetails):
1714         (WebCore::StorageTracker::origins):
1715         (WebCore::StorageTracker::deleteAllOrigins):
1716         (WebCore::StorageTracker::syncDeleteAllOrigins):
1717         (WebCore::StorageTracker::deleteOrigin):
1718         (WebCore::StorageTracker::syncDeleteOrigin):
1719         (WebCore::StorageTracker::willDeleteAllOrigins):
1720         (WebCore::StorageTracker::willDeleteOrigin):
1721         (WebCore::StorageTracker::canDeleteOrigin):
1722         (WebCore::StorageTracker::cancelDeletingOrigin):
1723         (WebCore::StorageTracker::setClient):
1724         (WebCore::StorageTracker::databasePathForOrigin):
1725         (WebCore::StorageTracker::diskUsageForOrigin):
1726         * storage/StorageTracker.h:
1727         (StorageTracker):
1728
1729 2013-04-29  Andreas Kling  <akling@apple.com>
1730
1731         Don't check for @media rules affected by viewport changes in every layout.
1732         <http://webkit.org/b/115370>
1733         <rdar://problem/13765739>
1734
1735         Reviewed by Antti Koivisto.
1736
1737         Move the logic that checks if any @media rules are affected by a change in the viewport
1738         size to FrameView::setFrameRect(). This way it's no longer necessary to do the style
1739         recalc synchronously, which allows us to coalesce multiple updates in some cases.
1740
1741         * page/FrameView.cpp:
1742         (WebCore::FrameView::setFrameRect):
1743         (WebCore::FrameView::layout):
1744
1745 2013-04-29  Anders Carlsson  <andersca@apple.com>
1746
1747         Remove the last StorageSyncManager function
1748         https://bugs.webkit.org/show_bug.cgi?id=115371
1749
1750         Reviewed by Sam Weinig.
1751
1752         Move the import scheduling to the StorageAreaSync constructor. Remove code to set m_importComplete to true
1753         since that could only happen if the StorageSyncManager's thread is null which doesn't make any sense.
1754
1755         * storage/StorageAreaSync.cpp:
1756         (WebCore::StorageAreaSync::StorageAreaSync):
1757         (WebCore::StorageAreaSync::create):
1758         * storage/StorageSyncManager.cpp:
1759         * storage/StorageSyncManager.h:
1760         (StorageSyncManager):
1761
1762 2013-04-29  Daker Fernandes Pinheiro  <daker.pinheiro@openbossa.org>
1763
1764         Remove unused method RenderMeter::valueRatio()
1765         https://bugs.webkit.org/show_bug.cgi?id=115266
1766
1767         Reviewed by Darin Adler.
1768
1769         The removed method is not used anywhere.
1770         No new tests are required.
1771
1772         * rendering/RenderMeter.cpp:
1773         * rendering/RenderMeter.h:
1774         (RenderMeter):
1775
1776 2013-04-29  Anders Carlsson  <andersca@apple.com>
1777
1778         Remove two more StorageSyncManager wrapper functions
1779         https://bugs.webkit.org/show_bug.cgi?id=115367
1780
1781         Reviewed by Andreas Kling.
1782
1783         * storage/StorageAreaSync.cpp:
1784         (WebCore::StorageAreaSync::scheduleFinalSync):
1785         (WebCore::StorageAreaSync::syncTimerFired):
1786         * storage/StorageSyncManager.cpp:
1787         * storage/StorageSyncManager.h:
1788
1789 2013-04-29  Stephen Chenney  <schenney@chromium.org>
1790
1791         SVGElement destructor can use invalid iterator
1792         https://bugs.webkit.org/show_bug.cgi?id=115361
1793
1794         Reviewed by Philip Rogers.
1795
1796         When an SVGElement object has rare data, its destructor gets a
1797         hash map iterator for the rare data, uses it to clear resources,
1798         then uses the iterator to delete the rare data. However, the resource
1799         cleanup can delete other SVG elements, thus modifying the hash map
1800         from which the iterator came and hence invalidating the iterator
1801         itself.
1802
1803         The fix is to re-get the iterator before deleting the rare data.
1804
1805         Test: svg/custom/svg-element-destructor-iteration-crash.html
1806
1807         * svg/SVGElement.cpp:
1808         (WebCore::SVGElement::~SVGElement): Get a new iterator after clearing rare data.
1809
1810 2013-04-29  Brady Eidson  <beidson@apple.com>
1811
1812         REGRESSION: We see authentication challenge sheets for favicon requests.
1813         <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
1814
1815         Reviewed by Alexey Proskuryakov.
1816
1817         No new tests (Not in a tested config, might fix existing test).
1818
1819         Rename ClientCrossOriginCredentialPolicy to ClientCredentialPolicy, make it be three options.
1820         and move it to ResourceHandleTypes where it belongs:
1821         * loader/ResourceLoaderOptions.h:
1822         * platform/network/ResourceHandleTypes.h:
1823
1824         Expose the ClientCredentialPolicy the ResourceLoader was created with:
1825         * loader/ResourceLoader.h:
1826         (WebCore::ResourceLoader::clientCredentialPolicy):
1827
1828         Rework the “should ask client” clause for the new values of ClientCredentialPolicy:
1829         * loader/ResourceLoader.cpp:
1830         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1831
1832         Rework loadResourceSynchronously() to include a ClientCredentialPolicy argument:
1833         * loader/FrameLoader.cpp:
1834         (WebCore::FrameLoader::loadResourceSynchronously):
1835         * loader/FrameLoader.h:
1836         * loader/LoaderStrategy.cpp:
1837         (WebCore::LoaderStrategy::loadResourceSynchronously):
1838         * loader/LoaderStrategy.h:
1839
1840         Never ask the client for credentials for icon loads:
1841         * loader/icon/IconLoader.cpp:
1842         (WebCore::IconLoader::startLoading):
1843
1844         Update all other users of ClientCredentialPolicy to the appropriate new value,
1845         and update all users of loadResourceSynchronously to the new function signature:
1846         * inspector/InspectorFrontendHost.cpp:
1847         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
1848         * loader/DocumentLoader.cpp:
1849         (WebCore::DocumentLoader::startLoadingMainResource):
1850         * loader/DocumentThreadableLoader.cpp:
1851         (WebCore::DocumentThreadableLoader::loadRequest):
1852         * loader/FrameLoader.cpp:
1853         (WebCore::FrameLoader::loadResourceSynchronously):
1854         * loader/FrameLoader.h:
1855         (FrameLoader):
1856         * loader/LoaderStrategy.cpp:
1857         (WebCore::LoaderStrategy::loadResourceSynchronously):
1858         * loader/LoaderStrategy.h:
1859         (LoaderStrategy):
1860         * loader/NetscapePlugInStreamLoader.cpp:
1861         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
1862         * loader/cache/CachedResourceLoader.cpp:
1863         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1864         (WebCore::CachedResourceLoader::defaultCachedResourceOptions):
1865         * xml/XSLTProcessorLibxslt.cpp:
1866         (WebCore::docLoaderFunc):
1867         * xml/parser/XMLDocumentParserLibxml2.cpp:
1868         (WebCore::openFunc):
1869
1870         * WebCore.exp.in:
1871
1872 2013-04-29  Anders Carlsson  <andersca@apple.com>
1873
1874         Add a StorageSyncManager::dispatch helper function
1875         https://bugs.webkit.org/show_bug.cgi?id=115365
1876
1877         Reviewed by Andreas Kling.
1878
1879         * storage/StorageSyncManager.cpp:
1880         (WebCore::StorageSyncManager::dispatch):
1881         (WebCore):
1882         (WebCore::StorageSyncManager::close):
1883         (WebCore::StorageSyncManager::scheduleImport):
1884         (WebCore::StorageSyncManager::scheduleSync):
1885         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
1886         * storage/StorageSyncManager.h:
1887         (StorageSyncManager):
1888
1889 2013-04-29  Anders Carlsson  <andersca@apple.com>
1890
1891         Re-indent StorageSyncManager and remove SecurityOrigin forward declaration.
1892
1893         Rubber-stamped by Andreas Kling.
1894
1895         * storage/StorageSyncManager.h:
1896
1897 2013-04-27  Anders Carlsson  <andersca@apple.com>
1898
1899         Get rid of StorageTask
1900         https://bugs.webkit.org/show_bug.cgi?id=115313
1901
1902         Reviewed by Andreas Kling.
1903
1904         * CMakeLists.txt:
1905         * GNUmakefile.list.am:
1906         * Target.pri:
1907         * WebCore.vcproj/WebCore.vcproj:
1908         * WebCore.vcxproj/WebCore.vcxproj:
1909         * WebCore.vcxproj/WebCore.vcxproj.filters:
1910         * WebCore.xcodeproj/project.pbxproj:
1911         * storage/StorageSyncManager.cpp:
1912         * storage/StorageTask.cpp: Removed.
1913         * storage/StorageTask.h: Removed.
1914         * storage/StorageThread.cpp:
1915         (WebCore::StorageThread::threadEntryPoint):
1916         (WebCore::StorageThread::dispatch):
1917         (WebCore::StorageThread::terminate):
1918         * storage/StorageThread.h:
1919         (StorageThread):
1920         * storage/StorageTracker.cpp:
1921
1922 2013-04-29  Andreas Kling  <akling@apple.com>
1923
1924         Add branch-prediction hint to FAST_RETURN_IF_NO_FRONTENDS.
1925         <http://webkit.org/b/115357>
1926
1927         Reviewed by Anders Carlsson.
1928
1929         Since this macro is used in some very hot code paths, give the compiler an extra hint
1930         to try and minimize the impact it has when the inspector is not active.
1931
1932         * inspector/InspectorInstrumentation.h:
1933
1934 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
1935
1936         [WIN] Add WTF_USE_IMLANG_FONT_LINK2
1937         https://bugs.webkit.org/show_bug.cgi?id=115198
1938
1939         Reviewed by Andreas Kling.
1940
1941         Add this new define to have a central place for switching
1942         the IMLangFontLinkType and adop all usages of the type.
1943         This makes the usage of the code easier on desktop pcs.
1944
1945         * platform/graphics/FontCache.h:
1946         (WebCore):
1947         * platform/graphics/wince/FontCacheWinCE.cpp:
1948         (WebCore::currentFontContainsCharacter):
1949         (WebCore::createMLangFont):
1950         (WebCore::FontCache::getFontDataForCharacters):
1951         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1952         (WebCore::SimpleFontData::containsCharacters):
1953
1954 2013-04-29  Noam Rosenthal  <noam@webkit.org>
1955
1956         Get rid of "non-composited contents" in CoordinatedLayerTreeHost
1957         https://bugs.webkit.org/show_bug.cgi?id=110355
1958
1959         Reviewed by Jocelyn Turcotte.
1960
1961         When in force compositing mode, always assume that the main layer needs
1962         a backing store. Make setVisibleContentRectTrajectoryVector and accumulatedCoverRect
1963         recursive so that they don't rely on a specialized layer.
1964
1965         No new testable behavior, changes to coverRect and trajectory vector only
1966         affect tiling latency in rare cases that are not trivial to test.
1967
1968         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1969         (WebCore::CoordinatedGraphicsLayer:setVisibleContentRectTrajectoryVector):
1970             Make the trajectory vector recursive, though limited only to layers with
1971             translate/identity. This allows us to keep the trajectory vector while removing
1972             the non-composited contents specialization.
1973
1974         (WebCore::CoordinatedGraphicsLayer::accumulatedCoverRect):
1975             Added accumulatedCoverRect, so that the coverRect calculations for the UI process
1976             are not bound to the non-composited contents layer.
1977
1978         (WebCore::CoordinatedGraphicsLayer::findDescendantWithContentsRecursively):
1979             Instead of saving a reference to the non-composited contents layer, we assume that
1980             the first layer we found recursively which has contents is the one to be used for
1981             coverRect/trajectory calculations.
1982
1983         (WebCore):
1984         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1985         (CoordinatedGraphicsLayer):
1986         * rendering/RenderLayerBacking.cpp:
1987         (WebCore::RenderLayerBacking::paintsIntoWindow):
1988             Always create a layer for the non-composited contents when in forceCompositing mode.
1989
1990 2013-04-29  Dirk Schulze  <krit@webkit.org>
1991
1992         Animate clip rect() between different Length types
1993         https://bugs.webkit.org/show_bug.cgi?id=115336
1994
1995         Reviewed by Andreas Kling.
1996
1997         At the moment the animation for the 'clip' property
1998         has an early return if the type of two Length values
1999         does not match. This patch removes this early return.
2000
2001         Modified existing tests to cover the changes.
2002
2003         * page/animation/CSSPropertyAnimation.cpp:
2004         (WebCore::blendFunc):
2005
2006 2013-04-29  Andreas Kling  <akling@apple.com>
2007
2008         When updating geometry, send JavaScript resize before before layout/paint.
2009         <http://webkit.org/b/115199>
2010         <rdar://problem/13735535>
2011
2012         Reviewed by Geoffrey Garen.
2013
2014         Make the "resize" event synchronous and dispatch it before doing any automatic
2015         resize-induced layout. This avoids unnecessary work in cases where an event handler
2016         does something that dirties style.
2017
2018         It also avoids a kind of JS-side FOUC that happens if we drop out to the runloop
2019         and paint before the resize event handler runs; for example, when viewing a popup
2020         on <http://lokeshdhakar.com/projects/lightbox2/> and resizing the window, the dark
2021         overlay sometimes resizes out of sync with the web view, since a paint may happen
2022         between automatic layout and the resize event.
2023
2024         * page/EventHandler.h:
2025         * page/EventHandler.cpp:
2026         (WebCore::EventHandler::dispatchResizeEvent):
2027         * page/FrameView.h:
2028         * page/FrameView.cpp:
2029         (WebCore::FrameView::dispatchResizeEvent):
2030
2031             Renamed sendResizeEvent() to dispatchResizeEvent() and made it dispatch the event
2032             synchronously instead of adding it to the DocumentEventQueue.
2033
2034         (WebCore::FrameView::performPostLayoutTasks):
2035         (WebCore::FrameView::setFrameRect):
2036
2037             Dispatch the "resize" event right when the new frame rect is set.
2038
2039 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2040
2041         Remove OS(WINCE) from (Render|Scrollbar)ThemeWin.cpp
2042         https://bugs.webkit.org/show_bug.cgi?id=115348
2043
2044         Reviewed by Andreas Kling.
2045
2046         Compile DIBPixelData.cpp on Windows CE too, which allows us
2047         to get rid of a few #if OS(WINCE) in other code parts.
2048
2049         * PlatformWinCE.cmake:
2050         * platform/graphics/win/DIBPixelData.cpp:
2051         (WebCore::DIBPixelData::setRGBABitmapAlpha):
2052         * platform/win/ScrollbarThemeWin.cpp:
2053         (WebCore::ScrollbarThemeWin::paintTrackPiece):
2054         (WebCore::ScrollbarThemeWin::paintButton):
2055         (WebCore::ScrollbarThemeWin::paintThumb):
2056         * rendering/RenderThemeWin.cpp:
2057         (WebCore::drawControl):
2058
2059 2013-04-29  Eli Fidler  <efidler@blackberry.com>
2060
2061         [BlackBerry] Fake-bold monospace fonts need to use non-fake-bold advances
2062         https://bugs.webkit.org/show_bug.cgi?id=115280
2063
2064         Reviewed by George Staikos.
2065
2066         BlackBerry PR 330864
2067
2068         Tested by fast/css/css3-ch-unit.html
2069
2070         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
2071         (WebCore::FontPlatformData::applyState):
2072         (WebCore::FontPlatformData::isFixedPitch):
2073         * platform/graphics/blackberry/ITypeUtils.h:
2074         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
2075         (WebCore::SimpleFontData::platformWidthForGlyph):
2076
2077 2013-04-29  ChangSeok Oh  <changseok.oh@collabora.com>
2078
2079         [GTK][AC] Clean up code related with the children management stuff for clutter based AC
2080         https://bugs.webkit.org/show_bug.cgi?id=114260
2081
2082         Reviewed by Gustavo Noronha Silva.
2083
2084         Remove unused or usless code for children management stuff.
2085
2086         No new tests since no functionality changed.
2087
2088         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2089         (_GraphicsLayerActorPrivate):
2090         (graphics_layer_actor_class_init):
2091         (graphicsLayerActorAllocate):
2092         (graphicsLayerActorDraw):
2093         (graphicsLayerActorNew):
2094         (graphicsLayerActorSetSublayers):
2095         * platform/graphics/clutter/GraphicsLayerActor.h:
2096         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2097         (WebCore::idleDestroy):
2098         (WebCore::GraphicsLayerClutter::ensureStructuralLayer):
2099         (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
2100
2101 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2102
2103         [WIN] Guard cfHDropFormat() with USE(CF) instead of OS(WINCE)
2104         https://bugs.webkit.org/show_bug.cgi?id=115195
2105
2106         Reviewed by Andreas Kling.
2107
2108         USE(CF) is the correct guard, which works on desktop pcs too.
2109
2110         * platform/win/ClipboardWin.cpp:
2111         (WebCore::ClipboardWin::files):
2112         * platform/win/DragDataWin.cpp:
2113         (WebCore::DragData::containsFiles):
2114         (WebCore::DragData::numberOfFiles):
2115         (WebCore::DragData::asFilenames):
2116
2117 2013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2118
2119         Unreviewed. Fix make distcheck.
2120
2121         * GNUmakefile.am: Add missing scripts to EXTRA_DIST.
2122         * GNUmakefile.list.am: Add missing files to compilation.
2123
2124 2013-04-29  Noam Rosenthal  <noam@webkit.org>
2125
2126         [Qt] fast/canvas/webgl/webgl-composite-modes.html broken after r148433.
2127         https://bugs.webkit.org/show_bug.cgi?id=115243
2128
2129         Reviewed by Jocelyn Turcotte.
2130
2131         When compositing a layer with a canvas or directly composited image, it is
2132         wrong to use TextureMapperLayer::setBackingStore. Instead, setContentsLayer
2133         should be used, which allows for the layer to have both a backing store and
2134         a contents layer.
2135
2136         * platform/graphics/texmap/TextureMapperLayer.cpp:
2137         (WebCore::TextureMapperLayer::paintSelf):
2138         * platform/graphics/texmap/TextureMapperLayer.h:
2139         (State):
2140         (WebCore::TextureMapperLayer::State::State):
2141         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2142         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
2143         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
2144         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2145
2146 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2147
2148         Unreviewed build fix.
2149
2150         * bindings/js/WorkerScriptDebugServer.cpp: Added missing header.
2151
2152 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2153
2154         Unreviewed build fix.
2155
2156         * platform/graphics/wince/FontWinCE.cpp:
2157         (WebCore::generateComponents):
2158
2159 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2160
2161         Remove OS(WINCE) from HTMLSelectElement.cpp
2162         https://bugs.webkit.org/show_bug.cgi?id=115194
2163
2164         Reviewed by Andreas Kling.
2165
2166         Use the same files like the the other PLATFORM(WIN) ports use.
2167
2168         * PlatformWinCE.cmake:
2169         * html/HTMLSelectElement.cpp:
2170         (WebCore):
2171
2172 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
2173
2174         StaticHashSetNodeList is unnecessary
2175         https://bugs.webkit.org/show_bug.cgi?id=115219
2176
2177         Reviewed by Antonio Gomes.
2178
2179         Moved Document::nodesFromRect into Internals::nodesFromRect per
2180         https://chromium.googlesource.com/chromium/blink/+/78207c5c34383fbb807bb9347deb67168f09bb04.
2181
2182         Also made TouchAdjustment functions use HashListSet directly instead of wrapping it inside
2183         a StaticHashSetNodeList since there was no need to use the latter.
2184
2185         With these two changes, I deleted StaticHashSetNodeList.
2186
2187         * GNUmakefile.list.am:
2188         * Target.pri:
2189         * WebCore.exp.in:
2190         * WebCore.xcodeproj/project.pbxproj:
2191         * dom/Document.cpp:
2192         (WebCore):
2193         * dom/Document.h:
2194         (Document):
2195         * dom/StaticHashSetNodeList.cpp: Removed.
2196         * dom/StaticHashSetNodeList.h: Removed.
2197         * page/EventHandler.cpp:
2198         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
2199         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
2200         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
2201         * page/TouchAdjustment.cpp:
2202         (WebCore::TouchAdjustment::compileSubtargetList):
2203         (WebCore::TouchAdjustment::compileZoomableSubtargets):
2204         (WebCore::findBestClickableCandidate):
2205         (WebCore::findBestContextMenuCandidate):
2206         (WebCore::findBestZoomableArea):
2207         * page/TouchAdjustment.h:
2208         (WebCore):
2209         * testing/Internals.cpp:
2210         (WebCore::Internals::nodesFromRect):
2211
2212 2013-04-28  Dean Jackson  <dino@apple.com>
2213
2214         [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
2215         https://bugs.webkit.org/show_bug.cgi?id=115310
2216
2217         Reviewed by Simon Fraser.
2218
2219         Disable the automatic pixel doubling in canvas backing stores on high
2220         dpi devices. This will potentially make canvases look worse of high dpi
2221         displays, but only if they were ignoring devicePixelRatio. Since the
2222         majority of high dpi displays *do not* auto-double (including mobile
2223         devices and other desktop browsers), this provides consistency and less
2224         chance of unnecessary memory use.
2225
2226         * Configurations/FeatureDefines.xcconfig: Remove ENABLE_HIGH_DPI_CANVAS_macosx.
2227
2228 2013-04-28  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2229
2230         Get rid of [Callback] IDL extended attribute for parameters
2231         https://bugs.webkit.org/show_bug.cgi?id=115250
2232
2233         Reviewed by Kentaro Hara.
2234
2235         Remove the WebKit-specific [Callback] extended attribute and make the bindings
2236         generator smart enough to know when a parameter is of callback type on its
2237         own.
2238
2239         No new tests, no behavior change.
2240
2241         * DerivedSources.make: Use WebCore/Modules as IDL include path instead of using
2242         subdirs. The generator will search recursively anyway and the list of subdirs was
2243         incomplete.
2244         * Modules/filesystem/DOMWindowFileSystem.idl:
2245         * Modules/filesystem/DirectoryEntry.idl:
2246         * Modules/filesystem/DirectoryReader.idl:
2247         * Modules/filesystem/Entry.idl:
2248         * Modules/filesystem/FileEntry.idl:
2249         * Modules/filesystem/WorkerContextFileSystem.idl:
2250         * Modules/mediastream/NavigatorMediaStream.idl:
2251         * Modules/mediastream/RTCPeerConnection.idl:
2252         * Modules/notifications/Notification.idl:
2253         * Modules/notifications/NotificationCenter.idl:
2254         * Modules/quota/StorageInfo.idl:
2255         * Modules/quota/StorageQuota.idl:
2256         * Modules/webaudio/AudioContext.idl:
2257         * Modules/webdatabase/DOMWindowWebDatabase.idl:
2258         * Modules/webdatabase/Database.idl:
2259         * Modules/webdatabase/DatabaseSync.idl:
2260         * Modules/webdatabase/SQLTransaction.idl:
2261         * Modules/webdatabase/WorkerContextWebDatabase.idl:
2262         * bindings/gobject/GNUmakefile.am: Add missing IDL include dirs.
2263         * bindings/scripts/CodeGenerator.pm:
2264         (IsWrapperType):
2265         (IsCallbackInterface):
2266         * bindings/scripts/CodeGeneratorGObject.pm:
2267         (SkipFunction):
2268         * bindings/scripts/CodeGeneratorJS.pm:
2269         (GenerateParametersCheckExpression):
2270         (GenerateParametersCheck):
2271         * bindings/scripts/IDLAttributes.txt: Remove "Callback" extended attribute.
2272         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2273         (WebDOMTestCallback::callbackWithArrayParam):
2274         (WebDOMTestCallback::callbackWithSerializedScriptValueParam):
2275         (WebDOMTestCallback::callbackWithNonBoolReturnType):
2276         (WebDOMTestCallback::callbackRequiresThisToPass):
2277         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2278         (WebDOMTestCallback):
2279         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2280         (WebDOMTestObj::convert1):
2281         (WebDOMTestObj::convert2):
2282         (WebDOMTestObj::convert4):
2283         (WebDOMTestObj::convert5):
2284         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2285         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
2286         (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
2287         (WebDOMTestSerializedScriptValueInterface::multiTransferList):
2288         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
2289         (WebDOMTestSerializedScriptValueInterface):
2290         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
2291         (WebDOMTestTypedefs::multiTransferList):
2292         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h:
2293         (WebDOMTestTypedefs):
2294         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2295         (webkit_dom_test_callback_callback_with_array_param):
2296         (webkit_dom_test_callback_callback_with_serialized_script_value_param):
2297         (webkit_dom_test_callback_callback_with_non_bool_return_type):
2298         (webkit_dom_test_callback_callback_requires_this_to_pass):
2299         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2300         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2301         (webkit_dom_test_obj_convert1):
2302         (webkit_dom_test_obj_convert2):
2303         (webkit_dom_test_obj_convert4):
2304         (webkit_dom_test_obj_convert5):
2305         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2306         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2307         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
2308         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
2309         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2310         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
2311         (webkit_dom_test_typedefs_multi_transfer_list):
2312         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
2313         * bindings/scripts/test/JS/JSTestCallback.cpp:
2314         (WebCore::JSTestCallback::callbackWithArrayParam):
2315         (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
2316         (WebCore::JSTestCallback::callbackRequiresThisToPass):
2317         * bindings/scripts/test/JS/JSTestCallback.h:
2318         (JSTestCallback):
2319         * bindings/scripts/test/JS/JSTestObj.cpp:
2320         (WebCore::jsTestObjPrototypeFunctionConvert1):
2321         (WebCore::jsTestObjPrototypeFunctionConvert2):
2322         (WebCore::jsTestObjPrototypeFunctionConvert4):
2323         (WebCore::jsTestObjPrototypeFunctionConvert5):
2324         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2325         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2326         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2327         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
2328         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2329         (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
2330         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2331         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2332         (-[DOMTestCallback callbackWithArrayParam:]):
2333         (-[DOMTestCallback callbackWithSerializedScriptValueParam:strArg:]):
2334         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2335         (-[DOMTestCallback callbackRequiresThisToPass:testNodeParam:]):
2336         * bindings/scripts/test/ObjC/DOMTestObj.h:
2337         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2338         (-[DOMTestObj convert1:]):
2339         (-[DOMTestObj convert2:]):
2340         (-[DOMTestObj convert4:]):
2341         (-[DOMTestObj convert5:]):
2342         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2343         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
2344         (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
2345         (-[DOMTestSerializedScriptValueInterface multiTransferList:tx:second:txx:]):
2346         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
2347         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
2348         (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
2349         * bindings/scripts/test/TestCallback.idl: Use valid types instead of Class1, Class2, ...
2350         so that the bindings generator does not complain about not being able to resolve
2351         them.
2352         * bindings/scripts/test/TestObj.idl: Use valid parameter types instead of 'a', 'b', 'd', 'e'
2353         so that the bindings generator does not complain about them.
2354         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2355         * bindings/scripts/test/TestTypedefs.idl:
2356         * css/FontLoader.idl:
2357         * dom/DataTransferItem.idl:
2358         * page/DOMWindow.idl:
2359
2360 2013-04-27  Darin Adler  <darin@apple.com>
2361
2362         Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2363         https://bugs.webkit.org/show_bug.cgi?id=115307
2364
2365         Reviewed by Geoffrey Garen.
2366
2367         This change was done by a global replace followed by compiling and inspecting for
2368         cases that needed to be tweaked by hand.
2369
2370         * accessibility/ios/AXObjectCacheIOS.mm:
2371         (WebCore::AXObjectCache::attachWrapper):
2372         * accessibility/mac/AXObjectCacheMac.mm:
2373         (WebCore::AXObjectCache::attachWrapper):
2374         * bridge/objc/objc_class.mm:
2375         (JSC::Bindings::ObjcClass::methodNamed):
2376         (JSC::Bindings::ObjcClass::fieldNamed):
2377         * bridge/objc/objc_runtime.mm:
2378         (JSC::Bindings::ObjcField::ObjcField):
2379         * editing/mac/EditorMac.mm:
2380         (WebCore::Editor::fontAttributesForSelectionStart):
2381         * history/cf/HistoryPropertyList.cpp:
2382         (WebCore::HistoryPropertyListWriter::releaseData):
2383         * html/HTMLMediaElement.cpp:
2384         (WebCore::createFileURLForApplicationCacheResource):
2385         * loader/archive/cf/LegacyWebArchive.cpp:
2386         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2387         (WebCore::LegacyWebArchive::create):
2388         (WebCore::LegacyWebArchive::rawDataRepresentation):
2389         * loader/archive/cf/LegacyWebArchiveMac.mm:
2390         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2391         * loader/mac/ResourceLoaderMac.mm:
2392         (WebCore::ResourceLoader::willCacheResponse):
2393         * page/CaptionUserPreferencesMac.mm:
2394         (WebCore::CaptionUserPreferencesMac::userPrefersCaptions):
2395         (WebCore::CaptionUserPreferencesMac::userPrefersSubtitles):
2396         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS):
2397         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS):
2398         (WebCore::CaptionUserPreferencesMac::captionsTextColor):
2399         (WebCore::CaptionUserPreferencesMac::captionsDefaultFontCSS):
2400         (WebCore::CaptionUserPreferencesMac::preferredLanguages):
2401         (WebCore::trackDisplayName):
2402         * platform/Language.cpp:
2403         (WebCore::displayNameForLanguageLocale):
2404         * platform/LocalizedStrings.cpp:
2405         (WebCore::contextMenuItemTagSearchWeb):
2406         (WebCore::imageTitle):
2407         * platform/MIMETypeRegistry.cpp:
2408         (WebCore::initializeSupportedImageMIMETypes):
2409         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2410         * platform/audio/mac/AudioFileReaderMac.cpp:
2411         (WebCore::AudioFileReader::AudioFileReader):
2412         * platform/cf/KURLCFNet.cpp:
2413         (WebCore::KURL::fileSystemPath):
2414         * platform/cf/SharedBufferCF.cpp:
2415         (WebCore::SharedBuffer::maybeTransferPlatformData):
2416         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2417         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2418         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2419         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2420         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
2421         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
2422         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
2423         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
2424         * platform/graphics/ca/GraphicsLayerCA.cpp:
2425         (WebCore::GraphicsLayerCA::setContentsToImage):
2426         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2427         (WebCore::LayerFlushScheduler::schedule):
2428         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2429         (PlatformCAAnimation::PlatformCAAnimation):
2430         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2431         (PlatformCAFilters::filterValueForOperation):
2432         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2433         (PlatformCALayer::PlatformCALayer):
2434         (PlatformCALayer::addAnimationForKey):
2435         (PlatformCALayer::setBackgroundColor):
2436         (PlatformCALayer::setBorderColor):
2437         * platform/graphics/cg/BitmapImageCG.cpp:
2438         (WebCore::BitmapImage::checkForSolidColor):
2439         (WebCore::BitmapImage::getCGImageArray):
2440         * platform/graphics/cg/ColorCG.cpp:
2441         (WebCore::cachedCGColor):
2442         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2443         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
2444         * platform/graphics/cg/GraphicsContextCG.cpp:
2445         (WebCore::GraphicsContext::applyStrokePattern):
2446         (WebCore::GraphicsContext::applyFillPattern):
2447         (WebCore::GraphicsContext::setURLForRect):
2448         * platform/graphics/cg/ImageBufferCG.cpp:
2449         (WebCore::createIOSurface):
2450         (WebCore::ImageBuffer::ImageBuffer):
2451         (WebCore::ImageBuffer::copyImage):
2452         (WebCore::ImageBuffer::draw):
2453         (WebCore::ImageBuffer::clip):
2454         (WebCore::ImageBuffer::putByteArray):
2455         (WebCore::CGImageEncodeToData):
2456         (WebCore::CGImageToDataURL):
2457         (WebCore::ImageBuffer::toDataURL):
2458         (WebCore::ImageDataToDataURL):
2459         * platform/graphics/cg/ImageBufferDataCG.cpp:
2460         (WebCore::ImageBufferData::getData):
2461         (WebCore::ImageBufferData::putData):
2462         * platform/graphics/cg/ImageCG.cpp:
2463         (WebCore::Image::imageWithColorSpace):
2464         (WebCore::Image::drawPattern):
2465         * platform/graphics/cg/ImageSourceCG.cpp:
2466         (WebCore::ImageSource::setData):
2467         (WebCore::ImageSource::isSizeAvailable):
2468         (WebCore::ImageSource::frameSizeAtIndex):
2469         (WebCore::ImageSource::orientationAtIndex):
2470         (WebCore::ImageSource::getHotSpot):
2471         (WebCore::ImageSource::repetitionCount):
2472         (WebCore::ImageSource::createFrameAtIndex):
2473         (WebCore::ImageSource::frameDurationAtIndex):
2474         * platform/graphics/cg/PDFDocumentImage.cpp:
2475         (WebCore::PDFDocumentImage::dataChanged):
2476         * platform/graphics/cg/PathCG.cpp:
2477         (WebCore::createScratchContext):
2478         (WebCore::Path::contains):
2479         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2480         (WebCore::FontPlatformData::FontPlatformData):
2481         (WebCore::FontPlatformData::setFont):
2482         (WebCore::createFeatureSettingDictionary):
2483         (WebCore::cascadeToLastResortFontDescriptor):
2484         (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor):
2485         (WebCore::FontPlatformData::ctFont):
2486         (WebCore::FontPlatformData::description):
2487         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2488         (WebCore::DrawingBuffer::DrawingBuffer):
2489         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2490         (-[WebCascadeList objectAtIndex:]):
2491         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2492         * platform/graphics/mac/FontCustomPlatformData.cpp:
2493         (WebCore::createFontCustomPlatformData):
2494         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2495         (WebCore::GlyphPage::fill):
2496         * platform/graphics/mac/GraphicsContext3DMac.mm:
2497         (WebCore::GraphicsContext3D::GraphicsContext3D):
2498         * platform/graphics/mac/GraphicsContextMac.mm:
2499         (WebCore::GraphicsContext::drawFocusRing):
2500         (WebCore::linearRGBColorSpaceRef):
2501         * platform/graphics/mac/ImageMac.mm:
2502         (WebCore::BitmapImage::getTIFFRepresentation):
2503         (WebCore::BitmapImage::getNSImage):
2504         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2505         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
2506         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
2507         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
2508         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
2509         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2510         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
2511         (WebCore::addFileTypesToCache):
2512         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2513         (WebCore::SimpleFontData::getCFStringAttributes):
2514         * platform/graphics/mac/SimpleFontDataMac.mm:
2515         (WebCore::fontHasVerticalGlyphs):
2516         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
2517         (WebCore::SimpleFontData::platformCharWidthInit):
2518         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2519         * platform/graphics/mac/WebGLLayer.mm:
2520         (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
2521         * platform/mac/ContentFilterMac.mm:
2522         (WebCore::ContentFilter::ContentFilter):
2523         * platform/mac/ContextMenuItemMac.mm:
2524         (WebCore::ContextMenuItem::ContextMenuItem):
2525         * platform/mac/CursorMac.mm:
2526         (WebCore::createCustomCursor):
2527         (WebCore::createNamedCursor):
2528         * platform/mac/DisplaySleepDisabler.cpp:
2529         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
2530         * platform/mac/DragImageMac.mm:
2531         (WebCore::dissolveDragImageToFraction):
2532         (WebCore::createDragImageFromImage):
2533         * platform/mac/HTMLConverter.mm:
2534         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2535         * platform/mac/Language.mm:
2536         (WebCore::httpStyleLanguageCode):
2537         (WebCore::platformUserPreferredLanguages):
2538         * platform/mac/LocalizedStringsMac.cpp:
2539         (WebCore::localizedString):
2540         * platform/mac/PasteboardMac.mm:
2541         (WebCore::Pasteboard::getDataSelection):
2542         (WebCore::Pasteboard::writeSelectionForTypes):
2543         (WebCore::fragmentFromWebArchive):
2544         * platform/mac/PlatformClockCM.mm:
2545         (PlatformClockCM::PlatformClockCM):
2546         (PlatformClockCM::initializeWithTimingSource):
2547         * platform/mac/PlatformPasteboardMac.mm:
2548         (WebCore::PlatformPasteboard::addTypes):
2549         (WebCore::PlatformPasteboard::setTypes):
2550         (WebCore::PlatformPasteboard::setPathnamesForType):
2551         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2552         (WebCore::PlatformSpeechSynthesizer::speak):
2553         * platform/mac/PopupMenuMac.mm:
2554         (WebCore::PopupMenuMac::populate):
2555         (WebCore::PopupMenuMac::show):
2556         * platform/mac/ScrollAnimatorMac.mm:
2557         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2558         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
2559         (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
2560         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2561         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2562         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2563         * platform/mac/SharedBufferMac.mm:
2564         (WebCore::SharedBuffer::createCFData):
2565         * platform/mac/WebCoreNSStringExtras.mm:
2566         (stringEncodingForResource):
2567         * platform/network/ProtectionSpace.cpp:
2568         (WebCore::ProtectionSpace::receivesCredentialSecurely):
2569         * platform/network/SynchronousLoaderClient.cpp:
2570         (WebCore::SynchronousLoaderClient::platformBadResponseError):
2571         * platform/network/cf/CredentialStorageCFNet.cpp:
2572         (WebCore::CredentialStorage::getFromPersistentStorage):
2573         * platform/network/cf/DNSCFNet.cpp:
2574         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
2575         * platform/network/cf/FormDataStreamCFNet.cpp:
2576         (WebCore::advanceCurrentStream):
2577         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
2578         (WebCore::overrideCookieStorage):
2579         * platform/network/cf/ProxyServerCFNet.cpp:
2580         (WebCore::proxyAutoConfigurationResultCallback):
2581         (WebCore::processProxyServers):
2582         (WebCore::addProxyServersForURL):
2583         * platform/network/cf/ResourceErrorCF.cpp:
2584         (WebCore::ResourceError::platformLazyInit):
2585         (WebCore::ResourceError::cfError):
2586         * platform/network/cf/ResourceHandleCFNet.cpp:
2587         (WebCore::willSendRequest):
2588         (WebCore::ResourceHandle::createCFURLConnection):
2589         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2590         (WebCore::ResourceHandle::receivedCredential):
2591         (WebCore::ResourceHandle::handleDataArray):
2592         * platform/network/cf/ResourceRequestCFNet.cpp:
2593         (WebCore::setHeaderFields):
2594         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2595         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2596         (WebCore::ResourceRequest::doUpdateResourceRequest):
2597         (WebCore::ResourceRequest::setStorageSession):
2598         * platform/network/cf/ResourceResponseCFNet.cpp:
2599         (WebCore::ResourceResponse::cfURLResponse):
2600         (WebCore::ResourceResponse::platformLazyInit):
2601         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2602         (WebCore::SocketStreamHandle::SocketStreamHandle):
2603         (WebCore::SocketStreamHandle::executePACFileURL):
2604         (WebCore::SocketStreamHandle::chooseProxy):
2605         (WebCore::SocketStreamHandle::createStreams):
2606         (WebCore::SocketStreamHandle::addCONNECTCredentials):
2607         (WebCore::SocketStreamHandle::readStreamCallback):
2608         (WebCore::SocketStreamHandle::writeStreamCallback):
2609         (WebCore::SocketStreamHandle::reportErrorToClient):
2610         * platform/network/mac/AuthenticationMac.mm:
2611         (WebCore::mac):
2612         (WebCore::AuthenticationChallenge::setAuthenticationClient):
2613         * platform/network/mac/CookieJarMac.mm:
2614         (WebCore::filterCookies):
2615         * platform/network/mac/NetworkStateNotifierMac.cpp:
2616         (WebCore::NetworkStateNotifier::updateState):
2617         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2618         * platform/network/mac/ResourceErrorMac.mm:
2619         (WebCore::createNSErrorFromResourceErrorBase):
2620         (WebCore::ResourceError::nsError):
2621         * platform/network/mac/ResourceHandleMac.mm:
2622         (WebCore::ResourceHandle::createNSURLConnection):
2623         * platform/network/mac/ResourceRequestMac.mm:
2624         (WebCore::ResourceRequest::updateNSURLRequest):
2625         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2626         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2627         (WebCore::ResourceRequest::setStorageSession):
2628         * platform/network/mac/ResourceResponseMac.mm:
2629         (WebCore::ResourceResponse::initNSURLResponse):
2630         (WebCore::ResourceResponse::nsURLResponse):
2631         (WebCore::ResourceResponse::platformLazyInit):
2632         * platform/network/mac/UTIUtilities.mm:
2633         (WebCore::mimeTypeFromUTITree):
2634         * platform/network/mac/WebCoreURLResponse.mm:
2635         (WebCore::adjustMIMETypeIfNecessary):
2636         * platform/text/cf/HyphenationCF.cpp:
2637         (WebCore::::createValueForNullKey):
2638         (WebCore::lastHyphenLocation):
2639         * platform/text/mac/HyphenationMac.mm:
2640         (WebCore::::createValueForKey):
2641         (WebCore::lastHyphenLocation):
2642         * platform/text/mac/LocaleMac.mm:
2643         (WebCore::determineLocale):
2644         (WebCore::LocaleMac::LocaleMac):
2645         (WebCore::LocaleMac::initializeLocaleData):
2646         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2647         (WebCore::textBreakLocalePreference):
2648         (WebCore::canonicalLanguageIdentifier):
2649         * rendering/RenderThemeMac.mm:
2650         (WebCore::RenderThemeMac::RenderThemeMac):
2651         (WebCore::RenderThemeMac::levelIndicatorFor):
2652         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2653         (WebCore::RenderThemeMac::paintSliderTrack):
2654         (WebCore::RenderThemeMac::popupButton):
2655         (WebCore::RenderThemeMac::search):
2656         (WebCore::RenderThemeMac::searchMenuTemplate):
2657         (WebCore::RenderThemeMac::sliderThumbHorizontal):
2658         (WebCore::RenderThemeMac::sliderThumbVertical):
2659         (WebCore::RenderThemeMac::textField):
2660         Use adoptNS and adoptCF free functions.
2661
2662 2013-04-27  Ryosuke Niwa  <rniwa@webkit.org>
2663
2664         Pressing mouse button inside a dragstart event causes a crash
2665         https://bugs.webkit.org/show_bug.cgi?id=115296
2666
2667         Reviewed by Darin Adler.
2668
2669         Add a missing null pointer check. We should better encapsulate the states in DragState in the long term
2670         but this is good enough for now.
2671
2672         Test: fast/events/mousedown-inside-dragstart-should-not-cause-crash.html
2673
2674         * page/EventHandler.cpp:
2675         (WebCore::EventHandler::handleDrag):
2676
2677 2013-04-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2678
2679         Unreviewed build fix when disabling video and video-track.
2680
2681         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2682
2683 2013-04-27  Geoffrey Garen  <ggaren@apple.com>
2684
2685         WebGL shouldn't allocate a "length" Identifier just to move some numbers around
2686         https://bugs.webkit.org/show_bug.cgi?id=115317
2687
2688         Reviewed by Dean Jackson.
2689
2690         Saw this while debugging an ammo.js bug.
2691
2692         * bindings/js/JSArrayBufferViewHelper.h:
2693         (WebCore::setWebGLArrayWithTypedArrayArgument):
2694         (WebCore::setWebGLArrayHelper):
2695         (WebCore::constructArrayBufferViewWithTypedArrayArgument):
2696         (WebCore::constructArrayBufferView):
2697         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2698         (WebCore::toVector): Use the pre-computed "length" identifier instead of
2699         allocating a new one for each vector operation. There are lots more
2700         optimizations we could do here. This is a start.
2701
2702 2013-04-27  Anders Carlsson  <andersca@apple.com>
2703
2704         Remove two more StorageTask types
2705         https://bugs.webkit.org/show_bug.cgi?id=115312
2706
2707         Reviewed by Dean Jackson.
2708
2709         * storage/StorageTask.cpp:
2710         (WebCore::StorageTask::performTask):
2711         * storage/StorageTask.h:
2712         * storage/StorageTracker.cpp:
2713         (WebCore::StorageTracker::setOriginDetails):
2714         (WebCore::StorageTracker::deleteOrigin):
2715         * storage/StorageTracker.h:
2716
2717 2013-04-27  Anders Carlsson  <andersca@apple.com>
2718
2719         Get rid of more uses of StorageTask
2720         https://bugs.webkit.org/show_bug.cgi?id=115311
2721
2722         Reviewed by Dean Jackson.
2723
2724         Make StorageAreaSync derive from ThreadSafeRefCounted as well, since it's passed between threads.
2725
2726         * storage/StorageAreaSync.h:
2727         * storage/StorageSyncManager.cpp:
2728         (WebCore::StorageSyncManager::scheduleImport):
2729         (WebCore::StorageSyncManager::scheduleSync):
2730         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
2731         * storage/StorageTask.cpp:
2732         (WebCore::StorageTask::StorageTask):
2733         (WebCore::StorageTask::performTask):
2734         * storage/StorageTask.h:
2735         (StorageTask):
2736
2737 2013-04-27  Anders Carlsson  <andersca@apple.com>
2738
2739         Indent StorageAreaSync to match the style guidelines.
2740
2741         Rubber-stamped by Andreas Kling.
2742
2743         * storage/StorageAreaSync.h:
2744
2745 2013-04-27  Anders Carlsson  <andersca@apple.com>
2746
2747         Replace uses of StorageTask with StorageThread::dispatch and WTF::bind
2748         https://bugs.webkit.org/show_bug.cgi?id=115309
2749
2750         Reviewed by Andreas Kling.
2751
2752         * storage/StorageTask.cpp:
2753         (WebCore::StorageTask::StorageTask):
2754         (WebCore::StorageTask::performTask):
2755         * storage/StorageTask.h:
2756         * storage/StorageThread.cpp:
2757         (WebCore::StorageThread::terminate):
2758         (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
2759         * storage/StorageThread.h:
2760         * storage/StorageTracker.cpp:
2761         (WebCore::StorageTracker::importOriginIdentifiers):
2762         (WebCore::StorageTracker::deleteAllOrigins):
2763
2764 2013-04-27  Anders Carlsson  <andersca@apple.com>
2765
2766         Add StorageThread::dispatch
2767         https://bugs.webkit.org/show_bug.cgi?id=115308
2768
2769         Reviewed by Andreas Kling.
2770
2771         StorageThread::dispatch takes a Function<void ()> and runs it on the storage thread. This will be used to eventually get rid of StorageTask.
2772
2773         * storage/StorageTask.cpp:
2774         (WebCore::StorageTask::StorageTask):
2775         (WebCore::StorageTask::performTask):
2776         * storage/StorageTask.h:
2777         (WebCore::StorageTask::createDispatch):
2778         * storage/StorageThread.cpp:
2779         (WebCore::StorageThread::dispatch):
2780         * storage/StorageThread.h:
2781         (StorageThread):
2782
2783 2013-04-27  Jer Noble  <jer.noble@apple.com>
2784
2785         REGRESSION (r147261): Audio controls background not displayed after loading audio file
2786         https://bugs.webkit.org/show_bug.cgi?id=115221
2787
2788         Reviewed by Darin Adler.
2789
2790         As in r147261, set a flex-shrink: 0 to avoid shrinking the media controls panel
2791         below the specified height.
2792
2793         No new tests; fixes the media/media-document-audio-repaint.html test.
2794
2795         * css/mediaControlsQuickTime.css:
2796         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2797
2798 2013-04-26  Jer Noble  <jer.noble@apple.com>
2799
2800         Video playback has corruption on the edges of the video
2801         https://bugs.webkit.org/show_bug.cgi?id=115216
2802
2803         Reviewed by Simon Fraser.
2804
2805         Test: media/video-poster-background.html
2806
2807         RenderImage correctly answers foregroundIsKnownToBeOpaqueInRect() method
2808         when a poster image is displayed, but once the video begins playing and
2809         the poster image is no longer displayed, RenderImage will continue to
2810         answer 'true' even when the video does not occupy the entire render box.
2811         Override foregroundIsKnownToBeOpaqueInRect() in order to more correctly
2812         answer the question for the video layer.
2813
2814         * rendering/RenderImage.h: Make foregroundIsKnownToBeOpaqueInRect() protected
2815             (vs. private).
2816         * rendering/RenderVideo.cpp:
2817         (WebCore::RenderVideo::foregroundIsKnownToBeOpaqueInRect): Added. Return
2818             true if the rect parameter is entirely contained by the video box.
2819         * rendering/RenderVideo.h:
2820
2821 2013-04-26  Hans Muller  <hmuller@adobe.com>
2822
2823         [CSS Exclusions] ExclusionShape bounding box methods should return LayoutRects
2824         https://bugs.webkit.org/show_bug.cgi?id=115117
2825
2826         Reviewed by Dirk Schulze.
2827
2828         Redefined the ExclusionShape API in terms of LayoutUnits, instead of floats: all of the
2829         ExclusionShape methods now have LayoutUnit parameters and return LayoutUnit values.
2830         This is more natural, since the callers work exclusively in LayoutUnits.
2831
2832         This is strictly a refactoring, no new tests were needed.
2833
2834         * rendering/ExclusionPolygon.cpp:
2835         (WebCore::ExclusionPolygon::getExcludedIntervals):
2836         (WebCore::ExclusionPolygon::getIncludedIntervals):
2837         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
2838         * rendering/ExclusionPolygon.h:
2839         * rendering/ExclusionRectangle.cpp:
2840         (WebCore::ExclusionRectangle::getExcludedIntervals):
2841         (WebCore::ExclusionRectangle::getIncludedIntervals):
2842         (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop):
2843         * rendering/ExclusionRectangle.h:
2844         * rendering/ExclusionShape.cpp:
2845         (WebCore::ExclusionShape::createExclusionShape):
2846         * rendering/ExclusionShape.h:
2847         (LineSegment):
2848         (ExclusionShape):
2849         * rendering/ExclusionShapeInfo.cpp:
2850         (WebCore):
2851         (WebCore::::computedShape):
2852         * rendering/ExclusionShapeInfo.h:
2853         (WebCore):
2854         (WebCore::ExclusionShapeInfo::shapeLogicalTop):
2855         (WebCore::ExclusionShapeInfo::shapeLogicalBottom):
2856         (ExclusionShapeInfo):
2857         * rendering/ExclusionShapeInsideInfo.cpp:
2858         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop):
2859         * rendering/ExclusionShapeInsideInfo.h:
2860         * rendering/ExclusionShapeOutsideInfo.h:
2861
2862 2013-04-26  Jer Noble  <jer.noble@apple.com>
2863
2864         Nil-check the results of -[AVPlayerItemVideoOutput copyPixelBufferForItemTime:itemTimeForDisplay:].
2865         https://bugs.webkit.org/show_bug.cgi?id=115265
2866
2867         Reviewed by Eric Carlson.
2868
2869         copyPixelBufferForItemTime:itemTimeForDisplay: can return nil, even
2870         when hasNewPixelBufferForItemTime: returns YES. Check the results
2871         before passing the buffer on to VTPixelTransferSessionTransferImage()
2872         which does not NULL-check its parameters.
2873
2874         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2875         (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):
2876
2877 2013-04-26  Roger Fong  <roger_fong@apple.com>
2878
2879         Uninflate caret rect.
2880         http://bugs.webkit.org/show_bug.cgi?id=114997.
2881         <rdar://problem/12629007>.
2882
2883         Reviewed by Timothy Horton.
2884
2885         Inflation was causing painting errors with focus rings.
2886         It is no longer needed after disabling subpixel layout.
2887
2888         * editing/FrameSelection.cpp:
2889         (WebCore::repaintCaretForLocalRect):
2890
2891 2013-04-26  Roger Fong  <roger_fong@apple.com>
2892
2893         Unreviewed build fix.
2894
2895         * platform/LayoutUnit.h:
2896         (WebCore::LayoutUnit::LayoutUnit):
2897
2898 2013-04-26  Michael Saboff  <msaboff@apple.com>
2899
2900         WebCore ObjC bridge is missing support for bool type
2901         https://bugs.webkit.org/show_bug.cgi?id=115276
2902
2903         Reviewed by Geoffrey Garen.
2904
2905         Added code to handle conversion between ObjC and JS booleans.
2906
2907         * bridge/objc/objc_instance.mm:
2908         (ObjcInstance::invokeObjcMethod):
2909         * bridge/objc/objc_utility.h:
2910         * bridge/objc/objc_utility.mm:
2911         (JSC::Bindings::convertValueToObjcValue):
2912         (JSC::Bindings::convertObjcValueToValue):
2913         (JSC::Bindings::objcValueTypeForType):
2914
2915 2013-04-26  Roger Fong  <roger_fong@apple.com>
2916
2917         Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
2918         Make the DebugSuffix configuration use _debug dependencies.
2919
2920         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
2921         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
2922         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
2923         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
2924         * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
2925         * WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
2926         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
2927         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
2928         * WebCore.vcxproj/WebCore.make:
2929         * WebCore.vcxproj/WebCore.vcxproj:
2930         * WebCore.vcxproj/WebCore.vcxproj.filters:
2931         * WebCore.vcxproj/WebCoreCommon.props:
2932         * WebCore.vcxproj/WebCoreDebug.props:
2933         * WebCore.vcxproj/WebCoreDebugWinCairo.props:
2934         * WebCore.vcxproj/WebCoreGenerated.make:
2935         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
2936         * WebCore.vcxproj/WebCoreGeneratedCommon.props:
2937         * WebCore.vcxproj/WebCoreGeneratedDebug.props:
2938         * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
2939         * WebCore.vcxproj/WebCoreGeneratedProduction.props:
2940         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
2941         * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
2942         * WebCore.vcxproj/WebCoreProduction.props:
2943         * WebCore.vcxproj/WebCoreRelease.props:
2944         * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
2945         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2946         * WebCore.vcxproj/build-generated-files.sh:
2947         * WebCore.vcxproj/copyForwardingHeaders.cmd:
2948         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
2949
2950 2013-04-26  Roger Fong  <roger_fong@apple.com>
2951
2952         Disable sub-pixel layout on mac.
2953         https://bugs.webkit.org/show_bug.cgi?id=114999.
2954
2955         Reviewed by Simon Fraser.
2956
2957         * Configurations/FeatureDefines.xcconfig:
2958         * WebCore.exp.in: 
2959         Export symbol needed to be added for IntRect(const LayoutRect&) constructor, 
2960         which is now being used in pixelSnappedIntRect(const LayoutRect&) in LayoutRect.h after disabling sub-pixel layout.
2961
2962 2013-04-26  Simon Fraser  <simon.fraser@apple.com>
2963
2964         Layer-backed WebViews don't repaint content outside the visible area
2965         https://bugs.webkit.org/show_bug.cgi?id=115275
2966
2967         Reviewed by Beth Dakin.
2968
2969         Export ScrollView::setPaintsEntireContents(bool).
2970
2971         * WebCore.exp.in:
2972
2973 2013-04-26  Daker Fernandes Pinheiro  <daker.pinheiro@openbossa.org>
2974
2975         Change RenderMeter::valueRatio() visibility to public
2976         https://bugs.webkit.org/show_bug.cgi?id=115266
2977
2978         This function is currently unused.
2979         However, it is necessary to implement a RenderTheme capable of rendering Meter elements.
2980
2981         Reviewed by Alexis Menard.
2982
2983         No new tests, because no behaviour is changed.
2984
2985         * rendering/RenderMeter.h:
2986         (RenderMeter):
2987
2988 2013-04-26  Timothy Hatcher  <timothy@apple.com>
2989
2990         Add Runtime.parse to the Inspector protocol.
2991
2992         This will be used to parse console expressions for errors
2993         before evaluating them fully.
2994
2995         https://webkit.org/b/115242
2996
2997         Reviewed by Oliver Hunt.
2998
2999         * ForwardingHeaders/parser/ParserError.h: Added.
3000         * inspector/Inspector.json:
3001         * inspector/InspectorRuntimeAgent.cpp:
3002         (WebCore::InspectorRuntimeAgent::parse):
3003         * inspector/InspectorRuntimeAgent.h:
3004         (InspectorRuntimeAgent):
3005
3006 2013-04-26  Benjamin Poulain  <bpoulain@apple.com>
3007
3008         Fix the copyright years after r149057
3009
3010         * page/DiagnosticLoggingKeys.cpp: I accidentally removed a year from
3011         the copyright in r149057.
3012
3013 2013-04-26  Konrad Piascik  <kpiascik@blackberry.com>
3014
3015         Web Inspector: Crash due to null items from getDOMStorageItems
3016         https://bugs.webkit.org/show_bug.cgi?id=115176
3017
3018         Reviewed by Joseph Pecoraro.
3019
3020         findStorageArea was returning a null storageArea causing the items
3021         input paramater to not be set.  This was happening without any error
3022         being set at all.  Set an error to prevent a crash when we try to
3023         convert the result to a JSON string.
3024
3025         Added tests to check if session and local storage are empty that
3026         they are still functional.
3027
3028         * inspector/InspectorDOMStorageAgent.cpp:
3029         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
3030
3031 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
3032
3033         Remove the remaining Skia #ifdefs
3034         https://bugs.webkit.org/show_bug.cgi?id=114886
3035
3036         Reviewed by Benjamin Poulain.
3037
3038         * html/HTMLCanvasElement.cpp: Remove Skia #ifdef references.
3039         * platform/graphics/BitmapImage.cpp: Ditto.
3040         * platform/graphics/FloatPoint.h: Ditto.
3041         * platform/graphics/FloatRect.h: Ditto.
3042         * platform/graphics/FontCache.h: Ditto.
3043         * platform/graphics/Gradient.cpp: Ditto.
3044         * platform/graphics/Gradient.h: Ditto.
3045         * platform/graphics/GraphicsContext.cpp: Ditto.
3046         * platform/graphics/GraphicsContext.h: Ditto.
3047         * platform/graphics/GraphicsContext3D.h: Ditto.
3048         * platform/graphics/ImageBuffer.cpp: Ditto.
3049         * platform/graphics/ImageBuffer.h: Ditto.
3050         * platform/graphics/ImageBufferData.h: Ditto.
3051         * platform/graphics/IntPoint.h: Ditto.
3052         * platform/graphics/IntRect.h: Ditto.
3053         * platform/graphics/NativeImagePtr.h: Ditto.
3054         * platform/graphics/Path.h: Ditto.
3055         * platform/graphics/Pattern.cpp: Ditto.
3056         * platform/graphics/Pattern.h: Ditto.
3057         * platform/graphics/filters/FEBlend.h: Ditto.
3058         * platform/graphics/filters/FEColorMatrix.h: Ditto.
3059         * platform/graphics/filters/FEComponentTransfer.h: Ditto.
3060         * platform/graphics/filters/FEComposite.h: Ditto.
3061         * platform/graphics/filters/FEConvolveMatrix.h: Ditto.
3062         * platform/graphics/filters/FEDisplacementMap.h: Ditto.
3063         * platform/graphics/filters/FEGaussianBlur.h: Ditto.
3064         * platform/graphics/filters/FELighting.h: Ditto.
3065         * platform/graphics/filters/FEMorphology.h: Ditto.
3066         * platform/graphics/filters/FEOffset.h: Ditto.
3067         * platform/graphics/filters/FilterEffect.cpp: Ditto.
3068         * platform/graphics/filters/FilterEffect.h: Ditto.
3069         * platform/graphics/transforms/AffineTransform.h: Ditto.
3070         * platform/graphics/transforms/TransformationMatrix.h: Ditto.
3071         * platform/image-decoders/ImageDecoder.cpp: Ditto.
3072         * platform/image-decoders/ImageDecoder.h: Ditto.
3073         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
3074         * platform/image-decoders/webp/WEBPImageDecoder.cpp: Ditto.
3075         * platform/mac/LocalCurrentGraphicsContext.h: Ditto.
3076         * platform/mac/LocalCurrentGraphicsContext.mm: Ditto.
3077         * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
3078         * svg/graphics/SVGImage.cpp: Ditto.
3079         * svg/graphics/SVGImage.h: Ditto.
3080
3081 2013-04-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3082
3083         Assert in JSC::Heap::unprotect when closing facebook.com web site
3084         https://bugs.webkit.org/show_bug.cgi?id=115058
3085
3086         Reviewed by Darin Adler.
3087
3088         Grab a JSLock before calling RootObject::invalidate().
3089
3090         * bindings/js/ScriptController.cpp:
3091         (WebCore::ScriptController::~ScriptController):
3092
3093 2013-04-26  Eric Carlson  <eric.carlson@apple.com>
3094
3095         [Mac] in-band cues sometimes have incorrect duration
3096         https://bugs.webkit.org/show_bug.cgi?id=115200
3097
3098         Reviewed by Jer Noble.
3099
3100         No new tests, this is not possible to test in DRT.
3101
3102         * html/track/InbandTextTrack.cpp:
3103         (WebCore::InbandTextTrack::addGenericCue): Don't add completed cues to the map.
3104         (WebCore::InbandTextTrack::removeGenericCue): Log when a cue is removed from the track.
3105
3106         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3107         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Initialize m_pendingCueStatus.
3108         (WebCore::InbandTextTrackPrivateAVF::processCue): Never call update() on a cue that is delivered
3109             while seeking.
3110         (WebCore::InbandTextTrackPrivateAVF::beginSeeking): Flush all incomplete cues, remember that 
3111             we are seeking.
3112         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): 
3113         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
3114
3115         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3116         (WebCore::MediaPlayerPrivateAVFoundation::seek): Call track->beginSeeking() instead of resetCueValues().
3117         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Call track->endSeeking().
3118
3119         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
3120         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Include class name in Kind enum values to 
3121             avoid compile error.
3122
3123 2013-04-26  Andreas Kling  <akling@apple.com>
3124
3125         Remove wxWebKit from WebCore.
3126         <http://webkit.org/b/115255>
3127
3128         Reviewed by Anders Carlsson.
3129
3130         * DerivedSources.make:
3131         * WebCorePrefix.h:
3132         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3133         (WebCore::JSInspectorFrontendHost::port):
3134         * config.h:
3135         * html/HTMLFormElement.cpp:
3136         * platform/ContextMenu.h:
3137         (ContextMenu):
3138         * platform/ContextMenuItem.h:
3139         * platform/Cursor.h:
3140         * platform/DragData.h:
3141         * platform/DragImage.h:
3142         * platform/FileSystem.h:
3143         * platform/PlatformExportMacros.h:
3144         * platform/PlatformKeyboardEvent.h:
3145         (PlatformKeyboardEvent):
3146         * platform/PlatformMenuDescription.h:
3147         * platform/PlatformMouseEvent.h:
3148         (PlatformMouseEvent):
3149         * platform/PlatformWheelEvent.h:
3150         (PlatformWheelEvent):
3151         * platform/ScrollView.cpp:
3152         * platform/ScrollView.h:
3153         (ScrollView):
3154         * platform/Widget.h:
3155         * platform/win/SharedTimerWin.cpp:
3156
3157 2013-04-26  Zalan Bujtas  <zalan@apple.com>
3158
3159         use-after-free removing a frame from its parent in a beforeload event of an OBJECT element
3160         https://bugs.webkit.org/show_bug.cgi?id=113964
3161
3162         Object elements have the tendecny to modify or even fully remove 
3163         the containing Document inside beforeload callback. While Document is removed, 
3164         RenderArena gets destroyed. Retained RenderWidgets fails to function with NULL arena.
3165         
3166         Protect RendereArena from getting wiped out, when Document is removed 
3167         during FrameView::updateWidget(). 
3168
3169         Reviewed by Antti Koivisto.
3170
3171         Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
3172
3173         * dom/Document.cpp:
3174         (WebCore::Document::attach):
3175         * dom/Document.h:
3176         (Document):
3177         * page/FrameView.cpp:
3178         (WebCore::FrameView::updateWidgets):
3179         * rendering/RenderArena.h:
3180         (RenderArena):
3181         (WebCore::RenderArena::create):
3182
3183 2013-04-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3184
3185         Optimize function and interface object length computation in bindings generator
3186         https://bugs.webkit.org/show_bug.cgi?id=115247
3187
3188         Reviewed by Kentaro Hara.
3189
3190         Introduce new GetFunctionLength() function that efficiently compute the length
3191         of a function (i.e. its number of mandatory parameters).
3192
3193         We now call GetFunctionLength() instead of GenerateFunctionParametersCheck()
3194         whenever we care only interested in the function length and not the actual
3195         expression for checking the parameters. This is much more efficient as
3196         GenerateFunctionParametersCheck() does a lot more processing than we need in
3197         this case.
3198
3199         No new tests, no behavior change.
3200
3201         * bindings/scripts/CodeGeneratorJS.pm:
3202         (GetFunctionLength):
3203         (GenerateImplementation):
3204         (GenerateConstructorHelperMethods):
3205
3206 2013-04-26  Andreas Kling  <akling@apple.com>
3207
3208         Web Audio: Remove reduplicative addInput() in AnalyserNode.
3209         <http://webkit.org/b/115244>
3210
3211         From Blink r149155 by <james.wei@intel.com>:
3212
3213         The parent class BasicInspectorNode already called addInput() and addOutput().
3214         So it is reduplicative to call them in AnalyserNode.
3215
3216         * Modules/webaudio/AnalyserNode.cpp:
3217         (WebCore::AnalyserNode::AnalyserNode):
3218         * Modules/webaudio/AudioBasicInspectorNode.cpp:
3219         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
3220         * Modules/webaudio/AudioBasicInspectorNode.h:
3221         (AudioBasicInspectorNode):
3222         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
3223         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
3224
3225 2013-04-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3226
3227         Mouseenter and mouseleave events not supported
3228         https://bugs.webkit.org/show_bug.cgi?id=18930
3229
3230         Reviewed by David Hyatt.
3231
3232         Implements mouseenter and mouseleave events from W3C DOM Level 3 Events.
3233         These event are already supported by all other major browsers.
3234
3235         To avoid performance regressions the new events are only dispatched when
3236         there are event listeners for them.
3237
3238         Tests: fast/events/mouseenter-mouseleave-capture.html
3239                fast/events/mouseenter-mouseleave.html
3240
3241         * bindings/scripts/CodeGenerator.pm:
3242         * dom/Document.cpp:
3243         (WebCore::Document::prepareMouseEvent):
3244         (WebCore::Document::updateHoverActiveState):
3245         * dom/Document.h:
3246         (Document):
3247         * dom/Document.idl:
3248         * dom/Element.h:
3249         (Element):
3250         * dom/Element.idl:
3251         * dom/EventListenerMap.cpp:
3252         (WebCore::EventListenerMap::containsCapturing):
3253         * dom/EventListenerMap.h:
3254         (EventListenerMap):
3255         * dom/EventNames.h:
3256         * dom/EventTarget.h:
3257         (EventTarget):
3258         (WebCore::EventTarget::hasCapturingEventListeners):
3259         * dom/MouseEvent.cpp:
3260         (WebCore::MouseEvent::create):
3261         (WebCore::MouseEvent::toElement):
3262         (WebCore::MouseEvent::fromElement):
3263         * html/HTMLAttributeNames.in:
3264         * html/HTMLElement.cpp:
3265         (WebCore::HTMLElement::eventNameForAttributeName):
3266         * page/DOMWindow.h:
3267         (DOMWindow):
3268         * page/DOMWindow.idl:
3269         * svg/SVGElement.cpp:
3270         (WebCore::SVGElement::parseAttribute):
3271         * svg/SVGElementInstance.h:
3272         (SVGElementInstance):
3273         * svg/SVGElementInstance.idl:
3274
3275 2013-04-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3276
3277         Add support for Web IDL partial interfaces to the bindings generator
3278         https://bugs.webkit.org/show_bug.cgi?id=115228
3279
3280         Reviewed by Kentaro Hara.
3281
3282         Add support for Web IDL partial interfaces to the bindings generator:
3283         http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface
3284
3285         Also drop support for the the WebKit-specific [Supplemental] extended
3286         attribute and use partial interfaces instead in existing IDL files.
3287
3288         No new tests, no behavior change.
3289
3290         * Modules/battery/NavigatorBattery.idl:
3291         * Modules/filesystem/DOMWindowFileSystem.idl:
3292         * Modules/filesystem/DataTransferItemFileSystem.idl:
3293         * Modules/filesystem/HTMLInputElementFileSystem.idl:
3294         * Modules/filesystem/WorkerContextFileSystem.idl:
3295         * Modules/gamepad/NavigatorGamepad.idl:
3296         * Modules/geolocation/NavigatorGeolocation.idl:
3297         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
3298         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
3299         * Modules/mediastream/DOMWindowMediaStream.idl:
3300         * Modules/mediastream/NavigatorMediaStream.idl:
3301         * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
3302         * Modules/networkinfo/NavigatorNetworkInfoConnection.idl:
3303         * Modules/notifications/DOMWindowNotifications.idl:
3304         * Modules/notifications/WorkerContextNotifications.idl:
3305         * Modules/quota/DOMWindowQuota.idl:
3306         * Modules/quota/NavigatorStorageQuota.idl:
3307         * Modules/quota/WorkerNavigatorStorageQuota.idl:
3308         * Modules/speech/DOMWindowSpeech.idl:
3309         * Modules/speech/DOMWindowSpeechSynthesis.idl:
3310         * Modules/vibration/NavigatorVibration.idl:
3311         * Modules/webaudio/DOMWindowWebAudio.idl:
3312         * Modules/webdatabase/DOMWindowWebDatabase.idl:
3313         * Modules/webdatabase/WorkerContextWebDatabase.idl:
3314         * Modules/websockets/DOMWindowWebSocket.idl:
3315         * Modules/websockets/WorkerContextWebSocket.idl:
3316         * bindings/scripts/IDLAttributes.txt:
3317         * bindings/scripts/IDLParser.pm:
3318         (parsePartialDefinition):
3319         * bindings/scripts/generate-bindings.pl:
3320         * bindings/scripts/preprocess-idls.pl:
3321         (getPartialInterfaceNameFromIDLFile):
3322         * bindings/scripts/test/TestSupplemental.idl:
3323         * page/DOMWindowPagePopup.idl:
3324
3325 2013-04-25  Mihnea Ovidenie  <mihnea@adobe.com>
3326
3327         [CSS Regions] Hit testing is broken for absolutely positioned regions that have overflow: hidden
3328         https://bugs.webkit.org/show_bug.cgi?id=113874
3329
3330         Reviewed by David Hyatt.
3331
3332         Test: fast/regions/hit-test-abspos-overflow-region.html
3333
3334         When a region is an out-of-flow positioned object with an overflow clip, we need
3335         to make sure that hit testing works also for cases other than foreground (content)
3336         hit testing. This patch moves the previous hit testing code, that delegated foreground
3337         hit testing to the region's flow thread hit testing, into the hitTestContent method,
3338         now that RenderRegion is RenderBlock based.
3339
3340         * rendering/RenderRegion.cpp:
3341         (WebCore::RenderRegion::hitTestContents):
3342         * rendering/RenderRegion.h:
3343         (RenderRegion):
3344
3345 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
3346
3347         Copy and paste can strip !important CSS rules due to a bug in mergeStyleFromRules
3348         https://bugs.webkit.org/show_bug.cgi?id=115217
3349
3350         Reviewed by Darin Adler.
3351
3352         The bug was caused by mergeStyleFromRules overriding "important" style rules with "unimportant" inline styles.
3353         Fixed the bug by using addParsedProperty, which respects !important, in MutableStylePropertySet's
3354         mergeAndOverrideOnConflict, which was only used in editing code. Now that we've fixed this function, we can use
3355         it in ViewportStyleResolver::addViewportRule as well.
3356
3357         Test: editing/pasteboard/copy-paste-with-important-rules.html
3358
3359         * css/StylePropertySet.cpp:
3360         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict): Fixed to respect !important.
3361         * css/ViewportStyleResolver.cpp:
3362         (WebCore::ViewportStyleResolver::addViewportRule): Use mergeAndOverrideOnConflict now that the code is identical.
3363
3364 2013-04-25  Andreas Kling  <akling@apple.com>
3365
3366         StylePropertySet::getPropertyShorthand() should return a String.
3367         <http://webkit.org/b/115213>
3368
3369         Reviewed by Anders Carlsson.
3370
3371         Return a String directly from getPropertyShorthand() instead of forcing clients
3372         to call getPropertyNameString().
3373
3374         * css/PropertySetCSSStyleDeclaration.cpp:
3375         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
3376         * css/StylePropertySet.cpp:
3377         (WebCore::StylePropertySet::getPropertyShorthand):
3378         * css/StylePropertySet.h:
3379         (StylePropertySet):
3380
3381 2013-04-25  Chris Fleizach  <cfleizach@apple.com>
3382
3383         WEB SPEECH: language support does not work as expected
3384         https://bugs.webkit.org/show_bug.cgi?id=115119
3385
3386         Reviewed by Alexey Proskuryakov.
3387
3388         Make the Mac platform synthesizer have access to all the voices installed on the system.
3389
3390         * WebCore.exp.in:
3391         * platform/mac/PlatformSpeechSynthesizerMac.mm:
3392         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
3393         * platform/mac/WebCoreSystemInterface.h:
3394         * platform/mac/WebCoreSystemInterface.mm:
3395
3396 2013-04-25  Chris Fleizach  <cfleizach@apple.com>
3397
3398         <meter> element not exposed to accessibility
3399         https://bugs.webkit.org/show_bug.cgi?id=109023
3400         rdar://problem/13658964
3401
3402         Reviewed by Tim Horton.
3403
3404         Makes the <meter> element appear in the AX tree by reusing the
3405         AccessibilityProgressIndicator element to handle either progress or meter
3406         elements.
3407
3408         Test: accessibility/meter-element.html
3409
3410         * accessibility/AXObjectCache.cpp:
3411         (WebCore::createFromRenderer):
3412         (WebCore::AXObjectCache::getOrCreate):
3413         * accessibility/AccessibilityNodeObject.cpp:
3414         (WebCore::AccessibilityNodeObject::canHaveChildren):
3415         (WebCore::AccessibilityNodeObject::visibleText):
3416         * accessibility/AccessibilityProgressIndicator.cpp:
3417         (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
3418         (WebCore::AccessibilityProgressIndicator::create):
3419         (WebCore::AccessibilityProgressIndicator::valueForRange):
3420         (WebCore::AccessibilityProgressIndicator::maxValueForRange):
3421         (WebCore::AccessibilityProgressIndicator::minValueForRange):
3422         (WebCore::AccessibilityProgressIndicator::progressElement):
3423         (WebCore::AccessibilityProgressIndicator::meterElement):
3424         * accessibility/AccessibilityProgressIndicator.h:
3425         (AccessibilityProgressIndicator):
3426         * accessibility/AccessibilityRenderObject.cpp:
3427         (WebCore::AccessibilityRenderObject::firstChild):
3428         (WebCore::AccessibilityRenderObject::lastChild):
3429             These methods are modified to handle when there is no rendered children, but there are Node
3430             children. The node children are desired when calculating text within a node, for example.
3431
3432 2013-04-25  Qiankun Miao  <qiankun.miao@intel.com>
3433
3434         [CSS Shaders] Remove the meshType from the CustomFilterOperation
3435         https://bugs.webkit.org/show_bug.cgi?id=102529
3436
3437         Reviewed by Dean Jackson.
3438
3439         No new tests, no new functionality.
3440
3441         MeshType can be accessed from program, so remove the m_meshType
3442         related code in CustomFilterOperation.
3443
3444         * css/StyleResolver.cpp:
3445         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3446         * platform/graphics/filters/CustomFilterOperation.cpp:
3447         (WebCore::CustomFilterOperation::CustomFilterOperation):
3448         (WebCore::CustomFilterOperation::blend):
3449         * platform/graphics/filters/CustomFilterOperation.h:
3450         (WebCore::CustomFilterOperation::create):
3451         (WebCore::CustomFilterOperation::meshType):
3452         (CustomFilterOperation):
3453         (WebCore::CustomFilterOperation::operator==):
3454         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h:
3455         (WebCore::CoordinatedCustomFilterOperation::CoordinatedCustomFilterOperation):
3456
3457 2013-04-25  Kent Tamura  <tkent@chromium.org>
3458
3459         Ignore invalid regular expressions for input[pattern].
3460         https://bugs.webkit.org/show_bug.cgi?id=115204
3461
3462         Reviewed by Darin Adler.
3463
3464         According to the specification, we should not proceed regular expression
3465         matching if a pattern attribute value is an invalid regular
3466         expression. We had a bug that invalid expressions such as
3467         pattern=")foo(" made RegularExpression objects successfully.
3468
3469         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute
3470         > If an input element has a pattern attribute specified, and the
3471         > attribute's value, when compiled as a JavaScript regular expression with
3472         > the global, ignoreCase, and multiline flags disabled (see ECMA262
3473         > Edition 5, sections 15.10.7.2 through 15.10.7.4), compiles successfully,
3474         > then the resulting regular expression is the element's compiled pattern
3475         > regular expression. If the element has no such attribute, or if the
3476         > value doesn't compile successfully, then the element has no compiled
3477         > pattern regular expression.
3478
3479         This imports a part of Blink r148951.
3480
3481         Tests: Update fast/forms/ValidityState-patternMismatch.html
3482
3483         * html/BaseTextInputType.cpp:
3484         (WebCore::BaseTextInputType::patternMismatch):
3485         Check correctness of pattern attribute value before wrapping with parentheses.
3486         * platform/text/RegularExpression.cpp:
3487         (WebCore::RegularExpression::isValid): Added.
3488         * platform/text/RegularExpression.h:
3489         (RegularExpression): Declare isValid.
3490
3491 2013-04-25  Antoine Quint  <graouts@apple.com>
3492
3493         Glyphs may fail to render when using SVG font
3494         https://bugs.webkit.org/show_bug.cgi?id=115193
3495
3496         Reviewed by Simon Fraser.
3497
3498         Calling SimpleFontData::applyTransforms() when the font used is
3499         an SVG font makes little sense since Core Text doesn’t know or
3500         understand SVG fonts and would be passed some other, unrelated
3501         platform font.
3502
3503         * platform/graphics/SimpleFontData.h:
3504         (WebCore::SimpleFontData::applyTransforms):
3505
3506 2013-04-25  Jer Noble  <jer.noble@apple.com>
3507