Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-12  Kenichi Ishibashi  <bashi@chromium.org>
2
3         Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
4         https://bugs.webkit.org/show_bug.cgi?id=76155
5
6         Reviewed by Tony Chang.
7
8         No new tests. No behavior change.
9
10         * PlatformBlackBerry.cmake:
11         * WebCore.gyp/WebCore.gyp:
12         * WebCore.gypi:
13         * platform/graphics/skia/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/SimpleFontDataSkia.cpp.
14         (WebCore::SimpleFontData::platformInit):
15         (WebCore::SimpleFontData::platformCharWidthInit):
16         (WebCore::SimpleFontData::platformDestroy):
17         (WebCore::SimpleFontData::createScaledFontData):
18         (WebCore::SimpleFontData::smallCapsFontData):
19         (WebCore::SimpleFontData::emphasisMarkFontData):
20         (WebCore::SimpleFontData::containsCharacters):
21         (WebCore::SimpleFontData::determinePitch):
22         (WebCore::SimpleFontData::platformBoundsForGlyph):
23         (WebCore::SimpleFontData::platformWidthForGlyph):
24
25 2012-01-12  Benjamin Poulain  <bpoulain@apple.com>
26
27         A Frame with frame flattening can be stuck in a state in which performPostLayoutTasks() is never executed
28         https://bugs.webkit.org/show_bug.cgi?id=76154
29
30         Reviewed by Beth Dakin.
31
32         In a frame with inSubframeLayoutWithFrameFlattening == true, if
33         -m_hasPendingPostLayoutTasks == true
34         -FrameView::unscheduleRelayout() is executed
35         -->the timer m_postLayoutTasksTimer is stopped
36         -->no timer is scheduled due to m_hasPendingPostLayoutTasks == true && inSubframeLayoutWithFrameFlattening == true
37
38         This patch revert the handling of the postLayoutTasks to its state prior to r66552.
39
40         The timer itself is used as the only state to know if post layout tasks are scheduled.
41
42         For the case without frame flattening:
43         -Prior to this patch, when FrameView::unscheduleRelayout() was executed, the postLayoutTasksTimer was killed,
44         and the post layout tasks would be executed during the next layout().
45         -After this patch, the post layout tasks stay scheduled and are executed on the next event loop if layout()
46         was not invoked before.
47
48         * page/FrameView.cpp:
49         (WebCore::FrameView::FrameView):
50         (WebCore::FrameView::~FrameView):
51         (WebCore::FrameView::reset):
52         (WebCore::FrameView::layout):
53         (WebCore::FrameView::unscheduleRelayout):
54         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
55         (WebCore::FrameView::performPostLayoutTasks):
56         * page/FrameView.h:
57
58 2012-01-12  Yongjun Zhang  <yongjun_zhang@apple.com>
59
60         Reviewed by Benjamin Poulain.
61
62         https://bugs.webkit.org/show_bug.cgi?id=75991
63         Make the code in MemoryPressureHandler::respondToMemoryPressure shareable.
64
65         Move memory pressure handling code inside a new function (releaseMemory) so that
66         we could shared it between mac and iOS.
67
68         * Configurations/WebCore.xcconfig: add MemoryPressureHandlerMac.mm into iOS build.
69         * platform/MemoryPressureHandler.h:
70         * platform/mac/MemoryPressureHandlerMac.mm:
71         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
72         (WebCore::MemoryPressureHandler::releaseMemory):
73
74 2012-01-12  Eric Seidel  <eric@webkit.org>
75
76         Refactor DOMImplementation.hasFeature logic into helper functions.
77         https://bugs.webkit.org/show_bug.cgi?id=76212
78
79         Reviewed by Adam Barth.
80
81         This patch should not have any behavior change.  The goal was
82         to move our feature detection towards a more modular architecture
83         (as that seems to be the current trend in webkit).  In a future
84         patch we could easily move the SVG feature detection into the
85         SVG directory, for example.  I've also added a list of all the
86         Event3 features (currently commented out) which makes it obvious
87         how many we're missing.
88
89         * dom/DOMImplementation.cpp:
90         (WebCore::isSVG10Feature):
91         (WebCore::isSVG11Feature):
92         (WebCore::isEvents2Feature):
93         (WebCore::isEvents3Feature):
94         (WebCore::DOMImplementation::hasFeature):
95
96 2012-01-12  Adam Barth  <abarth@webkit.org>
97
98         NodeIterator loses track of the reference node when the reference node is removed from the document (IETC ni_removeReferenceNode)
99         https://bugs.webkit.org/show_bug.cgi?id=76146
100
101         Reviewed by Eric Seidel.
102
103         In the case where we're removing the reference node we can end up with
104         the wrong reference node.  This patch makes sure we traverse outside of
105         the removed node's subtree.
106
107         This bug was caught by the following IE Test Center test:
108
109         http://samples.msdn.microsoft.com/ietestcenter/domtraversal/showdomtraversaltest.htm?ni_removeReferenceNode
110
111         Our new behavior also match Firefox.
112
113         I experimented a bit with adding ASSERT_NOT_REACHED to various branches
114         in NodeIterator::updateForNodeRemoval, and it seems our test coverage
115         for this function is relatively poor.  In the future, we should
116         consider adding more tests for this complicated function.
117
118         Test: fast/dom/node-iterator-reference-node-removed.html
119
120         * dom/NodeIterator.cpp:
121         (WebCore::NodeIterator::updateForNodeRemoval):
122
123 2012-01-12  Joshua Bell  <jsbell@chromium.org>
124
125         IndexedDB: Throw exception if IDBCursor.continue() called with key equal to current
126         https://bugs.webkit.org/show_bug.cgi?id=76100
127
128         The fix for https://bugs.webkit.org/show_bug.cgi?id=74213 missed the "or equal" clause
129         in the spec.
130
131         Reviewed by Tony Chang.
132
133         Test: storage/indexeddb/cursor-continue.html
134
135         * storage/IDBCursorBackendImpl.cpp:
136         (WebCore::IDBCursorBackendImpl::continueFunction):
137
138 2012-01-12  Jon Lee  <jonlee@apple.com>
139
140         Setting value on a select element to a non existing option value should clear selection
141         https://bugs.webkit.org/show_bug.cgi?id=67233
142         <rdar://problem/10057159>
143
144         Reviewed by Darin Adler.
145
146         Test: fast/forms/select/setting-to-invalid-value.html
147
148         * html/HTMLSelectElement.cpp:
149         (WebCore::HTMLSelectElement::setValue): Clear the selection in the cases where we cannot
150         find an option with the specified value. The spec states to clear the selectedness of all
151         options first. To avoid calling setSelectedIndex() multiple times, we clear the selected
152         option(s) only when don't find the appropriate option.
153
154         Also, correct the sentence style of a comment.
155
156 2012-01-12  Jer Noble  <jer.noble@apple.com>
157
158         Unreviewed build fix after r104858.
159
160         NSDataReadingMappedIfSafe is not defined on <= 10.6.  Use NSDataReadingMapped on that platform instead.
161
162         * platform/audio/mac/AudioBusMac.mm:
163         (WebCore::AudioBus::loadPlatformResource):
164
165 2012-01-12  Dana Jansens  <danakj@chromium.org>
166
167         [skia] Track a simple opaque area when painting via PlatformContextSkia and save in LayerTextureUpdater
168         https://bugs.webkit.org/show_bug.cgi?id=74352
169
170         Reviewed by Stephen White.
171
172         New unit tests in PlatformContextSkiaTest.cpp
173
174         * WebCore.gypi:
175         * platform/graphics/skia/GraphicsContextSkia.cpp:
176         (WebCore::GraphicsContext::clearRect):
177         (WebCore::GraphicsContext::drawConvexPolygon):
178         (WebCore::GraphicsContext::drawEllipse):
179         (WebCore::drawOuterPath):
180         (WebCore::drawInnerPath):
181         (WebCore::GraphicsContext::drawFocusRing):
182         (WebCore::GraphicsContext::drawLine):
183         (WebCore::GraphicsContext::drawLineForTextChecking):
184         (WebCore::GraphicsContext::drawLineForText):
185         (WebCore::GraphicsContext::fillPath):
186         (WebCore::GraphicsContext::fillRect):
187         (WebCore::GraphicsContext::fillRoundedRect):
188         (WebCore::GraphicsContext::strokeArc):
189         (WebCore::GraphicsContext::strokePath):
190         (WebCore::GraphicsContext::strokeRect):
191         * platform/graphics/skia/ImageSkia.cpp:
192         (WebCore::paintSkBitmap):
193         * platform/graphics/skia/OpaqueRegionSkia.cpp: Added.
194         (WebCore::OpaqueRegionSkia::OpaqueRegionSkia):
195         (WebCore::OpaqueRegionSkia::~OpaqueRegionSkia):
196         (WebCore::OpaqueRegionSkia::asRect):
197         (WebCore::xfermodeIsOpaque):
198         (WebCore::xfermodePreservesOpaque):
199         (WebCore::paintIsOpaque):
200         (WebCore::OpaqueRegionSkia::didDrawRect):
201         (WebCore::OpaqueRegionSkia::didDrawPath):
202         (WebCore::OpaqueRegionSkia::didDrawPoints):
203         (WebCore::OpaqueRegionSkia::didDrawBounded):
204         (WebCore::OpaqueRegionSkia::didDraw):
205         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
206         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
207         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
208         * platform/graphics/skia/OpaqueRegionSkia.h: Added.
209         * platform/graphics/skia/PlatformContextSkia.cpp:
210         (WebCore::PlatformContextSkia::PlatformContextSkia):
211         (WebCore::PlatformContextSkia::clippedToImage):
212         (WebCore::PlatformContextSkia::drawRect):
213         (WebCore::PlatformContextSkia::paintSkPaint):
214         (WebCore::PlatformContextSkia::didDrawRect):
215         (WebCore::PlatformContextSkia::didDrawPath):
216         (WebCore::PlatformContextSkia::didDrawPoints):
217         (WebCore::PlatformContextSkia::didDrawBounded):
218         * platform/graphics/skia/PlatformContextSkia.h:
219         (WebCore::PlatformContextSkia::setTrackOpaqueRegion):
220         (WebCore::PlatformContextSkia::opaqueRegion):
221
222 2012-01-12  Beth Dakin  <bdakin@apple.com>
223
224         https://bugs.webkit.org/show_bug.cgi?id=76209
225         Support expanded scrollbars
226         -and corresponding-
227         <rdar://problem/10527734>
228
229         Reviewed by Sam Weinig.
230
231         All this really requires is leaving the proper amount of space for the 
232         expanded width.
233         * platform/mac/NSScrollerImpDetails.h:
234         * platform/mac/ScrollbarThemeMac.mm:
235         (WebCore::supportsExpandedScrollbars):
236         (WebCore::ScrollbarThemeMac::scrollbarThickness):
237
238 2011-12-12  Jer Noble  <jer.noble@apple.com>
239
240         WebAudio: Enable USE_CONCATENATED_IMPULSE_RESPONSES on Mac port.
241         https://bugs.webkit.org/show_bug.cgi?id=74328
242
243         Reviewed by Eric Carlson.
244
245         No new tests; no net change in functionality.
246
247         * WebCore.xcodeproj/project.pbxproj: Added SincResampler class, Composite.wav to the project.
248             Removed IRC_*.wav resources from the project.
249         * platform/audio/AudioBus.cpp:
250         (WebCore::AudioBus::createBySampleRateConverting): Uncommented this function
251         * platform/audio/AudioBus.h:
252         * platform/audio/HRTFElevation.cpp:
253
254 2011-12-12  Jer Noble  <jer.noble@apple.com>
255
256         WebAudio: AudioBus::loadPlatformResource should mmap file on Mac port.
257         https://bugs.webkit.org/show_bug.cgi?id=74326
258
259         Reviewed by Darin Adler.
260
261         No new tests; no net change in functionality.
262
263         Use NSDataReadingMappedIfSafe when reading platform audio file data.
264
265         * platform/audio/mac/AudioBusMac.mm:
266         (WebCore::AudioBus::loadPlatformResource):
267
268 2011-12-12  Jer Noble  <jer.noble@apple.com>
269
270         WebAudio: Use Logging instead of printf.
271         https://bugs.webkit.org/show_bug.cgi?id=74322
272
273         Reviewed by Darin Adler.
274
275         No new tests; no net change in functionality.
276
277         Add a new WebCoreLogLevel for WebAudio, and use this new log level instead of 
278         printf statements in webaudio classes.
279
280         * platform/Logging.cpp:
281         (WebCore::getChannelFromName):
282         * platform/Logging.h:
283         * platform/mac/LoggingMac.mm:
284         (WebCore::InitializeLoggingChannelsIfNecessary):
285         * platform/audio/FFTFrame.cpp:
286         (WebCore::FFTFrame::print):
287         * webaudio/DefaultAudioDestinationNode.cpp:
288         (WebCore::DefaultAudioDestinationNode::initialize):
289
290 2012-01-12  Anders Carlsson  <andersca@apple.com>
291
292         Make ScrollElasticityController members private
293         https://bugs.webkit.org/show_bug.cgi?id=76208
294
295         Reviewed by Andreas Kling.
296
297         * platform/mac/ScrollAnimatorMac.mm:
298         (WebCore::ScrollAnimatorMac::endScrollGesture):
299         Call ScrollElasticityController::endScrollGesture.
300
301         * platform/mac/ScrollElasticityController.h:
302         Make members private.
303
304         * platform/mac/ScrollElasticityController.mm:
305         (WebCore::ScrollElasticityController::endScrollGesture):
306         Call snapRubberBand.
307
308         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
309         Call stopSnapRubberbandTimer.
310
311 2012-01-12  Anders Carlsson  <andersca@apple.com>
312
313         Move wheel event handling to ScrollElasticityController::handleWheelEvent
314         https://bugs.webkit.org/show_bug.cgi?id=76205
315
316         Reviewed by Andreas Kling.
317
318         Move the code in ScrollAnimatorMac::smoothScrollWithEvent to ScrollElasticityController::handleWheelEvent and
319         change ScrollAnimatorMac::handleWheelEvent to just call ScrollElasticityController::handleWheelEvent.
320         This means that we'll not set m_haveScrolledSincePageLoad = true anymore (we used to set it in ScrollAnimatorMac::smoothScrollWithEvent),
321         but we already set it to true in ScrollAnimatorMac::handleWheelEvent so it already had no effect.
322
323         * platform/mac/ScrollAnimatorMac.h:
324         * platform/mac/ScrollAnimatorMac.mm:
325         (WebCore::ScrollAnimatorMac::handleWheelEvent):
326         * platform/mac/ScrollElasticityController.h:
327         * platform/mac/ScrollElasticityController.mm:
328         (WebCore::elasticDeltaForReboundDelta):
329         (WebCore::scrollWheelMultiplier):
330         (WebCore::ScrollElasticityController::handleWheelEvent):
331
332 2012-01-12  Simon Fraser  <simon.fraser@apple.com>
333
334         Borders and box masks behave incorrectly with overlapping offsets
335         https://bugs.webkit.org/show_bug.cgi?id=76137
336
337         Reviewed by Dave Hyatt.
338         
339         When border-image-slice sizes add up to more than the height or width
340         of the border-image, the middle sections should not be rendered, per spec.
341         
342         Test: fast/borders/border-image-slice-constrained.html
343
344         * rendering/RenderBoxModelObject.cpp:
345         (WebCore::RenderBoxModelObject::paintNinePieceImage):
346
347 2012-01-12  Anders Carlsson  <andersca@apple.com>
348
349         Make all calls to pinnedInDirection go through the ScrollElasticityController
350         https://bugs.webkit.org/show_bug.cgi?id=76204
351
352         Reviewed by Andreas Kling.
353
354         * platform/mac/ScrollAnimatorMac.mm:
355         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
356
357 2012-01-12  Stephen White  <senorblanco@chromium.org>
358
359         [chromium] Re-enable Skia feColorMatrix filter implementation.
360         https://bugs.webkit.org/show_bug.cgi?id=76186
361
362         This code was landed in http://trac.webkit.org/changeset/104566 and
363         partially reverted in http://trac.webkit.org/changeset/104632 due
364         to problems with the Windows Shared builder.  Those problems have
365         been fixed in r3006, since rolled into Chrome.
366
367         Reviewed by Kenneth Russell.
368
369         Covered by SVG feColorMatrix tests.
370
371         * WebCore.gypi:
372         * platform/graphics/filters/FEColorMatrix.h:
373
374 2012-01-12  Anders Carlsson  <andersca@apple.com>
375
376         Add allowsHorizontalStretching and allowsVerticalStretching to ScrollElasticityControllerClient
377         https://bugs.webkit.org/show_bug.cgi?id=76202
378
379         Reviewed by Andreas Kling.
380
381         * platform/mac/ScrollAnimatorMac.h:
382         * platform/mac/ScrollAnimatorMac.mm:
383         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
384         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
385         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
386         * platform/mac/ScrollElasticityController.h:
387
388 2012-01-12  Anders Carlsson  <andersca@apple.com>
389
390         Move snapRubberBand to ScrollElasticityController
391         https://bugs.webkit.org/show_bug.cgi?id=76200
392
393         Reviewed by Andreas Kling.
394
395         * platform/mac/ScrollAnimatorMac.h:
396         * platform/mac/ScrollAnimatorMac.mm:
397         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
398         (WebCore::ScrollAnimatorMac::endScrollGesture):
399         * platform/mac/ScrollElasticityController.h:
400         * platform/mac/ScrollElasticityController.mm:
401         (systemUptime):
402         (WebCore::ScrollElasticityController::snapRubberBand):
403
404 2012-01-12  Antti Koivisto  <antti@apple.com>
405
406         REGRESSION(r104060): Setting user stylesheet may leave CSSStyleSelector with stale rule pointers 
407         https://bugs.webkit.org/show_bug.cgi?id=76191
408
409         Reviewed by Andreas Kling.
410         
411         Setting the user style sheet frees the existing user style sheet data structures. The code
412         in Document::updatePageGroupUserSheets then relies on styleSelectorChanged to clear the
413         style selector so it is not left with stale pointers. However under certain conditions
414         involving pending stylesheets it may bail out quickly without clearing.
415         
416         Document::styleSelectorChanged has to take care that it never leaves the style selector stale
417         even when bailing out early.
418
419         Test: fast/css/user-stylesheet-crash.html
420
421         * dom/Document.cpp:
422         (WebCore::Document::styleSelectorChanged):
423
424 2012-01-12  Nat Duca  <nduca@chromium.org>
425
426         [chromium] Turn off FrameRateController timesource when it is not needed
427         https://bugs.webkit.org/show_bug.cgi?id=76149
428
429         Reviewed by James Robinson.
430
431         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
432         (WebCore::CCDelayBasedTimeSource::active):
433         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
434         (WebCore::CCFrameRateController::setActive):
435         (WebCore::CCFrameRateController::onTimerTick):
436         * platform/graphics/chromium/cc/CCFrameRateController.h:
437         * platform/graphics/chromium/cc/CCScheduler.cpp:
438         (WebCore::CCScheduler::CCScheduler):
439         (WebCore::CCScheduler::setVisible):
440         (WebCore::CCScheduler::processScheduledActions):
441         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
442         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
443         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
444         * platform/graphics/chromium/cc/CCTimeSource.h:
445
446 2012-01-12  Anders Carlsson  <andersca@apple.com>
447
448         Move snapRubberBandTimerFired to ScrollElasticityController
449         https://bugs.webkit.org/show_bug.cgi?id=76196
450
451         Reviewed by Andreas Kling.
452
453         * platform/mac/ScrollAnimatorMac.mm:
454         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
455         * platform/mac/ScrollElasticityController.h:
456         * platform/mac/ScrollElasticityController.mm:
457         (WebCore::elasticDeltaForTimeDelta):
458         (WebCore::roundTowardZero):
459         (WebCore::roundToDevicePixelTowardZero):
460         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
461
462 2012-01-12  Joshua Bell  <jsbell@chromium.org>
463
464         IndexedDB: Raise NON_TRANSIENT_ERR when invalid mode specified for transaction
465         https://bugs.webkit.org/show_bug.cgi?id=76072
466
467         Spec was updated to detail what should be thrown: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11406
468
469         Reviewed by Tony Chang.
470
471         Tests: storage/indexeddb/transaction-basics.html
472
473         * storage/IDBDatabase.cpp:
474         (WebCore::IDBDatabase::transaction):
475
476 2012-01-12  Anders Carlsson  <andersca@apple.com>
477
478         Remove the last non-ScrollElasticityController call from ScrollAnimatorMac::snapRubberBandTimerFired
479         https://bugs.webkit.org/show_bug.cgi?id=76193
480
481         Reviewed by Andreas Kling.
482
483         Use ScrollElasticityControllerClient::immediateScrollBy for the final scroll before the rubber-band timer stops.
484
485         * platform/mac/ScrollAnimatorMac.mm:
486         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
487
488 2011-09-26  Jer Noble  <jer.noble@apple.com>
489
490         Emit an error event when a request to enter full-screen is rejected.
491         https://bugs.webkit.org/show_bug.cgi?id=62320
492
493         Reviewed by Eric Carlson.
494
495         Tests: fullscreen/full-screen-request-rejected.html
496                fullscreen/full-screen-request-removed.html
497
498         When a request to enter full-screen is rejected, emit an event 
499         (webkitfullscreenerror) in response.  But emit the event during the next
500         trip through the run-loop, like the webkitfullscreenchange event, and so a new
501         timer and queue are necessary.
502
503         * dom/Document.cpp:
504         (WebCore::Document::requestFullScreenForElement): Emit the error event
505             if the request does not pass all our requirements.
506         * dom/Document.h: Add new ivars.
507         * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
508         * dom/Element.h: Ditto.
509         * dom/Element.idl: Ditto.
510         * dom/EventNames.h: Add the name for the error event.
511
512 2012-01-12  Beth Dakin  <bdakin@apple.com>
513
514         https://bugs.webkit.org/show_bug.cgi?id=76133
515         ScrollAnimatorMac::mouseEnteredScrollbar() and mouseExitedScrollbar() should 
516         only do stuff for legacy scrollbars
517         -and corresponding-
518         <rdar://problem/10603290>
519
520         Reviewed by Sam Weinig.
521
522         * platform/mac/ScrollAnimatorMac.mm:
523         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
524         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
525
526 2012-01-12  Dan Bernstein  <mitz@apple.com>
527
528         When generating derived sources, use the same compiler that is used to compile WebCore.
529
530         Fixes <http://webkit.org/b/76189>
531         [mac] When compiling WebCore with clang, llvm-gcc is used to generate derived sources
532
533         Reviewed by Mark Rowe.
534
535         * DerivedSources.make: Changed to use the CC environment variable instead of hardcoded gcc.
536         * WebCore.xcodeproj/project.pbxproj: Set the CC environment variable, if not already set,
537         according to TARGET_GCC_VERSION. CC is used by DerivedSources.make and some of the perl
538         scripts it invokes.
539
540 2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
541
542         [Qt] Unreviewed build fix after r104828.
543
544         * platform/qt/RenderThemeQtMobile.cpp:
545         (WebCore::StylePainterMobile::findComboButton):
546
547 2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
548
549         Unreviewed, rolling out r104829.
550         http://trac.webkit.org/changeset/104829
551         https://bugs.webkit.org/show_bug.cgi?id=76188
552
553         it broke qt-minimal (Requested by loislo1 on #webkit).
554
555         * inspector/CodeGeneratorInspector.py:
556         (CodeGenerator):
557         (CodeGenerator.generate_type_builder):
558         (CodeGenerator.generate_type_builder.AdHocTypeContext):
559         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
560         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
561         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
562         (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
563         (CodeGenerator.register_use):
564         (RawTypesBinding):
565         (RawTypesBinding.get_code_generator):
566         (RawTypesBinding.get_in_c_type_text):
567         (RawTypesBinding.get_setter_value_expression_pattern):
568         (RawTypesBinding.reduce_to_raw_type):
569         (TypeData.__init__):
570         * inspector/InspectorValues.h:
571
572 2012-01-12  Pavel Podivilov  <podivilov@chromium.org>
573
574         Web Inspector: [JSC] //@ sourceURL is not respected.
575         https://bugs.webkit.org/show_bug.cgi?id=65532
576
577         Reviewed by Pavel Feldman.
578
579         Test: inspector/debugger/source-url-comment.html
580
581         * bindings/js/ScriptDebugServer.cpp:
582         (WebCore::ScriptDebugServer::dispatchDidParseSource):
583         * inspector/ContentSearchUtils.cpp:
584         (WebCore::ContentSearchUtils::findMagicComment):
585         (WebCore::ContentSearchUtils::findSourceURL):
586         (WebCore::ContentSearchUtils::findSourceMapURL):
587         * inspector/ContentSearchUtils.h:
588
589 2012-01-12  Csaba Osztrogon√°c  <ossy@webkit.org>
590
591         [Qt] Unreviewed trivial buildfix after r104828.
592
593         * platform/qt/RenderThemeQtMobile.cpp:
594         (WebCore::StylePainterMobile::findComboButton):
595
596 2012-01-12  Peter Rybin  <peter.rybin@gmail.com>
597
598         Web Inspector: CodeGeneratorInspector.py: generate array types.
599         https://bugs.webkit.org/show_bug.cgi?id=75284
600
601         Reviewed by Yury Semikhatsky.
602
603         New classes are generated for ecah array type instance.
604
605         * inspector/CodeGeneratorInspector.py:
606         (ArrayBinding):
607         (ArrayBinding.get_code_generator):
608         (ArrayBinding.get_code_generator.CodeGenerator):
609         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
610         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
611         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
612         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
613         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
614         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
615         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
616         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
617         (ArrayBinding.get_in_c_type_text):
618         (ArrayBinding.get_setter_value_expression_pattern):
619         (ArrayBinding.reduce_to_raw_type):
620         (RawTypeBinding):
621         (RawTypeBinding.__init__):
622         (RawTypeBinding.get_code_generator):
623         (RawTypeBinding.get_in_c_type_text):
624         (RawTypeBinding.get_setter_value_expression_pattern):
625         (RawTypeBinding.reduce_to_raw_type):
626         (TypeData.__init__):
627         (TypeData.get_binding):
628         * inspector/InspectorValues.h:
629
630 2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
631
632         [Qt] Avoid string operations in mobile theme's caching mechanism
633         https://bugs.webkit.org/show_bug.cgi?id=75010
634
635         The string operations constantly performed in the mobile theme
636         to fetch or put controls in the pixmap cache can be pretty expensive.
637         The new mechanism harnesses the QPixmapCache::Key API instead.
638
639         Reviewed by Kenneth Rohde Christiansen.
640
641         No new tests, internal refactoring.
642
643         * platform/qt/RenderThemeQtMobile.cpp:
644         (WebCore::qHash):
645         (WebCore::StylePainterMobile::findCachedControl):
646         (WebCore::StylePainterMobile::insertIntoCache):
647         (WebCore::StylePainterMobile::findCheckBox):
648         (WebCore::StylePainterMobile::drawRadio):
649         (WebCore::StylePainterMobile::findRadio):
650         (WebCore::StylePainterMobile::drawMultipleComboButton):
651         (WebCore::StylePainterMobile::drawSimpleComboButton):
652         (WebCore::StylePainterMobile::getButtonImageSize):
653         (WebCore::StylePainterMobile::findComboButton):
654         (WebCore::StylePainterMobile::findLineEdit):
655         (WebCore::StylePainterMobile::findPushButton):
656         (WebCore::StylePainterMobile::drawComboBox):
657         (WebCore::StylePainterMobile::drawProgress):
658         (WebCore::StylePainterMobile::drawSliderThumb):
659         (WebCore::RenderThemeQtMobile::paintTextField):
660         (WebCore::RenderThemeQtMobile::paintMenuList):
661         * platform/qt/RenderThemeQtMobile.h:
662         (WebCore::KeyIdentifier::KeyIdentifier):
663         (WebCore::KeyIdentifier::operator==):
664
665 2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
666
667         Unreviewed, rolling out r104805.
668         http://trac.webkit.org/changeset/104805
669         https://bugs.webkit.org/show_bug.cgi?id=76180
670
671         Breaks apple win compilation. (Requested by vsevik on
672         #webkit).
673
674         * CMakeLists.txt:
675         * GNUmakefile.list.am:
676         * Target.pri:
677         * WebCore.exp.in:
678         * WebCore.gypi:
679         * WebCore.vcproj/WebCore.vcproj:
680         * WebCore.xcodeproj/project.pbxproj:
681         * dom/DOMAllInOne.cpp:
682         * dom/SelectorQuery.cpp:
683         (WebCore::SelectorQuery::SelectorQuery):
684         (WebCore::SelectorQuery::queryAll):
685         (WebCore::SelectorQuery::queryFirst):
686         (WebCore::SelectorQuery::canUseIdLookup):
687         (WebCore::SelectorQuery::execute):
688         * dom/SelectorQuery.h:
689         * dom/ShadowContentElement.cpp:
690         (WebCore::ShadowContentElement::create):
691         (WebCore::ShadowContentElement::ShadowContentElement):
692         (WebCore::ShadowContentElement::shouldInclude):
693         * dom/ShadowContentElement.h:
694         * dom/ShadowContentSelectorQuery.cpp: Removed.
695         * dom/ShadowContentSelectorQuery.h: Removed.
696         * dom/ShadowInclusionSelector.cpp:
697         (WebCore::ShadowInclusionSelector::select):
698         * dom/ShadowInclusionSelector.h:
699         * html/HTMLDetailsElement.cpp:
700         (WebCore::DetailsContentElement::DetailsContentElement):
701         (WebCore::DetailsContentElement::shouldInclude):
702         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
703         (WebCore::DetailsSummaryElement::shouldInclude):
704         * html/HTMLSummaryElement.cpp:
705         (WebCore::SummaryContentElement::SummaryContentElement):
706         * testing/Internals.cpp:
707         (WebCore::Internals::createShadowContentElement):
708         * testing/Internals.h:
709         * testing/Internals.idl:
710
711 2012-01-12  Zoltan Herczeg  <zherczeg@webkit.org>
712
713         Fix turbulence bug when stitch tiles enabled and rendered in parallel
714         https://bugs.webkit.org/show_bug.cgi?id=76042
715
716         Reviewed by Nikolas Zimmermann.
717
718         The width / height / wrap members are used by all threads
719         in the same time. The patch makes them local for all threads.
720
721         Fixes the layout fails in svg/dynamic-updates/SVGFETurbulence*
722
723         * platform/graphics/filters/FETurbulence.cpp:
724         (WebCore::FETurbulence::noise2D):
725         (WebCore::Noise::if):
726         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
727         (WebCore::FETurbulence::fillRegion):
728         * platform/graphics/filters/FETurbulence.h:
729         (WebCore::FETurbulence::PaintingData::PaintingData):
730         (WebCore::FETurbulence::StitchData::StitchData):
731
732 2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
733
734         Web Inspector: performance: restore 'log 300 messages into console' test.
735         https://bugs.webkit.org/show_bug.cgi?id=76170
736
737         It was removed in order of transition from layout tests to perf tests.
738
739         Reviewed by Yury Semikhatsky.
740
741         * inspector/front-end/ConsoleView.js:
742         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
743         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
744
745 2012-01-12  Hans Wennborg  <hans@chromium.org>
746
747         Speech input: Send text to correct element even if focus has changed
748         https://bugs.webkit.org/show_bug.cgi?id=76071
749
750         Reviewed by Steve Block.
751
752         Make sure that the text from speech input ends up in the correct
753         element even if focus has changed since the user clicked on it.
754
755         Test: fast/speech/change-focus.html
756
757         * html/shadow/TextControlInnerElements.cpp:
758         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
759
760 2012-01-10  Pavel Podivilov  <podivilov@chromium.org>
761
762         Web Inspector: make source urls relative to source map url.
763         https://bugs.webkit.org/show_bug.cgi?id=75968
764
765         Reviewed by Yury Semikhatsky.
766
767         * inspector/front-end/CompilerSourceMapping.js:
768         (WebInspector.ClosureCompilerSourceMapping):
769         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
770         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
771
772 2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
773
774         Not reviewed. Fix WebKit build after r104803, by setting ScriptCallStack.h role to private.
775
776         * WebCore.xcodeproj/project.pbxproj:
777
778 2012-01-12  Shinya Kawanaka  <shinyak@google.com>
779
780         ShadowContentElement should be able to use query.
781         https://bugs.webkit.org/show_bug.cgi?id=75302
782
783         Reviewed by Hajime Morita.
784
785         This patch introduces a selector to query elements in ShadowContentElement.
786         This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
787
788         Tests: fast/dom/shadow/shadow-contents-select-expected.html
789                fast/dom/shadow/shadow-contents-select.html
790
791         * CMakeLists.txt:
792         * GNUmakefile.list.am:
793         * Target.pri:
794         * WebCore.exp.in:
795         * WebCore.gypi:
796         * WebCore.vcproj/WebCore.vcproj:
797         * WebCore.xcodeproj/project.pbxproj:
798         * dom/DOMAllInOne.cpp:
799         * dom/SelectorQuery.cpp:
800         (WebCore::SelectorDataList::SelectorDataList):
801           Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
802         (WebCore::SelectorDataList::initialize):
803         (WebCore::SelectorDataList::matches):
804         (WebCore::SelectorDataList::queryAll):
805         (WebCore::SelectorDataList::queryFirst):
806         (WebCore::SelectorDataList::canUseIdLookup):
807         (WebCore::SelectorDataList::execute):
808         (WebCore::SelectorQuery::SelectorQuery):
809         (WebCore::SelectorQuery::queryAll):
810         (WebCore::SelectorQuery::queryFirst):
811         * dom/SelectorQuery.h:
812         (WebCore::SelectorDataList::size):
813         * dom/ShadowContentElement.cpp:
814         (WebCore::selectAttr):
815         (WebCore::ShadowContentElement::create):
816         (WebCore::ShadowContentElement::ShadowContentElement):
817         (WebCore::ShadowContentElement::select):
818         * dom/ShadowContentElement.h:
819         * dom/ShadowContentSelectorQuery.cpp: Added.
820         (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
821         (WebCore::ShadowContentSelectorQuery::matches):
822           Returns true if Node is matched by the query.
823         * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
824         * dom/ShadowInclusionSelector.cpp:
825         (WebCore::ShadowInclusionSelector::select):
826         * dom/ShadowInclusionSelector.h:
827         * html/HTMLDetailsElement.cpp:
828         (WebCore::summaryQuerySelector):
829         (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
830         (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
831         * html/HTMLSummaryElement.cpp:
832         (WebCore::SummaryContentElement::SummaryContentElement):
833         * testing/Internals.cpp:
834         (WebCore::Internals::createShadowContentElement):
835         * testing/Internals.h:
836         * testing/Internals.idl:
837
838 2012-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
839
840         Make default console messages line numbers consistent.
841         https://bugs.webkit.org/show_bug.cgi?id=74075
842
843         Reviewed by Pavel Feldman.
844
845         Added default values for Console::addMessage sourceURL, lineNumber and
846         callStack parameters, moved lineNumber after sourceURL.
847         Made virtual method ScriptExecutionContext::addMessage private
848         Added default values to ScriptExecutionContext::AddConsoleMessage sourceURL, lineNumber and
849         callStack parameters, moved lineNumber after sourceURL.
850         Reorder ScriptExecutionContext::logExceptionToConsole parameters, move lineNumber after sourceURL.
851         Reordered sourceURL and lineNumber parameters in inspector methods.
852         Made all calls to Console::addMessage() pass 0 as lineNumber by default (i.e. when line number is unknown / irrelevant).
853         Unset line numbers are not printed to console in QT now.
854
855         * bindings/js/JSCustomXPathNSResolver.cpp:
856         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
857         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
858         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
859         * dom/Document.cpp:
860         (WebCore::Document::logExceptionToConsole):
861         (WebCore::Document::addMessage):
862         * dom/Document.h:
863         * dom/ScriptExecutionContext.cpp:
864         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
865         (WebCore::ScriptExecutionContext::reportException):
866         (WebCore::ScriptExecutionContext::addConsoleMessage):
867         * dom/ScriptExecutionContext.h:
868         * dom/UIEvent.cpp:
869         (WebCore::UIEvent::warnDeprecatedLayerXYUsage):
870         * dom/ViewportArguments.cpp:
871         (WebCore::reportViewportWarning):
872         * html/HTMLFormElement.cpp:
873         (WebCore::HTMLFormElement::validateInteractively):
874         * html/canvas/WebGLRenderingContext.cpp:
875         (WebCore::WebGLRenderingContext::printWarningToConsole):
876         * inspector/ConsoleMessage.cpp:
877         (WebCore::ConsoleMessage::ConsoleMessage):
878         * inspector/ConsoleMessage.h:
879         * inspector/InspectorConsoleAgent.cpp:
880         (WebCore::InspectorConsoleAgent::enable):
881         (WebCore::InspectorConsoleAgent::addMessageToConsole):
882         (WebCore::InspectorConsoleAgent::stopTiming):
883         (WebCore::InspectorConsoleAgent::count):
884         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
885         * inspector/InspectorConsoleAgent.h:
886         * inspector/InspectorConsoleInstrumentation.h:
887         (WebCore::InspectorInstrumentation::addMessageToConsole):
888         * inspector/InspectorInstrumentation.cpp:
889         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
890         * inspector/InspectorInstrumentation.h:
891         * inspector/InspectorProfilerAgent.cpp:
892         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
893         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
894         * loader/FrameLoader.cpp:
895         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
896         (WebCore::FrameLoader::checkIfRunInsecureContent):
897         (WebCore::FrameLoader::reportLocalLoadFailed):
898         (WebCore::FrameLoader::shouldAllowNavigation):
899         * loader/MainResourceLoader.cpp:
900         (WebCore::MainResourceLoader::didReceiveResponse):
901         * loader/appcache/ApplicationCacheGroup.cpp:
902         (WebCore::ApplicationCacheGroup::didReceiveResponse):
903         (WebCore::ApplicationCacheGroup::didFinishLoading):
904         (WebCore::ApplicationCacheGroup::didFail):
905         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
906         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
907         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
908         * loader/cache/CachedResourceLoader.cpp:
909         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
910         * page/Console.cpp:
911         (WebCore::Console::addMessage):
912         (WebCore::Console::groupEnd):
913         * page/Console.h:
914         * page/DOMWindow.cpp:
915         (WebCore::DOMWindow::postMessageTimerFired):
916         (WebCore::DOMWindow::printErrorMessage):
917         * storage/AbstractDatabase.cpp:
918         (WebCore::AbstractDatabase::logErrorMessage):
919         * svg/SVGDocumentExtensions.cpp:
920         (WebCore::reportMessage):
921         * websockets/WebSocket.cpp:
922         (WebCore::WebSocket::connect):
923         * websockets/WebSocketChannel.cpp:
924         (WebCore::WebSocketChannel::fail):
925         (WebCore::WebSocketChannel::didFailSocketStream):
926         * workers/DefaultSharedWorkerRepository.cpp:
927         (WebCore::postConsoleMessageTask):
928         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
929         * workers/SharedWorkerContext.cpp:
930         (WebCore::SharedWorkerContext::logExceptionToConsole):
931         * workers/SharedWorkerContext.h:
932         * workers/WorkerContext.cpp:
933         (WebCore::WorkerContext::logExceptionToConsole):
934         (WebCore::WorkerContext::addMessage):
935         (WebCore::WorkerContext::addMessageToWorkerConsole):
936         * workers/WorkerContext.h:
937         * workers/WorkerMessagingProxy.cpp:
938         (WebCore::postConsoleMessageTask):
939         * xml/XSLTProcessorLibxslt.cpp:
940         (WebCore::XSLTProcessor::parseErrorFunc):
941         * xml/XSLTProcessorQt.cpp:
942         (WebCore::XSLTMessageHandler::handleMessage):
943
944 2012-01-12  Mihnea Ovidenie  <mihnea@adobe.com>
945
946         Add RenderStyle::isPositioned() helper method
947         https://bugs.webkit.org/show_bug.cgi?id=75959
948
949         Reviewed by Tony Chang.
950
951         No new tests since this is refactoring of existing code.
952         Replace (style()->position() == AbsolutePosition || style()->position() == FixedPosition) 
953         with (style()->isPositioned()).
954         Replace (style()->position() != AbsolutePosition && style()->position() != FixedPosition) 
955         with (!style()->isPositioned()).
956
957         * rendering/RenderBox.cpp:
958         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
959         (WebCore::RenderBox::offsetFromContainer):
960         * rendering/RenderBoxModelObject.cpp:
961         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
962         * rendering/RenderInline.cpp:
963         (WebCore::RenderInline::computeRectForRepaint):
964         * rendering/RenderObject.cpp:
965         (WebCore::RenderObject::markContainingBlocksForLayout):
966         (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
967         (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
968         * rendering/style/RenderStyle.h:
969         (WebCore::RenderStyleBitfields::isPositioned):
970
971 2012-01-11  KwangHyuk Kim  <hyuki.kim@samsung.com>
972
973         [EFL] Rename parameter and variable name 'r' to 'rect' in IntRectEfl.cpp.
974         https://bugs.webkit.org/show_bug.cgi?id=76140
975
976         Reviewed by Andreas Kling.
977
978         No new tests : Just for change of parameter and variable name.
979
980         * platform/graphics/efl/IntRectEfl.cpp:
981         (WebCore::IntRect::IntRect):
982         (WebCore::IntRect::operator Eina_Rectangle):
983
984 2012-01-11  Shinya Kawanaka  <shinyak@google.com>
985
986         QuerySelector should not have side effect.
987         https://bugs.webkit.org/show_bug.cgi?id=75298
988
989         Reviewed by Antti Koivisto.
990
991         Since SelectorChecker is not collecting-rules-only mode, it may set some flags in render styles
992         if some pseudo types (e.g. first-of-type) are used.
993
994         No new tests. Covered by existing tests.
995
996         * dom/SelectorQuery.cpp:
997         (WebCore::SelectorQuery::SelectorQuery):
998           Made collecting rules only.
999
1000 2012-01-11  Dan Bernstein  <mitz@apple.com>
1001
1002         <rdar://problem/10679035> Implement font-variant-ligatures: {no-}common-ligatures
1003         https://bugs.webkit.org/show_bug.cgi?id=76103
1004
1005         Reviewed by Sam Weinig.
1006
1007         Tests: fast/css/parsing-font-variant-ligatures.html
1008                fast/text/font-variant-ligatures-expected.html
1009                fast/text/font-variant-ligatures.html
1010
1011         Added support for all font-variant-ligatures values in the style system and in
1012         FontDescription, and made the {no-}common-ligatures value keywords control basic ligatures.
1013         The {no-}{discretionary,historical}-ligatures keywords have no effect on rendering at this
1014         time.
1015
1016         font-variant-ligatures was not made part of the font shorthand property.
1017
1018         * css/CSSComputedStyleDeclaration.cpp:
1019         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
1020         font-variant-ligatures.
1021         * css/CSSParser.cpp:
1022         (WebCore::CSSParser::parseValue): Added code to handle font-variant-ligatures.
1023         (WebCore::CSSParser::parseFontVariantLigatures): Added. Parses font-variant-ligatures.
1024         * css/CSSParser.h:
1025         * css/CSSProperty.cpp:
1026         (WebCore::CSSProperty::isInheritedProperty): Added font-variant-ligatures to the set of
1027         inherited properties.
1028         * css/CSSPropertyNames.in: Added -webkit-font-variant-ligatures.
1029         * css/CSSStyleApplyProperty.cpp:
1030         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Added. Copies
1031         {common,discretionary,historical}LigaturesState from the parent style font description.
1032         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Added. Sets
1033         {common,discretionary,historical}LigaturesState to normal.
1034         (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Added.
1035         (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Added.
1036         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for
1037         font-variant-ligatures.
1038         * css/CSSStyleSelector.cpp:
1039         (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
1040         affect the font.
1041         (WebCore::CSSStyleSelector::applyProperty): Added CSSPropertyWebkitFontVariantLigatures to
1042         the switch statement, which needs to list all values in SVG-disabled builds.
1043         * css/CSSValueKeywords.in: Added the value keywords
1044         {no-}{common,discretionary,historical}-ligatures.
1045         * platform/graphics/Font.h:
1046         (WebCore::Font::typesettingFeatures): Changed to enable ligatures if common ligatures are
1047         enabled in the font description, disable them if they are disabled, and leave them to the
1048         default (determined by the text-rendering property) if they are in the normal state.
1049         * platform/graphics/FontDescription.h:
1050         (WebCore::FontDescription::FontDescription): Added initializers.
1051         (WebCore::FontDescription::commonLigaturesState): Added this accessor.
1052         (WebCore::FontDescription::discretionaryLigaturesState): Ditto.
1053         (WebCore::FontDescription::historicalLigaturesState): Ditto.
1054         (WebCore::FontDescription::setCommonLigaturesState): Ditto.
1055         (WebCore::FontDescription::setDiscretionaryLigaturesState): Ditto.
1056         (WebCore::FontDescription::setHistoricalLigaturesState): Ditto.
1057         (WebCore::FontDescription::operator==): Updated to compare the ligatures state members.
1058
1059 2012-01-11  Adrienne Walker  <enne@google.com>
1060
1061         Repaint all graphics layers when their renderer offset changes
1062         https://bugs.webkit.org/show_bug.cgi?id=75730
1063
1064         Reviewed by Simon Fraser.
1065
1066         In RenderLayerBacking, only the main graphics layer gets repainted
1067         when the offset changes. If the offset on other graphics layers (e.g.
1068         the foreground layer) changes, they should get repainted as well.
1069
1070         Test: compositing/geometry/foreground-offset-change.html
1071
1072         * platform/graphics/GraphicsLayer.cpp:
1073         (WebCore::GraphicsLayer::setOffsetFromRenderer):
1074         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1075         * platform/graphics/GraphicsLayer.h:
1076         * rendering/RenderLayerBacking.cpp:
1077         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1078         (WebCore::RenderLayerBacking::paintContents):
1079
1080 2012-01-11  Scott Violet  <sky@google.com>
1081
1082         [chromium] TiledLayerChromium drops invalidates that occur during
1083         LayerTextureUpdater::prepareToUpdate
1084         https://bugs.webkit.org/show_bug.cgi?id=76067
1085
1086         Reviewed by James Robinson.
1087
1088         Test coverage in TiledLayerChromiumTest.
1089
1090         * platform/graphics/chromium/TiledLayerChromium.cpp:
1091         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1092
1093 2012-01-11  Kentaro Hara  <haraken@chromium.org>
1094
1095         [JSC] Remove redundant arguments from [Supplemental] custom methods
1096         https://bugs.webkit.org/show_bug.cgi?id=76127
1097
1098         Reviewed by Adam Barth.
1099
1100         Since in JSC a callback of custom methods is non-static, we do not need
1101         to pass a pointer of an implementation object.
1102
1103         Before (JSTestInterface.cpp):
1104             JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
1105             {
1106                 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
1107                 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
1108                 return castedThis->supplementalStr3(impl, exec);
1109             }
1110
1111         After (JSTestInterface.cpp):
1112             JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
1113             {
1114                 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
1115                  return castedThis->supplementalStr3(exec);  // JSTestInterface knows 'impl'.
1116             }
1117
1118         Tests: bindings/scripts/test/TestInterface.idl
1119                http/tests/websocket/tests/*
1120                webaudio/*
1121
1122         * bindings/scripts/CodeGeneratorJS.pm:
1123         (GenerateHeader): Previously when we specify [CustomGetter, CustomSetter], the header for
1124         the custom setter was not generated. This patch fixes the bug.
1125         (GenerateImplementation):
1126
1127         * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed redundant DOMWindow* from webkitAudioContext().
1128         (WebCore::JSDOMWindow::webkitAudioContext):
1129         * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed redundant DOMWindow* from webSocket().
1130         (WebCore::JSDOMWindow::webSocket):
1131
1132         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
1133         (WebCore::jsTestInterfaceSupplementalStr3):
1134         (WebCore::setJSTestInterfaceSupplementalStr3):
1135         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
1136
1137 2012-01-11  Adam Barth  <abarth@webkit.org>
1138
1139         iframe sandbox doesn't block autofocus (IETC automatic-feature-block-autofocus-form-control)
1140         https://bugs.webkit.org/show_bug.cgi?id=76120
1141
1142         Reviewed by Eric Seidel.
1143
1144         Test: fast/forms/no-autofocus-in-sandbox.html
1145
1146         * html/HTMLFormControlElement.cpp:
1147         (WebCore::shouldAutofocus):
1148             - The HTML5 spec says that we shouldn't autofocus elements when the
1149               automatic features are sandboxed.
1150
1151 2012-01-11  Beth Dakin  <bdakin@apple.com>
1152
1153         https://bugs.webkit.org/show_bug.cgi?id=75904
1154         WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
1155         the time
1156         -and corresponding-
1157         <rdar://problem/10498816>
1158
1159         Reviewed by Darin Adler.
1160
1161         This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
1162         mouseMoved() and instead moves that functionality into its own function 
1163         called passMouseMovedEventToScrollbars().
1164         * WebCore.exp.in:
1165         * page/EventHandler.cpp:
1166         (WebCore::EventHandler::mouseMoved):
1167         (WebCore::EventHandler::passMouseMovedEventToScrollbars):
1168         * page/EventHandler.h:
1169         * page/mac/EventHandlerMac.mm:
1170         (WebCore::EventHandler::passMouseMovedEventToScrollbars):
1171
1172 2012-01-11  Joshua Bell  <jsbell@chromium.org>
1173
1174         IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted
1175         https://bugs.webkit.org/show_bug.cgi?id=76108
1176
1177         Updated IDBDatabaseException error codes to match spec (the pre-DOM4 version),
1178         including updated description strings, and changed relevant store and index 
1179         methods to raise the expected exception type now that it is detailed in the spec.
1180
1181         Reviewed by Tony Chang.
1182
1183         Tests: storage/indexeddb/transaction-basics.html
1184
1185         * storage/IDBCursorBackendImpl.cpp:
1186         (WebCore::IDBCursorBackendImpl::continueFunction):
1187         (WebCore::IDBCursorBackendImpl::prefetchContinue):
1188         * storage/IDBDatabaseException.cpp:
1189         * storage/IDBDatabaseException.h:
1190         * storage/IDBDatabaseException.idl:
1191         * storage/IDBIndexBackendImpl.cpp:
1192         (WebCore::IDBIndexBackendImpl::openCursor):
1193         (WebCore::IDBIndexBackendImpl::openKeyCursor):
1194         (WebCore::IDBIndexBackendImpl::count):
1195         (WebCore::IDBIndexBackendImpl::get):
1196         (WebCore::IDBIndexBackendImpl::getKey):
1197         * storage/IDBObjectStoreBackendImpl.cpp:
1198         (WebCore::IDBObjectStoreBackendImpl::get):
1199         (WebCore::IDBObjectStoreBackendImpl::put):
1200         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1201         (WebCore::IDBObjectStoreBackendImpl::clear):
1202         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1203         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
1204         (WebCore::IDBObjectStoreBackendImpl::openCursor):
1205         (WebCore::IDBObjectStoreBackendImpl::count):
1206
1207 2012-01-11  Kentaro Hara  <haraken@chromium.org>
1208
1209         Implement the [Supplemental] IDL for custom methods
1210         https://bugs.webkit.org/show_bug.cgi?id=76036
1211
1212         Reviewed by Adam Barth.
1213
1214         We have implemented the [Supplemental] IDL for non-custom methods in bug 75944.
1215         This patch implements it for custom methods. This patch modifies only CodeGeneratorV8.pm,
1216         since CodeGeneratorJS.pm requires no change and other code generators
1217         do not support custom methods.
1218
1219         Test: bindings/scripts/test/TestSupplemental.idl
1220
1221         * bindings/scripts/CodeGeneratorV8.pm:
1222         (GenerateHeader):
1223
1224         * bindings/scripts/test/TestSupplemental.idl: Added a custom method with the [Supplemental] IDL.
1225
1226         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
1227         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
1228         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
1229         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
1230         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
1231         (-[DOMTestInterface supplementalMethod3]):
1232         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
1233
1234 2011-12-21  Shaw Andy  <andy.shaw@digia.com>
1235
1236         Fix build issue on Windows when Qt is configured with -ltcg
1237         https://bugs.webkit.org/show_bug.cgi?id=75003
1238
1239         Rubber-stamped by Simon Hausmann.
1240
1241         * WebCore.pri:
1242
1243 2012-01-09  Avi Drissman  <avi@chromium.org>
1244
1245         https://bugs.webkit.org/show_bug.cgi?id=75860
1246         [Chromium Mac] no background is drawn for input elements
1247
1248         Reviewed by Eric Seidel.
1249
1250         Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
1251         API misbehaves when built with the 10.5 SDK, so we use SPI. For now.
1252
1253         * rendering/RenderThemeChromiumMac.h:
1254         * rendering/RenderThemeChromiumMac.mm:
1255         (WebCore::RenderThemeChromiumMac::paintTextField):
1256
1257 <<<<<<< .mine
1258 2012-01-11  Adam Barth  <abarth@webkit.org>
1259
1260         iframe sandbox doesn't block videos from autoplaying (IETC automatic-feature-block-autoplay-video)
1261         https://bugs.webkit.org/show_bug.cgi?id=76111
1262
1263         Reviewed by Eric Seidel.
1264
1265         Test: media/no-auto-play-in-sandbox.html
1266
1267         * dom/SecurityContext.h:
1268             - Add a flag for sandboxing automatic features, per the HTML5 spec.
1269         * html/HTMLMediaElement.cpp:
1270         (WebCore::HTMLMediaElement::setReadyState):
1271             - Implement requirement in the HTML5 spec to not autoplay media
1272               when automatic features are sandboxed.
1273
1274 =======
1275 2012-01-11  Nate Chapin  <japhet@chromium.org>
1276
1277         SubresourceLoader cleanup post r100311.
1278         1. Simplify matching incrementRequestCount()/decrementRequestCount() calls.
1279         2. Remove CachedImage custom code from SubresourceLoader.
1280         3. Add a bunch of ASSERTs.
1281         4. Remove the multipart-only call to didReceiveData() from didReceiveResponse(),
1282            since didReceiveData() would get called immediately after anyway.
1283         https://bugs.webkit.org/show_bug.cgi?id=75887
1284
1285         Reviewed by Adam Barth.
1286
1287         No new tests, refactor only.
1288
1289         * loader/SubresourceLoader.cpp:
1290         (WebCore::SubresourceLoader::didReceiveResponse): Remove multipart special case, handle it in didReceiveData().
1291         (WebCore::SubresourceLoader::didReceiveData): Handle multipart state here, since we will receive only one
1292              didReceiveData() call per multipart segment, but no didFinishLoading() call.
1293         * loader/SubresourceLoader.h: Add a RequestCountTracker subclass to reduce complexity of ensuring we don't
1294             decrement request count twice on CachedResourceLoader.
1295         * loader/cache/CachedImage.cpp:
1296         (WebCore::CachedImage::setResponse): Move CachedImage::clear() call out of SubresourceLoader, since it's
1297             kind of a layering violation as is.
1298         * loader/cache/CachedImage.h:
1299         * loader/cache/CachedResource.cpp:
1300
1301 2012-01-11  Joshua Bell  <jsbell@chromium.org>
1302
1303         IndexedDB: Version change transaction should abort if constraints fail during createIndex
1304         https://bugs.webkit.org/show_bug.cgi?id=76094
1305
1306         Reviewed by Tony Chang.
1307
1308         Test: storage/indexeddb/index-population.html
1309
1310         * storage/IDBIndexBackendImpl.cpp:
1311         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
1312         * storage/IDBIndexBackendImpl.h:
1313         * storage/IDBLevelDBBackingStore.cpp:
1314         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
1315         * storage/IDBObjectStoreBackendImpl.cpp:
1316
1317 >>>>>>> .r104756
1318 2012-01-11  Greg Billock  <gbillock@google.com>
1319
1320         Switch web intents to use supplemental IDL for DOMWindow
1321         https://bugs.webkit.org/show_bug.cgi?id=76092
1322
1323         Reviewed by Adam Barth.
1324
1325         * Modules/intents/DOMWindowIntents.idl: Added.
1326         * WebCore.gypi:
1327         * page/DOMWindow.idl:
1328
1329 2012-01-11  Kent Tamura  <tkent@chromium.org>
1330
1331         Rename HTMLInputElement::setDefaultName to setInitialName.
1332         https://bugs.webkit.org/show_bug.cgi?id=76039
1333
1334         Reviewed by Darin Adler.
1335
1336         Rename setDefaultName to setInitialName, make it protected, and add two
1337         assertions.
1338
1339         This change should not change any behavior.
1340
1341         Test: fast/forms/isindex-name.html
1342
1343         * html/HTMLInputElement.cpp:
1344         (WebCore::HTMLInputElement::setInitialName):
1345         - Renamed from setDefaultName.
1346         - Add assertions.
1347         * html/HTMLInputElement.h:
1348         Rename setDefaultName to setInitialName, and move it to protected.
1349         * html/HTMLIsIndexElement.cpp:
1350         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
1351         Update a setDefaultName callsite.
1352         (WebCore::HTMLIsIndexElement::parseMappedAttribute):
1353         A style fix.
1354
1355 2012-01-11  Adam Treat  <atreat@rim.com>
1356
1357         https://bugs.webkit.org/show_bug.cgi?id=76088
1358         The common case of content type = text/plain is not optimized and the plugin database is initialized instead
1359
1360         In the dom/DOMImplementation.cpp file you can find the comment that text/plain is
1361         optimized so that the plugin database is not loaded. Unfortunately, this has been
1362         regressed since the patch for http://bugs.webkit.org/show_bug.cgi?id=16815 which
1363         refactored a bunch of the plugin code.  Now, the plugin database is initialized
1364         before we handle text/plain.  This line in DOMImplementation.cpp triggers
1365         the plugin initialization:
1366
1367                 pluginData = frame->page()->pluginData();
1368
1369         The case of image types != PDF and the case of HTML5 video content type are also
1370         not optimized to be handled before plugin initialization.
1371
1372         The solution is to refactor so all of these content types are handled before
1373         we initialize the plugin database.
1374
1375         Reviewed by Adam Treat.
1376
1377         * dom/DOMImplementation.cpp:
1378         (WebCore::DOMImplementation::createDocument):
1379
1380 2012-01-11  Alexandre Elias  <aelias@google.com>
1381
1382         [chromium] Make Skia canvas opaque for root layer tiles
1383         https://bugs.webkit.org/show_bug.cgi?id=75939
1384
1385         Reviewed by James Robinson.
1386
1387         Skia has extra optimizations if a bitmap has the "opaque" flag -- in
1388         particular, it doesn't do an unnecessary memset at creation time.
1389         Pass down the LayerChromium's opaque flag to Skia.
1390
1391         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
1392         (WebCore::BitmapCanvasLayerTextureUpdater::setIsNonCompositedContent):
1393         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
1394         * platform/graphics/chromium/ContentLayerChromium.cpp:
1395         (WebCore::ContentLayerChromium::createTextureUpdater):
1396         * platform/graphics/chromium/LayerTextureUpdater.h:
1397         (WebCore::LayerTextureUpdater::setIsNonCompositedContent):
1398         * platform/graphics/chromium/PlatformCanvas.cpp:
1399         (WebCore::PlatformCanvas::PlatformCanvas):
1400         (WebCore::PlatformCanvas::resize):
1401         * platform/graphics/chromium/PlatformCanvas.h:
1402         (WebCore::PlatformCanvas::setOpaque):
1403         (WebCore::PlatformCanvas::opaque):
1404         * platform/graphics/chromium/TiledLayerChromium.cpp:
1405         (WebCore::TiledLayerChromium::setIsNonCompositedContent):
1406
1407 2012-01-11  Greg Billock  <gbillock@google.com>
1408
1409         [Coverity] Address some uninit constructor issues in WebCore/dom
1410         https://bugs.webkit.org/show_bug.cgi?id=74977
1411
1412         Reviewed by Ryosuke Niwa.
1413
1414         * css/SelectorChecker.h:
1415         (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
1416         * dom/DeviceMotionData.cpp:
1417         (WebCore::DeviceMotionData::DeviceMotionData):
1418         * dom/DeviceOrientation.cpp:
1419         (WebCore::DeviceOrientation::DeviceOrientation):
1420
1421 2012-01-11  Kenneth Russell  <kbr@google.com>
1422
1423         [chromium] Color profiles are incorrect for images without premultiplied alpha
1424         https://bugs.webkit.org/show_bug.cgi?id=75999
1425
1426         Reviewed by Stephen White.
1427
1428         Don't apply the color profile if the user has requested separate alpha.
1429
1430         Test: fast/canvas/webgl/texture-color-profile.html
1431
1432         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1433         (WebCore::ImageFrame::setStatus):
1434
1435 2012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
1436
1437         [Qt][Texmap] LayoutTests/compositing/masks/masked-ancestor does not render correctly.
1438         https://bugs.webkit.org/show_bug.cgi?id=75910
1439
1440         Reviewed by Simon Hausmann.
1441
1442         Handle the mask surface correctly when drawing in two passes. Also, improve the readability
1443         of the code that decides whether to draw in two passes.
1444
1445         LayoutTests/compositing/masks/masked-ancestor.html tests this.
1446
1447         * platform/graphics/texmap/TextureMapperNode.cpp:
1448         (WebCore::TextureMapperNode::computeAllTransforms):
1449         (WebCore::TextureMapperNode::hasMoreThanOneTile):
1450         (WebCore::TextureMapperNode::paintRecursive):
1451         * platform/graphics/texmap/TextureMapperNode.h:
1452
1453 2012-01-11  Dmitry Titov  <dimich@chromium.org>
1454
1455         Add new CSS enum value to a switch() in CSSStyleSelector::applyProperty() to fix compile error.
1456         https://bugs.webkit.org/show_bug.cgi?id=76081
1457
1458         Reviewed by David Levin.
1459
1460         * css/CSSStyleSelector.cpp:
1461         (WebCore::CSSStyleSelector::applyProperty):
1462
1463 2012-01-11  Alexey Proskuryakov  <ap@apple.com>
1464
1465         Reviewed by Darin Adler. Prepared by Sheriff Bot. Rolling out r94902.
1466         http://trac.webkit.org/changeset/94902
1467         https://bugs.webkit.org/show_bug.cgi?id=75905
1468
1469         Disagrees with general direction for WebKit, and makes
1470         refactoring harder (Requested by ap on #webkit).
1471
1472         * loader/DocumentWriter.cpp:
1473         (WebCore::DocumentWriter::deprecatedFrameEncoding):
1474         * loader/DocumentWriter.h:
1475         * loader/FrameLoader.cpp:
1476         (WebCore::FrameLoader::addExtraFieldsToRequest):
1477         * platform/network/ResourceRequestBase.cpp:
1478         (WebCore::ResourceRequestBase::adopt):
1479         (WebCore::ResourceRequestBase::copyData):
1480         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1481         * platform/network/ResourceRequestBase.h:
1482
1483 2012-01-11  Eli Fidler  <efidler@rim.com>
1484
1485         Fix OpenGL dependency in CMake build system
1486         https://bugs.webkit.org/show_bug.cgi?id=73559
1487
1488         Reviewed by Daniel Bates.
1489
1490         * CMakeLists.txt:
1491         * PlatformEfl.cmake:
1492
1493 2012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1494
1495         Use HashMap<OwnPtr> for RenderBoxRegionInfo map in RenderRegion
1496         https://bugs.webkit.org/show_bug.cgi?id=75348
1497
1498         Reviewed by Darin Adler.
1499
1500         * rendering/RenderFlowThread.cpp:
1501         (WebCore::RenderFlowThread::logicalWidthChangedInRegions): use OwnPtr.
1502         * rendering/RenderRegion.cpp:
1503         (WebCore::RenderRegion::setRenderBoxRegionInfo): use HashMap::add() instead of
1504         get() potentially followed by set().
1505         (WebCore::RenderRegion::takeRenderBoxRegionInfo): change to return PassOwnPtr.
1506         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
1507         (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
1508         * rendering/RenderRegion.h:
1509
1510 2012-01-11  Joel Webber  <jgw@google.com>
1511
1512         Implement setCurrentTime() and pauseAnimations() on SVGSVGElement
1513         https://bugs.webkit.org/show_bug.cgi?id=12073
1514
1515         Reviewed by Nikolas Zimmermann.
1516
1517         Adds the ability to reset an SVGSMILElement internally. SVGSMILElements are no longer removed
1518         from their containers when they become inactive, because they sometimes have to be reactivated
1519         when the container's current time is changed.
1520
1521         Test: svg/animations/animate-setcurrenttime.html
1522
1523         * svg/SVGSVGElement.cpp:
1524         (WebCore::SVGSVGElement::setCurrentTime):
1525         * svg/animation/SMILTimeContainer.cpp:
1526         (WebCore::SMILTimeContainer::SMILTimeContainer):
1527         (WebCore::SMILTimeContainer::begin):
1528         (WebCore::SMILTimeContainer::pause):
1529         (WebCore::SMILTimeContainer::setElapsed):
1530         (WebCore::SMILTimeContainer::updateAnimations):
1531         * svg/animation/SMILTimeContainer.h:
1532         * svg/animation/SVGSMILElement.cpp:
1533         (WebCore::SVGSMILElement::reset):
1534         * svg/animation/SVGSMILElement.h:
1535
1536 2012-01-11  Peter Rybin  <peter.rybin@gmail.com>
1537
1538         Web Inspector: CodeGeneratorInspector.py: fix codestyle of generated enums
1539         https://bugs.webkit.org/show_bug.cgi?id=76062
1540
1541         Reviewed by Yury Semikhatsky.
1542
1543         This only changes how constants are named in generated .h file.
1544
1545         * inspector/CodeGeneratorInspector.py:
1546
1547 2012-01-11  Pavel Feldman  <pfeldman@google.com>
1548
1549         Web Inspector: "undefined" instead of error message in the SourceFrame.
1550         https://bugs.webkit.org/show_bug.cgi?id=76060
1551
1552         Reviewed by Yury Semikhatsky.
1553
1554         * inspector/front-end/ConsoleMessage.js:
1555         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1556         (WebInspector.ConsoleMessageImpl.prototype.get message):
1557
1558 2012-01-11  Pavel Feldman  <pfeldman@google.com>
1559
1560         Web Inspector: make setOuterHTML use new DOMEditor, cover it with tests.
1561         https://bugs.webkit.org/show_bug.cgi?id=76056
1562
1563         Reviewed by Yury Semikhatsky.
1564
1565         Test: inspector/elements/set-outer-html.html
1566
1567         * inspector/DOMEditor.cpp:
1568         (WebCore::DOMEditor::Digest::Digest):
1569         (WebCore::DOMEditor::patchDocument):
1570         (WebCore::DOMEditor::patchNode):
1571         (WebCore::DOMEditor::innerPatchHTMLElement):
1572         (WebCore::DOMEditor::innerPatchNode):
1573         (WebCore::DOMEditor::diff):
1574         (WebCore::DOMEditor::innerPatchChildren):
1575         (WebCore::DOMEditor::createDigest):
1576         * inspector/DOMEditor.h:
1577         * inspector/Inspector-0.1.json:
1578         * inspector/Inspector.json:
1579         * inspector/InspectorDOMAgent.cpp:
1580         (WebCore::InspectorDOMAgent::setOuterHTML):
1581         * inspector/InspectorDOMAgent.h:
1582         * inspector/front-end/DOMAgent.js:
1583         (WebInspector.DOMNode):
1584         (WebInspector.DOMNode.prototype._renumber):
1585         * inspector/front-end/ElementsTreeOutline.js:
1586         ():
1587
1588 2012-01-10  Alexander Pavlov  <apavlov@chromium.org>
1589
1590         Web Inspector: introduce "source" column in the CSS profiler.
1591         https://bugs.webkit.org/show_bug.cgi?id=75378
1592
1593         Reviewed by Pavel Feldman.
1594
1595         Rules are no longer merged by their selectors but are shown one per profile entry, with a link to
1596         their selector in the source whenever the latter is available.
1597
1598         * inspector/Inspector.json:
1599         * inspector/InspectorCSSAgent.cpp:
1600         (WebCore::RuleMatchingStats::RuleMatchingStats):
1601         (WebCore::SelectorProfile::makeKey):
1602         (WebCore::SelectorProfile::startSelector):
1603         (WebCore::SelectorProfile::commitSelector):
1604         (WebCore::SelectorProfile::commitSelectorTime):
1605         (WebCore::SelectorProfile::toInspectorObject):
1606         (WebCore::InspectorCSSAgent::willMatchRule):
1607         (WebCore::InspectorCSSAgent::willProcessRule):
1608         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
1609         * inspector/InspectorStyleSheet.cpp:
1610         (WebCore::InspectorStyleSheet::styleSheetURL):
1611         (WebCore::InspectorStyleSheet::finalURL):
1612         (WebCore::InspectorStyleSheet::setRuleSelector):
1613         * inspector/InspectorStyleSheet.h:
1614         * inspector/front-end/CSSSelectorProfileView.js:
1615         (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
1616         (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
1617         (WebInspector.CSSSelectorProfileView):
1618         (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
1619         (WebInspector.CSSSelectorProfileView.prototype._sortProfile.sourceComparator):
1620         (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
1621         * inspector/front-end/ProfilesPanel.js:
1622         (WebInspector.ProfilesPanel.prototype.sidebarResized):
1623         * inspector/front-end/dataGrid.css:
1624         (.data-grid:focus tr.selected a):
1625
1626 2012-01-11  Peter Rybin  <peter.rybin@gmail.com>
1627
1628         Web Inspector: CodeGeneratorInspector.py: generate enum types.
1629         https://bugs.webkit.org/show_bug.cgi?id=74954
1630
1631         Reviewed by Yury Semikhatsky.
1632
1633         Internal map of string contants is created. C enums are created for
1634         each JSON enum.
1635
1636         * inspector/CodeGeneratorInspector.py:
1637         (EnumConstants.add_constant):
1638         (EnumConstants):
1639         (EnumConstants.get_enum_constant_code):
1640         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
1641         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
1642         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
1643         (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
1644         (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
1645         (get_in_c_type_text):
1646         (get_setter_value_expression_pattern):
1647         (PlainObjectBinding.get_in_c_type_text):
1648         (PlainObjectBinding.get_setter_value_expression_pattern):
1649         (RawTypesBinding.get_in_c_type_text):
1650         (RawTypesBinding.get_setter_value_expression_pattern):
1651         (get_annotated_type_text):
1652         (MethodGenerateModes.get_modes):
1653         (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
1654         (MethodGenerateModes.StrictParameterMode):
1655         (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
1656         (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
1657         (MethodGenerateModes.RawParameterMode):
1658         (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
1659         (MethodGenerateModes.CombinedMode.get_c_param_type_text):
1660         (MethodGenerateModes):
1661         (MethodGenerateModes.CombinedMode):
1662         (MethodGenerateModes.CombinedMode.get_setter_value_expression):
1663
1664 2012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1665
1666         Avoid separate heap allocation for each RenderRegionRange in RenderFlowThread
1667         https://bugs.webkit.org/show_bug.cgi?id=75908
1668
1669         Reviewed by Darin Adler.
1670
1671         There's no benefit in explicit allocating RenderRegionRange in the heap. So this
1672         patch changes the RenderRegionRangeMap to use the value type directly instead of
1673         the pointer.
1674
1675         * rendering/RenderFlowThread.cpp:
1676         (WebCore::RenderFlowThread::removeRegionFromThread):
1677         (WebCore::RenderFlowThread::layout):
1678         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1679         (WebCore::RenderFlowThread::setRegionRangeForBox):
1680         (WebCore::RenderFlowThread::getRegionRangeForBox):
1681         * rendering/RenderFlowThread.h: add default constructor to act as emptyValue()
1682         for HashMap.
1683
1684 2012-01-09  Alexandru Chiculita  <achicu@adobe.com>
1685
1686         [CSS Shaders] Move CustomFilterOperation to the platform layer
1687         https://bugs.webkit.org/show_bug.cgi?id=74652
1688
1689         Reviewed by Chris Marrin.
1690
1691         FilterOperations are now part of the platform code and cannot reference style classes directly, but
1692         CustomFilterOperation requires to link to the CachedShader for the vertex and the fragment shader.
1693         
1694         The fix is to introduce another object that will actually keep a link to the cached resources, so in this patch 
1695         I'm adding a new class called CustomFilterProgram that will sit in the
1696         platform/graphics/filters directory and will be referenced from CustomFilterOperation.
1697
1698         CustomFilterProgram is the base class of StyleCustomFilterProgram that is created from 
1699         CSSStyleSelector when a new CustomFilterOperation is created. StyleCustomFilterProgram is responsible
1700         with loading and keeping references to the StyleCachedShaders and the CachedShaders.
1701
1702         More patches will follow with optimizations about reusing 3D graphics contexts and compiled shaders.
1703
1704         Tests: css3/filters/custom-filter-shader-cache.html
1705                css3/filters/missing-custom-filter-shader.html
1706
1707         * CMakeLists.txt:
1708         * GNUmakefile.list.am:
1709         * Target.pri:
1710         * WebCore.gypi:
1711         * WebCore.vcproj/WebCore.vcproj:
1712         * WebCore.xcodeproj/project.pbxproj:
1713         * css/CSSComputedStyleDeclaration.cpp:
1714         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
1715         * css/CSSStyleSelector.cpp:
1716         (WebCore::CSSStyleSelector::loadPendingShaders):
1717         (WebCore::CSSStyleSelector::createCustomFilterOperation):
1718             Updated to use the StyleCustomFilterProgram instead of the CustomFilterOperation.
1719         
1720         * platform/graphics/filters/CustomFilterOperation.h: Renamed from Source/WebCore/rendering/style/CustomFilterOperation.h.
1721         (WebCore::CustomFilterOperation::create):
1722             Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
1723             
1724         (WebCore::CustomFilterOperation::program): Returns the CustomFilterProgram.
1725         
1726         (WebCore::CustomFilterOperation::CustomFilterOperation):
1727             Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
1728             
1729         * platform/graphics/filters/CustomFilterProgram.cpp: Added.
1730         (WebCore::CustomFilterProgram::CustomFilterProgram):
1731         (WebCore::CustomFilterProgram::~CustomFilterProgram):
1732         (WebCore::CustomFilterProgram::addClient):
1733         (WebCore::CustomFilterProgram::removeClient):
1734         (WebCore::CustomFilterProgram::notifyClients):
1735         (WebCore::CustomFilterProgram::createShaderWithContext):
1736         * platform/graphics/filters/CustomFilterProgram.h: Added.
1737         * platform/graphics/filters/CustomFilterProgramClient.h: Added.
1738         (WebCore::CustomFilterProgramClient::~CustomFilterProgramClient):
1739         
1740         * platform/graphics/filters/FECustomFilter.cpp:
1741             FECustomFilter will not use strings anymore. It will just get a reference to the CustomFilterProgram.
1742         
1743         (WebCore::FECustomFilter::FECustomFilter):
1744         (WebCore::FECustomFilter::create):
1745         (WebCore::FECustomFilter::initializeContext):
1746             Using the CustomFilterProgram to generate the CustomFilterShader instance. A better name for CustomFilterShader
1747             would be CustomFilterCompiledProgram, but I would prefer to make that change in a different patch.
1748         
1749         * platform/graphics/filters/FECustomFilter.h:
1750         * rendering/FilterEffectRenderer.cpp:
1751         (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
1752         (WebCore::FilterEffectRenderer::build):
1753         (WebCore::FilterEffectRenderer::notifyCustomFilterProgramLoaded):
1754         (WebCore::FilterEffectRenderer::removeCustomFilterClients):
1755         * rendering/FilterEffectRenderer.h:
1756         * rendering/style/StyleCustomFilterProgram.h: Added.
1757         (WebCore::StyleCustomFilterProgram::create):
1758         (WebCore::StyleCustomFilterProgram::setVertexShader):
1759         (WebCore::StyleCustomFilterProgram::vertexShader):
1760         (WebCore::StyleCustomFilterProgram::setFragmentShader):
1761         (WebCore::StyleCustomFilterProgram::fragmentShader):
1762         (WebCore::StyleCustomFilterProgram::vertexShaderString):
1763         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
1764         (WebCore::StyleCustomFilterProgram::isLoaded):
1765         (WebCore::StyleCustomFilterProgram::willHaveClients):
1766         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
1767         (WebCore::StyleCustomFilterProgram::notifyFinished):
1768         (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
1769
1770 2012-01-11  Alexandru Chiculita  <achicu@adobe.com>
1771
1772         CSS Filters: apply the filters in RenderLayerBacking::paintIntoLayer when filters cannot be composited in hardware
1773         https://bugs.webkit.org/show_bug.cgi?id=75842
1774
1775         Reviewed by Simon Fraser.
1776
1777         RenderLayers have two possible states: composited or not. When composited the RenderLayerBacking::paintIntoLayer is used
1778         to render the result inside the graphics context of the GraphicsLayer. When not composited the RenderLayer::paintLayer method will draw
1779         the result in the graphics context of the parent layer. 
1780
1781         Because a recent patch forced creation of composited layers for filters, this patch makes RenderLayerBacking::paintIntoLayer aware
1782         that it might need to apply the filters when the composition engine failed to apply them in platform code.
1783
1784         No new tests needed, I've just updated some of the old tests to force disable the accelerated composition
1785         so that we can still test software painted filters.
1786
1787         * platform/graphics/GraphicsLayer.h:
1788         (WebCore::GraphicsLayer::clearFilters):
1789         * platform/graphics/ca/GraphicsLayerCA.cpp:
1790         (WebCore::GraphicsLayerCA::setFilters):
1791             If filtersCanBeComposited() is false we need to reset the CoreAnimation layer to remove any previously applied filter.
1792         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1793         (PlatformCALayer::filtersCanBeComposited):
1794             Added grayscale, brightness and contrast in the list of not accelerated filters. Otherwise an assert if triggered.
1795         * rendering/FilterEffectRenderer.cpp:
1796         (WebCore::FilterEffectRenderer::updateBackingStore):
1797             Moved this method from RenderLayer::updateFilterBackingStore. It had no dependencies on RenderLayer.
1798         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
1799         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
1800             Consolidated the filter rendering inside this helper class that is now used in both RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer.
1801         * rendering/FilterEffectRenderer.h:
1802         (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
1803         (WebCore::FilterEffectRendererHelper::haveFilterEffect):
1804         (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
1805         * rendering/RenderLayer.cpp:
1806         (WebCore::RenderLayer::paintLayer):
1807             Filters should apply after the opacity is applied, so I moved this down to paintLayerContents.
1808         (WebCore::RenderLayer::paintLayerContents):
1809         * rendering/RenderLayer.h:
1810         (WebCore::RenderLayer::filter):
1811         * rendering/RenderLayerBacking.cpp:
1812         (WebCore::RenderLayerBacking::paintIntoLayer):
1813             Added software fallback rendering of the filters on composited RenderLayers.
1814
1815 2012-01-11  Jochen Eisinger  <jochen@chromium.org>
1816
1817         Move the check for canExecuteScripts out of V8Proxy::retrieve
1818         https://bugs.webkit.org/show_bug.cgi?id=75533
1819
1820         Reviewed by Adam Barth.
1821
1822         This change doesn't move the check to custom/generated bindings for
1823         individual objects, as these won't get executed if scripts are disabled
1824         anyway.
1825
1826         No new tests. No functional change.
1827
1828         * bindings/v8/PageScriptDebugServer.cpp:
1829         (WebCore::PageScriptDebugServer::addListener):
1830         * bindings/v8/ScheduledAction.cpp:
1831         (WebCore::ScheduledAction::execute):
1832         * bindings/v8/ScriptCachedFrameData.cpp:
1833         (WebCore::ScriptCachedFrameData::restore):
1834         * bindings/v8/V8DOMWrapper.cpp:
1835         (WebCore::V8DOMWrapper::instantiateV8Object):
1836         * bindings/v8/V8EventListener.cpp:
1837         (WebCore::V8EventListener::callListenerFunction):
1838         * bindings/v8/V8LazyEventListener.cpp:
1839         (WebCore::V8LazyEventListener::callListenerFunction):
1840         (WebCore::V8LazyEventListener::prepareListenerObject):
1841         * bindings/v8/V8Proxy.cpp:
1842         (WebCore::V8Proxy::handleOutOfMemory):
1843         (WebCore::V8Proxy::retrieve):
1844         (WebCore::toV8Context):
1845
1846 2012-01-11  Kentaro Hara  <haraken@chromium.org>
1847
1848         ShouldSkipTypeInHeader() and ShouldSkipTypeInImplementation() should be the same
1849         https://bugs.webkit.org/show_bug.cgi?id=76030
1850
1851         Reviewed by Adam Barth.
1852
1853         Because the attributes/methods that do not appear in the implementation
1854         do not need to appear in the header.
1855
1856         Tests: bindings/scripts/test/TestCallback.idl
1857                bindings/scripts/test/TestObj.idl
1858
1859         * bindings/scripts/CodeGeneratorCPP.pm:
1860         (ShouldSkipType): Renamed from ShouldSkipTypeInImplementation().
1861         (GenerateHeader): Replaced ShouldSkipTypeInImplementation() with ShouldSkipType(),
1862         and replaced ShouldSkipTypeInHeader() with ShouldSkipType().
1863         (GenerateImplementation): Ditto.
1864         * bindings/scripts/test/CPP/WebDOMTestCallback.h: Updated the test result.
1865         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
1866
1867 2012-01-11  Zoltan Herczeg  <zherczeg@webkit.org>
1868
1869         Fix more style errors in CSSParser.cpp (followup patch)
1870         https://bugs.webkit.org/show_bug.cgi?id=76038
1871
1872         Reviewed by Nikolas Zimmermann.
1873
1874         The previous was: http://trac.webkit.org/changeset/104576
1875         This patch mostly contains C cast to static_cast rewrites.
1876
1877         * css/CSSParser.cpp:
1878         (WebCore::CSSParser::parseValue):
1879         (WebCore::CSSParser::parseBackgroundColor):
1880         (WebCore::ShadowParseContext::commitLength):
1881         (WebCore::BorderImageSliceParseContext::commitNumber):
1882         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
1883         (WebCore::BorderImageQuadParseContext::commitNumber):
1884         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
1885         (WebCore::parseDeprecatedGradientPoint):
1886
1887 2012-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1888
1889         Not reviewed. Fix release builds.
1890
1891         * rendering/svg/SVGTextMetricsBuilder.cpp:
1892         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
1893
1894 2012-01-11  Kentaro Hara  <haraken@chromium.org>
1895
1896         REGRESSION(r101445): [V8] Generated code for custom getters and setters
1897         with the [Supplemental] IDL is wrong
1898         https://bugs.webkit.org/show_bug.cgi?id=76034
1899
1900         Reviewed by Adam Barth.
1901
1902         This patch fixes the class name of the implementation of custom getters
1903         and setters, as follows.
1904
1905         Previous V8TestInterface.cpp:
1906             // Attribute 'supplementalStr3'
1907             {"supplementalStr3", V8TestSupplemental::supplementalStr3AccessorGetter, V8TestSupplemental::supplementalStr3AccessorSetter, ...},
1908
1909         New V8TestInterface.cpp:
1910             // Attribute 'supplementalStr3'
1911             {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, ...},
1912
1913         Test: bindings/scripts/test/TestInterface.idl
1914               bindings/scripts/test/TestSupplemental.idl
1915
1916         * bindings/scripts/CodeGeneratorV8.pm:
1917         (GenerateSingleBatchedAttribute):
1918         * bindings/scripts/test/V8/V8TestInterface.cpp:
1919
1920 2012-01-10  Nikolas Zimmermann  <nzimmermann@rim.com>
1921
1922         Large SVG text layout performance regression in r81168
1923         https://bugs.webkit.org/show_bug.cgi?id=65711
1924
1925         Reviewed by Zoltan Herczeg.
1926
1927         Introduce SVGTextMetricsBuilder, which will be used to speed-up measuring of SVG text,
1928         by using the simple code path, whenever possibly. It's not enabled yet, as it requires
1929         a restructurization of SVGTextLayoutAttributesBuilder - its the first chunk of a set
1930         of patches, that all together fix the performance regression and much more :-)
1931
1932         Doesn't affect any tests, SVGTextMetricsBuilder is not turned on yet.
1933
1934         * CMakeLists.txt: Add SVGTextMetricsBuilder.cpp/h to build.
1935         * GNUmakefile.list.am: Ditto.
1936         * Target.pri: Ditto.
1937         * WebCore.gypi: Ditto.
1938         * WebCore.vcproj/WebCore.vcproj: Ditto.
1939         * WebCore.xcodeproj/project.pbxproj: Ditto.
1940         * platform/graphics/Font.h:
1941         (WebCore::Font::codePath): Make it public, to be usable from SVGTextMetricsBuilder.
1942         * rendering/svg/RenderSVGAllInOne.cpp: Add SVGTextMetricsBuilder.cpp to build.
1943         * rendering/svg/RenderSVGText.cpp:
1944         * rendering/svg/RenderSVGText.h:
1945         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1946         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): SVGTextMetrics::emptyMetrics() is gone, adapt code.
1947         * rendering/svg/SVGTextLayoutEngine.cpp:
1948         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): Ditto.
1949         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Ditto.
1950         * rendering/svg/SVGTextMetrics.cpp:
1951         (WebCore::SVGTextMetrics::SVGTextMetrics): Made public, now used in SVGTextLayoutEngine.
1952         (WebCore::SVGTextMetrics::constructTextRun): Move to public static function, to be usable from SVGTextMetricsBuilder.
1953         * rendering/svg/SVGTextMetrics.h:
1954         (WebCore::SVGTextMetrics::isEmpty): Add new isEmpty method, which replaces the == empyMetrics().
1955         (WebCore::SVGTextMetrics::setWidth): Remove friendship with SVGTextLayoutAttributesBuilder, and make it public, to avoid another friendship.
1956         * rendering/svg/SVGTextMetricsBuilder.cpp: Added.
1957         (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
1958         (WebCore::SVGTextMetricsBuilder::advance):
1959         (WebCore::SVGTextMetricsBuilder::advanceSimpleText): New variant using WidthIterator directly, this is finally possible as SVG Fonts have been integrated into the glyph pages concept a while ago.
1960         (WebCore::SVGTextMetricsBuilder::advanceComplexText): Complex code path, accounting for sum of glyph widths != run width.
1961         (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Either measure the text renderer, or just figure out lastCharacter.
1962         (WebCore::SVGTextMetricsBuilder::walkTreeUntilSpecificLeafIsReached): Walks SVG <text> tree, correctly computing "lastCharacter" until the leaf is reached.
1963         (WebCore::SVGTextMetricsBuilder::measureAllCharactersOfRenderer): Use above method.
1964         * rendering/svg/SVGTextMetricsBuilder.h: Added.
1965
1966 2012-01-11  Dan Bernstein  <mitz@apple.com>
1967
1968         <rdar://problem/10674686> Implement the font-kerning CSS property
1969         https://bugs.webkit.org/show_bug.cgi?id=76033
1970
1971         Reviewed by Darin Adler.
1972
1973         Tests: fast/text/font-kerning-expected.html
1974                fast/text/font-kerning.html
1975
1976         * css/CSSComputedStyleDeclaration.cpp:
1977         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
1978         font-kerning.
1979         * css/CSSParser.cpp:
1980         (WebCore::CSSParser::parseValue): Ditto.
1981         * css/CSSPrimitiveValueMappings.h:
1982         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from FontDescription::Kerning.
1983         (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning): Added mapping to
1984         FontDescription::Kerning.
1985         * css/CSSProperty.cpp:
1986         (WebCore::CSSProperty::isInheritedProperty): Added font-kerning to the set of inherited
1987         properties.
1988         * css/CSSPropertyNames.in: Added -webkit-font-kerning.
1989         * css/CSSStyleApplyProperty.cpp:
1990         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for font-kerning.
1991         * css/CSSStyleSelector.cpp:
1992         (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
1993         affect the font.
1994         * platform/graphics/Font.h:
1995         (WebCore::Font::typesettingFeatures): Changed to enable kerning if font-kerning is set to
1996         normal, disable it if font-kerning is set to none, and leave it to the default (determined
1997         by the text-rendering property) if font-kerning is set to auto.
1998         * platform/graphics/FontDescription.h:
1999         (WebCore::FontDescription::FontDescription): Added a Kerning enum.
2000         (WebCore::FontDescription::kerning): Added this getter.
2001         (WebCore::FontDescription::setKerning): Added this setter.
2002         (WebCore::FontDescription::operator==): Updated to compare the m_kerning member.
2003
2004 2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
2005
2006         Build fix. Forgot to revert Node.h.
2007
2008         * dom/Node.h:
2009
2010 2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
2011
2012         Revert r104210. It turned out that this patch makes improving the node list caches harder.
2013
2014         * dom/Attr.cpp:
2015         (WebCore::Attr::setValue):
2016         (WebCore::Attr::childrenChanged):
2017         * dom/DynamicNodeList.cpp:
2018         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
2019         (WebCore::DynamicSubtreeNodeList::length):
2020         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
2021         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
2022         (WebCore::DynamicSubtreeNodeList::item):
2023         (WebCore::DynamicSubtreeNodeList::invalidateCache):
2024         (WebCore::DynamicSubtreeNodeList::Caches::create):
2025         (WebCore::DynamicSubtreeNodeList::Caches::reset):
2026         * dom/DynamicNodeList.h:
2027         * dom/Element.cpp:
2028         (WebCore::Element::updateAfterAttributeChanged):
2029         * dom/Node.cpp:
2030         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
2031         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
2032         (WebCore::Node::notifyLocalNodeListsLabelChanged):
2033         (WebCore::Node::itemTypeAttributeChanged):
2034         (WebCore::NodeListsNodeData::invalidateCaches):
2035         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
2036         * dom/NodeRareData.h:
2037         * html/HTMLElement.cpp:
2038         (WebCore::HTMLElement::parseMappedAttribute):
2039         * html/HTMLLabelElement.cpp:
2040         (WebCore::HTMLLabelElement::parseMappedAttribute):
2041         * html/HTMLLabelElement.h:
2042
2043 2012-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2044
2045         Unreviewed, rolling out r104263 and r104381.
2046         http://trac.webkit.org/changeset/104263
2047         http://trac.webkit.org/changeset/104381
2048         https://bugs.webkit.org/show_bug.cgi?id=76029
2049
2050         Preparation to rollout r104210 (Requested by rniwa on
2051         #webkit).
2052
2053         * dom/DynamicNodeList.cpp:
2054         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
2055         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
2056         (WebCore::DynamicSubtreeNodeList::length):
2057         (WebCore::DynamicSubtreeNodeList::item):
2058         * dom/DynamicNodeList.h:
2059         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
2060         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
2061         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):
2062
2063 2012-01-10  David Kilzer  <ddkilzer@apple.com>
2064
2065         Add TestWebKitAPI tests for KURL
2066         <http://webkit.org/b/75774>
2067
2068         Reviewed by Adam Barth.
2069
2070         * WebCore.exp.in: Export additional KURL methods used in
2071         testing.
2072
2073 2012-01-10  Jer Noble  <jer.noble@apple.com>
2074
2075         Crash in HTMLMediaElement::shouldDisableSleep()
2076         https://bugs.webkit.org/show_bug.cgi?id=76025
2077
2078         Reviewed by Dan Bernstein.
2079
2080         Check nullity of m_player before dereferencing.
2081
2082         * html/HTMLMediaElement.cpp:
2083         (WebCore::HTMLMediaElement::shouldDisableSleep):
2084
2085 2012-01-04  Kent Tamura  <tkent@chromium.org>
2086
2087         A radio button not in a document should not join a radio button group
2088         https://bugs.webkit.org/show_bug.cgi?id=45719
2089
2090         Reviewed by Darin Adler.
2091
2092         As per the standard and other browser behaviors, we should not add a
2093         radio button not in a document to a radio button group.
2094
2095         So, CheckedRadioButton member functions should be called in
2096         insertedIntoDocument() and removedFromDocument(), and they should do
2097         nothing if the specified radio button is not in a document.
2098
2099         This change also fixes a bug that form owner change by 'form' attribute
2100         didn't update radio button groups correctly.
2101
2102         Test: fast/forms/radio/radio-group.html
2103
2104         * dom/CheckedRadioButtons.cpp:
2105         (WebCore::shouldMakeRadioGroup): A helper function to check <input> state.
2106         (WebCore::CheckedRadioButtons::addButton):
2107         - Change the argument type: HTMLFormControlElement* -> HTMLInputElement*.
2108         - Use shouldMakeRadioGroup().
2109         (WebCore::CheckedRadioButtons::removeButton): ditto.
2110         * dom/CheckedRadioButtons.h:
2111          Change the argument types of addButton() and removeButton():
2112          HTMLFormControlElement* -> HTMLInputElement*.
2113         * html/FormAssociatedElement.cpp:
2114          Do not update m_form except in setForm() and formWillBeDestroyed().
2115          This helps us to call registerFormElement() and removeFromElement()
2116          correctly, and call willChangeForm()/didChangeForm() hooks correctly.
2117         (WebCore::FormAssociatedElement::FormAssociatedElement):
2118         (WebCore::FormAssociatedElement::~FormAssociatedElement):
2119         (WebCore::FormAssociatedElement::insertedIntoTree):
2120         (WebCore::FormAssociatedElement::removedFromTree):
2121         (WebCore::FormAssociatedElement::setForm):
2122         (WebCore::FormAssociatedElement::willChangeForm):
2123         This virtual function is called before the owner form is updated.
2124         (WebCore::FormAssociatedElement::didChangeForm):
2125         This virtual function is called after the owner form was updated.
2126         (WebCore::FormAssociatedElement::formWillBeDestroyed):
2127         - Renamaed from formDestroyed()
2128         - Add calls to willChangeForm() and didChangeForm().
2129         (WebCore::FormAssociatedElement::resetFormOwner): Use setForm().
2130         (WebCore::FormAssociatedElement::formAttributeChanged): ditto.
2131         * html/FormAssociatedElement.h:
2132         * html/HTMLFormControlElement.cpp:
2133         (WebCore::HTMLFormControlElement::HTMLFormControlElement): Use setForm().
2134         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
2135         removeFormElement() is not needed. ~FormAssociatedElement() treats it.
2136         (WebCore::HTMLFormControlElement::parseMappedAttribute):
2137         No need to handle CheckedRadioButtons here. It is handled by HTMLInputElement.
2138         (WebCore::HTMLFormControlElement::insertedIntoTree): ditto.
2139         * html/HTMLFormElement.cpp:
2140         (WebCore::HTMLFormElement::~HTMLFormElement):
2141          Rename formDestroyed() with willDestroyForm().
2142         (WebCore::HTMLFormElement::registerFormElement):
2143         We don't need to handle radio button groups here.
2144         (WebCore::HTMLFormElement::removeFormElement): ditto.
2145         * html/HTMLInputElement.cpp:
2146         (WebCore::HTMLInputElement::~HTMLInputElement):
2147         Calls setForm(0) so that it calls correct virtual functions of
2148         HTMLInputElement.
2149         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2150         Checking attached() was wrong.
2151         (WebCore::HTMLInputElement::willChangeForm):
2152         Remove this radio button from a radio button group for the old form.
2153         (WebCore::HTMLInputElement::didChangeForm):
2154         Add this radio button to a radio button group for the new form.
2155         (WebCore::HTMLInputElement::insertedIntoDocument):
2156         Add CheckedRadioButtons::addButton() call.
2157         (WebCore::HTMLInputElement::removedFromDocument):
2158         Add CheckedRadioButtons::removeButton() call.
2159         (WebCore::HTMLInputElement::didMoveToNewDocument):
2160         We don't need to handle CheckedRadioButton() here because
2161         removedFromDocument() handles it.
2162         * html/HTMLInputElement.h:
2163         * html/HTMLObjectElement.cpp:
2164         (WebCore::HTMLObjectElement::HTMLObjectElement): Use setForm().
2165         (WebCore::HTMLObjectElement::~HTMLObjectElement):
2166         removeFormElement() is not needed. ~FormAssociatedElement() treats it.
2167
2168 2012-01-10  Kentaro Hara  <haraken@chromium.org>
2169
2170         Remove redundant code from DOMWindowSQLDatabase.cpp
2171         https://bugs.webkit.org/show_bug.cgi?id=76010
2172
2173         Reviewed by Adam Barth.
2174
2175         This patch removes redundant code from DOMWindowSQLDatabase.cpp.
2176
2177         - Remove window->frame() check, since window->frame() is always true when
2178           window->isCurrentlyDisplayedInFrame() is true.
2179         - window->frame()->document() can just be window->document()
2180
2181         Tests: storage/open-database-creation-callback-isolated-world.html
2182                storage/open-database-creation-callback.html
2183                storage/open-database-empty-version.html
2184                storage/open-database-over-quota.html
2185                storage/open-database-set-empty-version.html
2186                storage/open-database-while-transaction-in-progress.html
2187
2188         * storage/DOMWindowSQLDatabase.cpp:
2189         (WebCore::DOMWindowSQLDatabase::openDatabase):
2190
2191 2012-01-10  Dale Curtis  <dalecurtis@chromium.org>
2192
2193         Repaint video controls when buffering during pause.
2194         https://bugs.webkit.org/show_bug.cgi?id=73957
2195
2196         Pipes support for a new bufferingProgressed() method on MediaControls
2197         elements. Allows controls to be repainted as data buffers when paused.
2198
2199         Reviewed by Hajime Morita.
2200
2201         Test: http/tests/media/video-buffering-repaints-controls.html
2202
2203         * html/HTMLMediaElement.cpp:
2204         (WebCore::HTMLMediaElement::setNetworkState):
2205         (WebCore::HTMLMediaElement::progressEventTimerFired):
2206         * html/shadow/MediaControlRootElement.cpp:
2207         (WebCore::MediaControlRootElement::bufferingProgressed):
2208         * html/shadow/MediaControlRootElement.h:
2209         * html/shadow/MediaControlRootElementChromium.cpp:
2210         (WebCore::MediaControlRootElementChromium::bufferingProgressed):
2211         * html/shadow/MediaControlRootElementChromium.h:
2212         * html/shadow/MediaControls.h:
2213
2214 2012-01-10  Daniel Cheng  <dcheng@chromium.org>
2215
2216         [chromium] Pasteboard::documentFragment should fall back to text if there's no HTML text
2217         https://bugs.webkit.org/show_bug.cgi?id=75923
2218
2219         Reviewed by Tony Chang.
2220
2221         Test: editing/pasteboard/pasting-empty-html-falls-back-to-text.html
2222
2223         * platform/chromium/PasteboardChromium.cpp:
2224         (WebCore::Pasteboard::documentFragment):
2225
2226 2012-01-10  Kentaro Hara  <haraken@chromium.org>
2227
2228         Use the [Supplemental] IDL in SQLDatabase
2229         https://bugs.webkit.org/show_bug.cgi?id=76004
2230
2231         Reviewed by Adam Barth.
2232
2233         We've been working on WebKit modularization. By using the [Supplemental] IDL,
2234         we can move SQLDatabase related code from WebCore/page/DOMWindow.{h,cpp,idl}
2235         to WebCore/storage/DOMWindowSQLDatabase.{h,cpp,idl}.
2236
2237         Tests: storage/open-database-creation-callback-isolated-world.html
2238                storage/open-database-creation-callback.html
2239                storage/open-database-empty-version.html
2240                storage/open-database-over-quota.html
2241                storage/open-database-set-empty-version.html
2242                storage/open-database-while-transaction-in-progress.html
2243
2244         * CMakeLists.txt: Added DOMWindowSQLDatabase.{idl,h,cpp} to the build script.
2245         * DerivedSources.make: Ditto.
2246         * DerivedSources.pri: Ditto.
2247         * GNUmakefile.list.am: Ditto.
2248         * Target.pri: Ditto.
2249         * WebCore.gypi: Ditto.
2250         * WebCore.vcproj/WebCore.vcproj: Ditto.
2251         * WebCore.xcodeproj/project.pbxproj: Ditto.
2252
2253         * page/DOMWindow.cpp: Removed SQLDatabase related code.
2254         * page/DOMWindow.idl: Ditto.
2255         * page/DOMWindow.h: Ditto. Moved isCurrentlyDisplayedInFrame() from private: to public:
2256         so that DOMWindowSQLDatabase::openDatabase() can access it.
2257
2258         * storage/DOMWindowSQLDatabase.cpp: Added. Moved openDatabase() from DOMWindow.cpp to here.
2259         (WebCore::DOMWindowSQLDatabase::openDatabase):
2260         * storage/DOMWindowSQLDatabase.h: Added. Moved openDatabase() from DOMWindow.h to here.
2261         * storage/DOMWindowSQLDatabase.idl: Added. Using the [Supplemental] IDL, moved openDatabase()
2262         and SQLException from DOMWindow.idl to here.
2263
2264 2012-01-10  Chris Marrin  <cmarrin@apple.com>
2265
2266         CIFilter version of Sepia Tone filter doesn't match software
2267         https://bugs.webkit.org/show_bug.cgi?id=75129
2268
2269         Reviewed by Simon Fraser.
2270
2271         Changed sepia tone filter to use a CIColorMatrix filter with
2272         values that match sw filter.
2273
2274         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2275         (interp):
2276         (PlatformCALayer::setFilters):
2277
2278 2012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2279
2280         [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
2281         https://bugs.webkit.org/show_bug.cgi?id=74176
2282
2283         Reviewed by Noam Rosenthal.
2284
2285         Replaces static global GL resource holder with holder shared between
2286         TextureMapperGL instances created on the same GL context. Also adds
2287         deallocation of GL resources when last TextureMapperGL instance on the 
2288         current GL context gets deleted.
2289
2290         Tested by multipleWebViewWindows and multipleWebViews Qt WK2 API tests.
2291
2292         * platform/graphics/opengl/TextureMapperGL.cpp:
2293         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
2294         (WebCore::TextureMapperGLData::SharedGLData::glContextDataMap):
2295         (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
2296         (WebCore::TextureMapperGLData::SharedGLData::ProgramInfo::ProgramInfo):
2297         (WebCore::TextureMapperGLData::SharedGLData::createShaderProgram):
2298         (WebCore::TextureMapperGLData::SharedGLData::deleteShaderProgram):
2299         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
2300         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
2301         (WebCore::TextureMapperGLData::sharedGLData):
2302         (WebCore::TextureMapperGLData::TextureMapperGLData):
2303         (WebCore::TextureMapperGLData::SharedGLData::initializeShaders):
2304         (WebCore::TextureMapperGL::beginPainting):
2305         (WebCore::TextureMapperGL::drawTexture):
2306         (WebCore::BitmapTextureGL::bind):
2307         (WebCore::TextureMapperGL::bindSurface):
2308         (WebCore::TextureMapperGL::beginClip):
2309         (WebCore::TextureMapperGL::endClip):
2310         * platform/graphics/opengl/TextureMapperGL.h:
2311
2312 2012-01-10  Simon Fraser  <simon.fraser@apple.com>
2313
2314         Disabled mock scrollbars should draw differently
2315         https://bugs.webkit.org/show_bug.cgi?id=75995
2316
2317         Reviewed by James Robinson.
2318         
2319         When the scrollbar is disabled, paint the entire track of
2320         mock scrollbars with a lighter gray, and hide the thumb.
2321
2322         No tests, since mock scrollbars aren't enabled by default on Mac yet.
2323
2324         * platform/mock/ScrollbarThemeMock.cpp:
2325         (WebCore::ScrollbarThemeMock::paintTrackBackground):
2326         (WebCore::ScrollbarThemeMock::paintThumb):
2327
2328 2012-01-10  Tony Chang  <tony@chromium.org>
2329
2330         Need to handle absolutely positioned elements inside flexboxes
2331         https://bugs.webkit.org/show_bug.cgi?id=70793
2332
2333         Reviewed by David Hyatt.
2334
2335         Tests: css3/flexbox/insert-text-crash.html
2336                css3/flexbox/position-absolute-child.html
2337
2338         * rendering/RenderFlexibleBox.cpp:
2339         (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Skip the size of positioned elements.
2340         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Add placeholders for positioned elements.
2341         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): Positions the layer for the positioned child.
2342         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Handle positioned elements.
2343         (WebCore::RenderFlexibleBox::layoutColumnReverse): Adjust the main axis offset of the layer for positioned elements.
2344         * rendering/RenderFlexibleBox.h:
2345
2346 2012-01-10  Nat Duca  <nduca@chromium.org>
2347
2348         [chromium] Reuse old timebase when activating CCDelayBasedTimeSource
2349         https://bugs.webkit.org/show_bug.cgi?id=75938
2350
2351         Reviewed by James Robinson.
2352
2353         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
2354         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
2355         (WebCore::CCDelayBasedTimeSource::setActive):
2356         (WebCore::CCDelayBasedTimeSource::onTimerFired):
2357         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
2358         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
2359
2360 2012-01-10  Kentaro Hara  <haraken@chromium.org>
2361
2362         Support the [Supplemental] IDL on methods
2363         https://bugs.webkit.org/show_bug.cgi?id=75944
2364
2365         Reviewed by Adam Barth.
2366
2367         The spec for the [Supplemental] IDL:
2368         http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface
2369
2370         Currently the [Supplemental] IDL is supported on attributes but not supported
2371         on methods. This patch makes a change to support it.
2372
2373         Specifically, assume the following IDL:
2374
2375             interface [Supplemental=X] Y {
2376                 void func();
2377             }
2378
2379         Then the code generator generates the following V8X.cpp.
2380
2381             void funcCallback(Arguments& args) {
2382                 X* imp = V8X::toNative(args.Holder());
2383                 Y::func(imp);
2384             }
2385
2386         Similar code is also generated for JS, ObjC, GObject and CPP bindings.
2387
2388         Test: bindings/scripts/test/TestSupplemental.idl
2389
2390         * bindings/scripts/CodeGeneratorCPP.pm: Modified as described above.
2391         (GenerateImplementation):
2392         * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
2393         (GenerateFunction):
2394         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2395         (GenerateParametersCheck):
2396         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2397         (GenerateImplementation):
2398         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2399         (GenerateFunctionCallString):
2400         * bindings/scripts/generate-bindings.pl: Ditto.
2401
2402         * bindings/scripts/test/TestSupplemental.idl: Added test cases for [Supplemental] methods.
2403
2404         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
2405         (WebDOMTestInterface::supplementalMethod1):
2406         (WebDOMTestInterface::supplementalMethod2):
2407         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
2408         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
2409         (webkit_dom_test_interface_supplemental_method1):
2410         (webkit_dom_test_interface_supplemental_method2):
2411         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
2412         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
2413         (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
2414         (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
2415         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
2416         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2417         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2418         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
2419         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
2420         (-[DOMTestInterface supplementalMethod1]):
2421         (-[DOMTestInterface supplementalMethod2:objArg:]):
2422         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
2423         (WebCore::TestInterfaceInternal::supplementalMethod1Callback):
2424         (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
2425         (WebCore::ConfigureV8TestInterfaceTemplate):
2426
2427 2012-01-10  Kentaro Hara  <haraken@chromium.org>
2428
2429         [Refactoring] Rename attributes in TestSupplemental.idl to clarify
2430         that they are supplemental attributes
2431         https://bugs.webkit.org/show_bug.cgi?id=75942
2432
2433         Reviewed by Adam Barth.
2434
2435         This patch just renames attributes in TestSupplemental.idl
2436         to make it easy to find in {JS,V8,WebKitDOM,DOM,WebDOM}TestInterface.cpp
2437         which attributes originate from TestSupplemental.idl.
2438
2439         * bindings/scripts/test/TestSupplemental.idl: Just renamed three attributes.
2440
2441         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
2442         (WebDOMTestInterface::supplementalStr1):
2443         (WebDOMTestInterface::supplementalStr2):
2444         (WebDOMTestInterface::setSupplementalStr2):
2445         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
2446         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
2447         (webkit_dom_test_interface_get_supplemental_str1):
2448         (webkit_dom_test_interface_get_supplemental_str2):
2449         (webkit_dom_test_interface_set_supplemental_str2):
2450         (webkit_dom_test_interface_set_property):
2451         (webkit_dom_test_interface_get_property):
2452         (webkit_dom_test_interface_class_init):
2453         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
2454         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
2455         (WebCore::jsTestInterfaceSupplementalStr1):
2456         (WebCore::jsTestInterfaceSupplementalStr2):
2457         (WebCore::jsTestInterface):
2458         (WebCore::setJSTestInterfaceSupplementalStr2):
2459         (WebCore::setJSTestInterface):
2460         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2461         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
2462         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
2463         (-[DOMTestInterface supplementalStr1]):
2464         (-[DOMTestInterface supplementalStr2]):
2465         (-[DOMTestInterface setSupplementalStr2:]):
2466         (-[DOMTestInterface ]):
2467         (-[DOMTestInterface set:]):
2468         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
2469         (WebCore::TestInterfaceInternal::supplementalStr1AttrGetter):
2470         (WebCore::TestInterfaceInternal::supplementalStr2AttrGetter):
2471         (WebCore::TestInterfaceInternal::supplementalStr2AttrSetter):
2472
2473 2012-01-10  John Bauman  <jbauman@chromium.org>
2474
2475         [chromium] Correctly recreate DrawingBuffer on lost device
2476         https://bugs.webkit.org/show_bug.cgi?id=75912
2477
2478         Reviewed by Kenneth Russell.
2479
2480         Create new drawing buffer on new context, not old lost context. Also,
2481         make sure to bind new drawing buffer.
2482
2483         No new tests.
2484
2485         * html/canvas/WebGLRenderingContext.cpp:
2486         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2487
2488 2012-01-10  Stephen White  <senorblanco@chromium.org>
2489
2490         [Chromium] Partial revert of r104566, since it breaks the shared
2491         library build on Windows.
2492         https://bugs.webkit.org/show_bug.cgi?id=75994
2493
2494         Reviewed by Dmitry Titov.
2495
2496         Covered by SVG feColorMatrix tests (see LayoutTests/ChangeLog).
2497
2498         * WebCore.gypi:
2499         * platform/graphics/filters/FEColorMatrix.h:
2500
2501 2012-01-10  Simon Fraser  <simon.fraser@apple.com>
2502
2503         Clean up RenderLayerBacking code that looks for the body
2504         https://bugs.webkit.org/show_bug.cgi?id=39502
2505
2506         Reviewed by Dave Hyatt.
2507         
2508         Consolidate code that propagates the <body> background to the
2509         root, adding a utility method on RenderObject that is called
2510         by RenderBox and RenderLayerBacking.
2511         
2512         Removed an unused method in RenderLayerBacking.
2513         
2514         The compositiong changes are not testable, since rendererBackgroundColor()
2515         is only used by fullscreen at present.
2516
2517         Tests: fast/backgrounds/root-background-propagation.html
2518                fast/backgrounds/root-background-propagation2.html
2519
2520         * rendering/RenderBox.cpp:
2521         (WebCore::RenderBox::paintRootBoxFillLayers):
2522         * rendering/RenderLayerBacking.cpp:
2523         (WebCore::RenderLayerBacking::rendererBackgroundColor):
2524         * rendering/RenderLayerBacking.h:
2525         * rendering/RenderObject.cpp:
2526         (WebCore::RenderObject::rendererForRootBackground):
2527         * rendering/RenderObject.h:
2528
2529 2012-01-10  Dana Jansens  <danakj@chromium.org>
2530
2531         [chromium] Create iterators for the RenderSurface-Layer tree
2532         https://bugs.webkit.org/show_bug.cgi?id=74203
2533
2534         Reviewed by James Robinson.
2535
2536         New unit tests: CCLayerIteratorTest.cpp
2537
2538         * WebCore.gypi:
2539         * platform/graphics/chromium/RenderSurfaceChromium.h:
2540         * platform/graphics/chromium/cc/CCLayerIterator.cpp: Added.
2541         (WebCore::CCLayerIteratorActions::BackToFront::begin):
2542         (WebCore::CCLayerIteratorActions::BackToFront::end):
2543         (WebCore::CCLayerIteratorActions::BackToFront::next):
2544         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
2545         (WebCore::CCLayerIteratorActions::FrontToBack::end):
2546         (WebCore::CCLayerIteratorActions::FrontToBack::next):
2547         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
2548         * platform/graphics/chromium/cc/CCLayerIterator.h: Added.
2549         (WebCore::CCLayerIterator::CCLayerIterator):
2550         (WebCore::CCLayerIterator::begin):
2551         (WebCore::CCLayerIterator::end):
2552         (WebCore::CCLayerIterator::operator++):
2553         (WebCore::CCLayerIterator::operator==):
2554         (WebCore::CCLayerIterator::operator!=):
2555         (WebCore::CCLayerIterator::operator->):
2556         (WebCore::CCLayerIterator::operator*):
2557         (WebCore::CCLayerIterator::representsTargetRenderSurface):
2558         (WebCore::CCLayerIterator::representsContributingRenderSurface):
2559         (WebCore::CCLayerIterator::representsItself):
2560         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
2561         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
2562         (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
2563         (WebCore::CCLayerIteratorPosition::currentLayer):
2564         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
2565         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
2566         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
2567         (WebCore::CCLayerIteratorPosition::targetRenderSurface):
2568         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
2569         (WebCore::CCLayerIteratorPosition::operator==):
2570         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2571         (WebCore::CCLayerTreeHost::paintLayerContents):
2572         (WebCore::CCLayerTreeHost::updateCompositorResources):
2573         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2574         (WebCore::walkLayersAndCalculateVisibleLayerRects):
2575         * platform/graphics/chromium/cc/CCRenderSurface.h:
2576
2577 2012-01-10  Ojan Vafai  <ojan@chromium.org>
2578
2579         Rename flex-align to flex-item-align.
2580         https://bugs.webkit.org/show_bug.cgi?id=75929
2581
2582         Reviewed by Darin Adler.
2583
2584         The spec has changed and now flex-align will be set on
2585         the flexbox itself.
2586
2587         * css/CSSComputedStyleDeclaration.cpp:
2588         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2589         * css/CSSParser.cpp:
2590         (WebCore::CSSParser::parseValue):
2591         * css/CSSPrimitiveValueMappings.h:
2592         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2593         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
2594         * css/CSSProperty.cpp:
2595         (WebCore::CSSProperty::isInheritedProperty):
2596         * css/CSSPropertyNames.in:
2597         * css/CSSStyleApplyProperty.cpp:
2598         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2599         * css/CSSStyleSelector.cpp:
2600         (WebCore::CSSStyleSelector::applyProperty):
2601         * rendering/RenderBox.cpp:
2602         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2603         * rendering/RenderFlexibleBox.cpp:
2604         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2605         (WebCore::RenderFlexibleBox::alignChildren):
2606         * rendering/style/RenderStyle.h:
2607         (WebCore::RenderStyleBitfields::flexItemAlign):
2608         (WebCore::RenderStyleBitfields::setFlexItemAlign):
2609         (WebCore::RenderStyleBitfields::initialFlexItemAlign):
2610         * rendering/style/RenderStyleConstants.h:
2611         * rendering/style/StyleFlexibleBoxData.cpp:
2612         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2613         (WebCore::StyleFlexibleBoxData::operator==):
2614         * rendering/style/StyleFlexibleBoxData.h:
2615
2616 2012-01-10  Eric Carlson  <eric.carlson@apple.com>
2617
2618         Replace TextTrackCue "getCueAsSource" method with "text" attribute
2619         https://bugs.webkit.org/show_bug.cgi?id=75646
2620
2621         Reviewed by Darin Adler.
2622
2623         Test: media/track/track-cue-mutable-text.html
2624
2625         * html/HTMLMediaElement.h: getCueAsSource() -> text().
2626
2627         * html/TextTrackCue.cpp:
2628         (WebCore::TextTrackCue::setText): New. Set cue text and clear the document fragment.
2629         (WebCore::TextTrackCue::getCueAsHTML): Allocate the document fragment if it doesn't exist.
2630         * html/TextTrackCue.h:
2631         (WebCore::TextTrackCue::text):
2632         * html/TextTrackCue.idl: getCueAsSource() -> text().
2633
2634         * html/shadow/MediaControlRootElement.cpp:
2635         (WebCore::MediaControlRootElement::updateTextTrackDisplay): getCueAsSource() -> text().
2636         * html/shadow/MediaControlRootElementChromium.cpp:
2637         (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay): getCueAsSource() -> text().
2638
2639         * html/track/WebVTTParser.cpp:
2640         (WebCore::WebVTTParser::collectCueText): processCueText is dead, long live createNewCue.
2641         (WebCore::WebVTTParser::createDocumentFragmentFromCueText): New, split out of processCueText.
2642             Create a document fragment from the String argument.
2643         (WebCore::WebVTTParser::createNewCue): Split out of processCueText.
2644         (WebCore::WebVTTParser::constructTreeFromToken): Add a comment pointing to the spec section
2645             with the rules for DOM construction.
2646         * html/track/WebVTTParser.h:
2647
2648 2012-01-10  Jer Noble  <jer.noble@apple.com>
2649
2650         REGRESSION (r102024): Having the Bing homepage open prevents idle sleep
2651         https://bugs.webkit.org/show_bug.cgi?id=75972
2652
2653         Reviewed by Oliver Hunt.
2654
2655         No new tests; no testing infrastructure exists to test display sleep assertions.
2656
2657         Only disable idle and display sleep when a video element is not paused, not looping, and
2658         has both a video and audio track.
2659
2660         * html/HTMLMediaElement.cpp:
2661         (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Factor into updateDisableSleep() and
2662             shouldDisplaySleep().
2663         (WebCore::HTMLMediaElement::setLoop): Ditto.
2664         (WebCore::HTMLMediaElement::attributeChanged): Ditto.
2665         (WebCore::HTMLMediaElement::updateDisableSleep):
2666         (WebCore::HTMLMediaElement::shouldDisableSleep):
2667         * html/HTMLMediaElement.h:
2668
2669 2012-01-09  Matthew Delaney  <mdelaney@apple.com>
2670
2671         [Mac] Accelerate canvas layers with the same logic as accelerating the canvas itself
2672         https://bugs.webkit.org/show_bug.cgi?id=75921
2673
2674         Reviewed by Simon Fraser.
2675
2676         No new tests. Does not affect detectable behavior.
2677
2678         * rendering/RenderLayerCompositor.cpp: Use canvas's shouldAccelerate to avoid asking
2679         uninitialized canvas's if they're accelerated or not.
2680         (WebCore::RenderLayerCompositor::updateBacking):
2681
2682 2012-01-10  Daniel Sievers  <sievers@chromium.org>
2683
2684         [Chromium] Do not recreate texture updater for image layer if one exists.
2685         https://bugs.webkit.org/show_bug.cgi?id=75589
2686
2687         Reviewed by James Robinson.
2688
2689         Test: platform/chromium/compositing/img-layer-grow.html
2690
2691         * platform/graphics/chromium/ImageLayerChromium.cpp:
2692         (WebCore::ImageLayerChromium::createTextureUpdater):
2693
2694 2012-01-10  Mike Reed  <reed@google.com>
2695
2696         [skia] not all convex paths are convex, so recompute convexity for the problematic ones
2697         https://bugs.webkit.org/show_bug.cgi?id=75960
2698
2699         Reviewed by Stephen White.
2700
2701         No new tests.
2702         See related chrome issue
2703         http://code.google.com/p/chromium/issues/detail?id=108605
2704
2705         * platform/graphics/skia/GraphicsContextSkia.cpp:
2706         (WebCore::setPathFromConvexPoints):
2707
2708 2012-01-10  Gavin Barraclough  <barraclough@apple.com>
2709
2710         Do not allow Array length to be set if it is non-configurable
2711         https://bugs.webkit.org/show_bug.cgi?id=75935
2712
2713         Reviewed by Sam Weinig.
2714
2715         * bindings/js/SerializedScriptValue.cpp:
2716         (WebCore::CloneDeserializer::deserialize):
2717             - remove unnecessary call to JSArray::setLength.
2718
2719 2012-01-10  Adrienne Walker  <enne@google.com>
2720
2721         [chromium] Draw debug tile borders on composited layers
2722         https://bugs.webkit.org/show_bug.cgi?id=75680
2723
2724         Reviewed by James Robinson.
2725
2726         On tiled layers, draw debug borders on the tiles themselves. By
2727         default, these are one pixel wide and transparent, so should be
2728         unobtrusive but informative. They are triggered when the layer itself
2729         would have a debug border via the existing flags.
2730
2731         Also, fix the drawDebugBorderQuad function to handle arbitrarily
2732         positioned quads, not just full layer quads. Also, fix alpha issue
2733         with debug borders.
2734
2735         * platform/graphics/chromium/LayerRendererChromium.cpp:
2736         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
2737         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
2738         (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
2739         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2740         (WebCore::CCLayerImpl::appendDebugBorderQuad):
2741         (WebCore::CCLayerImpl::quadTransform):
2742         (WebCore::CCLayerImpl::hasDebugBorders):
2743         * platform/graphics/chromium/cc/CCLayerImpl.h:
2744         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2745         (WebCore::CCTiledLayerImpl::appendQuads):
2746
2747 2012-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2748
2749         Web Inspector: Missing Implementation of Public InspectorDOMAgent Function
2750         https://bugs.webkit.org/show_bug.cgi?id=75759
2751
2752         Follow-up: Remove the unused method. Keep the setter private.
2753
2754         Reviewed by Pavel Feldman.
2755
2756         * inspector/InspectorDOMAgent.cpp:
2757         * inspector/InspectorDOMAgent.h:
2758
2759 2012-01-10  Pavel Feldman  <pfeldman@google.com>
2760
2761         Not reviewed, follow up to r104586: fix assertion within the loop.
2762
2763         * inspector/DOMEditor.cpp:
2764         (WebCore::DOMEditor::patchChildren):
2765
2766 2012-01-10  Brady Eidson  <beidson@apple.com>
2767
2768         <rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764
2769         Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
2770  
2771         Reviewed by Maciej Stachowiak.
2772
2773         This is a non-reproducible high volume crash, so no test :(. 
2774
2775         * loader/DocumentLoader.cpp:
2776         (WebCore::DocumentLoader::stopLoading): Don't re-run actual "stop loading" logic if the document loader is already
2777           stopping loading. Also add an ASSERT that might catch cases where new loads may have been started while old loads
2778           were being stopped.
2779         (WebCore::DocumentLoader::detachFromFrame): Be conservative and stop loading when we detach a document loader from a frame. 
2780
2781 2012-01-10  Pavel Feldman  <pfeldman@google.com>
2782
2783         Not reviewed: fixing the Mac build.
2784
2785         * inspector/DOMEditor.cpp:
2786         (WebCore::DOMEditor::patchChildren):
2787
2788 2012-01-09  Jer Noble  <jer.noble@apple.com>
2789
2790         Elements can appear over fullscreen video
2791         https://bugs.webkit.org/show_bug.cgi?id=75913
2792
2793         Reviewed by Simon Fraser.
2794
2795         No new tests; updated fullscreen/full-screen-zIndex.html to trigger error condition.
2796
2797         RenderFullScreenPlaceholder inherits the pre-fullscreen element's style, causing a stacking
2798         context to be created.  Instead of making the placeholder the parent of the RenderFullScreen
2799         object, make the two renderers siblings.  Then the stacking context created by the placeholder
2800         will not affect the z-ordering of the RenderFullScreen.
2801
2802         * rendering/RenderFullScreen.cpp:
2803         (RenderFullScreen::wrapRenderer):
2804         (RenderFullScreen::unwrapRenderer):
2805         (RenderFullScreen::createPlaceholder):
2806
2807 2012-01-10  Pavel Feldman  <pfeldman@google.com>
2808
2809         Web Inspector: add "free flow DOM editing" experiment.
2810         https://bugs.webkit.org/show_bug.cgi?id=75955
2811
2812         This change enables HTML editing from Resources panel experiment.
2813
2814         Reviewed by Yury Semikhatsky.
2815
2816         * CMakeLists.txt:
2817         * English.lproj/localizedStrings.js:
2818         * GNUmakefile.list.am:
2819         * Target.pri:
2820         * WebCore.gypi:
2821         * WebCore.vcproj/WebCore.vcproj:
2822         * WebCore.xcodeproj/project.pbxproj:
2823         * inspector/DOMEditor.cpp: Added.
2824         (WebCore::DOMEditor::DOMEditor):
2825         (WebCore::DOMEditor::~DOMEditor):
2826         (WebCore::DOMEditor::patch):
2827         (WebCore::DOMEditor::NodeDigest::NodeDigest):
2828         (WebCore::DOMEditor::patchElement):
2829         (WebCore::DOMEditor::patchNode):
2830         (WebCore::DOMEditor::patchChildren):
2831         (WebCore::addStringToSHA1):
2832         (WebCore::DOMEditor::createNodeDigest):
2833         * inspector/DOMEditor.h: Added.
2834         * inspector/InspectorDOMAgent.cpp:
2835         (WebCore::InspectorDOMAgent::setOuterHTML):
2836         * inspector/front-end/DOMAgent.js:
2837         (WebInspector.DOMAgent):
2838         (WebInspector.DOMModelResourceBinding):
2839         (WebInspector.DOMModelResourceBinding.prototype.setContent):
2840         (WebInspector.DOMModelResourceBinding.prototype.canSetContent):
2841         * inspector/front-end/Settings.js:
2842         (WebInspector.ExperimentsSettings):
2843
2844 2012-01-10  Stephen Chenney  <schenney@chromium.org>
2845
2846         [Chromium] Shift PathSkia to use Skia's new RawIter
2847         https://bugs.webkit.org/show_bug.cgi?id=75703
2848
2849         Reviewed by Nikolas Zimmermann.
2850
2851         No new tests required - covered by existing tests.
2852
2853         * platform/graphics/Path.h: Added comments ont he return values from iteration.
2854         * platform/graphics/skia/PathSkia.cpp:
2855         (WebCore::Path::apply): Switched to SkPath::RawIter
2856
2857 2012-01-10  Peter Beverloo  <peter@chromium.org>
2858
2859         [Chromium] Use SkFontHost::GetUnitsPerEm instead of advanced type
2860         metrics for Android in FontPlatformData
2861         https://bugs.webkit.org/show_bug.cgi?id=75702
2862
2863         Reviewed by Stephen White.
2864
2865         Since Skia for Android doesn't implement advanced type metric routines,
2866         use an alternative method to calculate the number of font units for an
2867         em size. This will be exercized by existing layout tests, as it's being
2868         used by the ComplexTextController.
2869
2870         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
2871         (WebCore::FontPlatformData::emSizeInFontUnits):
2872
2873 2012-01-10  Vsevolod Vlasov  <vsevik@chromium.org>
2874
2875         Unreviewed, inspector style fix.
2876
2877         Web Inspector: elements tree is shifted 12px to the right.
2878         https://bugs.webkit.org/show_bug.cgi?id=75609
2879
2880         * inspector/front-end/elementsPanel.css:
2881         (#elements-content):
2882
2883 2012-01-10  Zoltan Herczeg  <zherczeg@webkit.org>
2884
2885         Fix style errors in CSSParser.cpp
2886         https://bugs.webkit.org/show_bug.cgi?id=75854
2887
2888         Reviewed by Nikolas Zimmermann.
2889
2890         Minor style fixes.
2891
2892         * css/CSSParser.cpp:
2893         (WebCore::CSSParser::parseValue):
2894         (WebCore::CSSParser::parseShadow):
2895         (WebCore::isBorderImageRepeatKeyword):
2896         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2897         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
2898         (WebCore::filterInfoForName):
2899
2900 2012-01-10  Julien Chaffraix  <jchaffraix@webkit.org>
2901
2902         REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling
2903         https://bugs.webkit.org/show_bug.cgi?id=67100
2904
2905         Reviewed by Dan Bernstein.
2906
2907         Tests: fast/layers/scroll-with-transform-composited-layer.html
2908                fast/layers/scroll-with-transform-layer.html
2909
2910         The regression came from a previous optimization that was wrongly kept after r93614.
2911
2912         * rendering/RenderLayer.cpp:
2913         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2914         Remove the early return for transformed layer. This change worked as we used
2915         to call updateLayerPositions from scrollTo which would call updateLayerPosition on
2916         all our descendants. After r93614, this is no longer the case and we explicitely need
2917         to call updateLayerPosition on our descendants from updateLayerPositionsAfterScroll.
2918
2919 2012-01-10  Stephen White  <senorblanco@chromium.org>
2920
2921         Fix Chrome/Mac build.
2922
2923         Build fix; unreviewed.
2924
2925         * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
2926         (WebCore::luminanceToAlphaMatrix):
2927
2928 2012-01-06  Stephen White  <senorblanco@chromium.org>
2929
2930         [Skia] Switch FEColorMatrix to use a skia-based implementation when
2931         compiling with USE(SKIA).  This change will also switch the software
2932         implementation of FEGaussianBlur to the skia implementation (ie.,
2933         it removes the acceleration check).
2934         https://bugs.webkit.org/show_bug.cgi?id=75582
2935
2936         Reviewed by Dirk Schulze.
2937
2938         Covered by svg/W3C-SVG-1.1/filters-color-01-b.svg and friends (will
2939         need a rebaseline).
2940
2941         * WebCore.gypi:
2942         Add FEColorMatrixSkia.cpp to the build.
2943         * platform/graphics/filters/FEColorMatrix.h:
2944         Add platformApplySkia().
2945         * platform/graphics/filters/FEGaussianBlur.cpp:
2946         (WebCore::FEGaussianBlur::platformApplySoftware):
2947         Remove skia-specific code from FEGaussianBlur::platformApplySoftware().
2948         * platform/graphics/filters/FEGaussianBlur.h:
2949         Make platformApplySkia() virtual, and put it behind #if USE(SKIA).
2950         * platform/graphics/filters/FilterEffect.cpp:
2951         (WebCore::FilterEffect::apply):
2952         Call out to platformApplySkia(), or fall back to
2953         platformApplySoftware().
2954         * platform/graphics/filters/FilterEffect.h:
2955         Add platformApplySkia().
2956         * platform/graphics/filters/skia/FEColorMatrixSkia.cpp: Added.
2957         (WebCore::saturateMatrix):
2958         (WebCore::hueRotateMatrix):
2959         (WebCore::luminanceToAlphaMatrix):
2960         (WebCore::FEColorMatrix::platformApplySkia):
2961         Process color matrix effect, by calling out to generic matrix
2962         version of SkColorMatrixFilter.
2963         * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp:
2964         (WebCore::FEGaussianBlur::platformApplySkia):
2965         Change the signature of FEGaussianBlur::platformApplySkia to be an
2966         override of the new FilterEffect base class version.
2967
2968 2012-01-10  Pavel Feldman  <pfeldman@google.com>
2969
2970         Web Inspector: fix DebuggerPresentationModel::uiSourceCodes - do not iterate
2971         over same raw source code multiple times.
2972         https://bugs.webkit.org/show_bug.cgi?id=75953
2973
2974         Reviewed by Yury Semikhatsky.
2975
2976         * inspector/front-end/DebuggerPresentationModel.js:
2977         (WebInspector.DebuggerPresentationModel):
2978         (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
2979         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
2980         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2981         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2982         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2983
2984 2012-01-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
2985
2986         [Qt] Enable CSS_FILTERS in Qt build
2987         https://bugs.webkit.org/show_bug.cgi?id=75777
2988
2989         Enable CSS_FILTERS and unskip the tests.
2990
2991         Reviewed by Kenneth Rohde Christiansen.
2992
2993         Filter tests are now unskipped for Qt.
2994
2995         * Target.pri: add missing files to build.
2996
2997 2012-01-10  Pavel Feldman  <pfeldman@google.com>
2998
2999         Web Inspector: typo: NetworkAgent.canClearBrowserCache -> NetworkAgent.canClearBrowserCookies.
3000         https://bugs.webkit.org/show_bug.cgi?id=75949
3001
3002         Reviewed by Andreas Kling.
3003
3004         * inspector/front-end/NetworkPanel.js:
3005         (WebInspector.NetworkLogView):
3006
3007 2012-01-10  pfeldman@chomium.org  <pavel.feldman@gmail.com>
3008
3009         Web Inspector: restore front-end compilation
3010         https://bugs.webkit.org/show_bug.cgi?id=75625
3011
3012         Reviewed by Yury Semikhatsky.
3013
3014         * inspector/front-end/ScriptsPanel.js:
3015         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
3016         * inspector/front-end/TabbedPane.js:
3017         * inspector/front-end/externs.js:
3018         (WebInspector.isCompactMode):
3019         * inspector/front-end/treeoutline.js:
3020
3021 2012-01-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3022
3023         Add NULL checks to setting access obtained on frame and document.
3024         https://bugs.webkit.org/show_bug.cgi?id=72002
3025
3026         Reviewed by Andreas Kling.
3027
3028         Adds NULL checks to setting object where it's required.
3029         Generally WebCore checks NULL which may be returned from setting object obtained
3030         on frame or document but in some cases these are skipped. These checks are not
3031         needed to setting's access on page object.
3032
3033         * html/HTMLCanvasElement.cpp:
3034         (WebCore::HTMLCanvasElement::shouldAccelerate):
3035         * loader/DocumentLoader.cpp:
3036         (WebCore::DocumentLoader::scheduleArchiveLoad):
3037         * loader/SubframeLoader.cpp:
3038         (WebCore::SubframeLoader::requestPlugin):
3039         * loader/appcache/ApplicationCacheGroup.cpp:
3040         (WebCore::ApplicationCacheGroup::selectCache):
3041         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
3042         * page/DragController.cpp:
3043         (WebCore::DragController::draggableNode):
3044         * page/EventHandler.cpp:
3045         (WebCore::EventHandler::handleMouseReleaseEvent):
3046         * page/FocusController.cpp:
3047         (WebCore::FocusController::advanceFocusInDocumentOrder):
3048         * rendering/RenderFrameSet.cpp:
3049         (WebCore::RenderFrameSet::flattenFrameSet):
3050         * rendering/RenderIFrame.cpp:
3051         (WebCore::RenderIFrame::flattenFrame):
3052         * rendering/RenderLayerCompositor.cpp:
3053         (WebCore::RenderLayerCompositor::updateBacking):
3054         * rendering/RenderText.cpp:
3055         (WebCore::SecureTextTimer::restartWithNewText):
3056
3057 2012-01-10  Andreas Kling  <awesomekling@apple.com>
3058
3059         Matched declaration cache should support mapped attribute declarations.
3060         <http://webkit.org/b/75948>
3061
3062         Reviewed by Antti Koivisto.
3063
3064         Support caching of matches that include mapped attribute declarations.
3065         To make this possible, let the cache hold references to the matched style declarations.
3066         Otherwise, declarations are assumed to survive until ~CSSStyleSelector, which may not
3067         be the case for CSSMappedAttributeDeclaration.
3068
3069         To avoid hoarding of stale CSSMappedAttributeDeclarations in the cache, do a sweep for
3070         every 100 additions and garbage collect any entries containing a declaration that is
3071         only referenced by the cache.
3072
3073         This increases cache hit rate by up to ~10% on the Alexa top sites.
3074
3075         * css/CSSStyleSelector.cpp:
3076         (WebCore::CSSStyleSelector::CSSStyleSelector):
3077         (WebCore::CSSStyleSelector::sweepMatchedDeclarationCache):
3078         (WebCore::CSSStyleSelector::matchAllRules):
3079         (WebCore::CSSStyleSelector::applyDeclarations):
3080         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
3081         * css/CSSStyleSelector.h:
3082
3083 2012-01-10  Kenichi Ishibashi  <bashi@chromium.org>
3084
3085         Complex path should be used when UVS exists in text run
3086         https://bugs.webkit.org/show_bug.cgi?id=75289
3087
3088         Uses complex path when a text run contains UVS. The range from U+180B to U+180D already uses complex path.
3089         Removes unnecessary functions that were added by r102915.
3090
3091         Reviewed by Dan Bernstein.
3092
3093         No new tests. fast/text/unicode-variation-selector.html should take care of this change.
3094
3095         * platform/graphics/Font.cpp:
3096         (WebCore::Font::codePath): Use Complex path when the text run contains UVS.
3097         * platform/graphics/SimpleFontData.h: Removed updateGlyphWithVariationSelector().
3098         * platform/graphics/SurrogatePairAwareTextIterator.cpp: Removed unnecessary static functions.
3099         * platform/graphics/SurrogatePairAwareTextIterator.h: Removed hasTrailingVariationSelector().
3100         * platform/graphics/WidthIterator.cpp:
3101         (WebCore::WidthIterator::advance): Removed UVS detection code.
3102         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Removed updateGlyphWithVariationSelector().
3103         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Ditto.
3104         * platform/graphics/harfbuzz/SimpleFontDataSkia.cpp: Ditto.
3105         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
3106         * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
3107         * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto.
3108         * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
3109         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Ditto.
3110         * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
3111
3112 2012-01-10  Kenichi Ishibashi  <bashi@chromium.org>
3113
3114         WebFonts are re-fetched from the server upon Document::styleSelectorChanged call.
3115         https://bugs.webkit.org/show_bug.cgi?id=73419
3116
3117         Holds the CachedFont handle in CSSFontFaceSrcValue so that avoiding re-validation during style recalculation.
3118
3119         Reviewed by Dan Bernstein.
3120
3121         Test: http/tests/css/font-face-src-loading.html
3122
3123         * css/CSSFontFaceSrcValue.cpp:
3124         (WebCore::CSSFontFaceSrcValue::cachedFont): Added.
3125         * css/CSSFontFaceSrcValue.h:
3126         * css/CSSFontSelector.cpp:
3127         (WebCore::CSSFontSelector::addFontFaceRule): Gets the CachedFont from CSSFontFaceSrcValue object. The object will request the resource if it doesn't exist.
3128
3129 2012-01-10  pfeldman@chomium.org  <pavel.feldman@gmail.com>
3130
3131         Web Inspector: introduce experimental setting that makes source files always editable
3132         https://bugs.webkit.org/show_bug.cgi?id=75626
3133
3134         Reviewed by Timothy Hatcher.
3135
3136         * English.lproj/localizedStrings.js:
3137         * inspector/front-end/JavaScriptSourceFrame.js:
3138         (WebInspector.JavaScriptSourceFrame):
3139         (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
3140         * inspector/front-end/NetworkPanel.js:
3141         (WebInspector.NetworkLogView):
3142         * inspector/front-end/ScriptsNavigator.js:
3143         (WebInspector.NavigatorScriptTreeElement.prototype.onselect):
3144         * inspector/front-end/Settings.js:
3145         (WebInspector.ExperimentsSettings):
3146         * inspector/front-end/SourceFrame.js:
3147         (WebInspector.SourceFrame):
3148         (WebInspector.SourceFrame.prototype.get statusBarItems):
3149         (WebInspector.SourceFrame.prototype.setReadOnly):
3150         * inspector/front-end/inspector.js:
3151         (WebInspector.loaded):
3152
3153 2012-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3154
3155         Unreviewed, rolling out r104507.
3156         http://trac.webkit.org/changeset/104507
3157         https://bugs.webkit.org/show_bug.cgi?id=75936
3158
3159         Broke webkit_unit_tests (Requested by dimich on #webkit).
3160
3161         * WebCore.gypi:
3162         * platform/graphics/chromium/RenderSurfaceChromium.h:
3163         * platform/graphics/chromium/cc/CCLayerIterator.cpp: Removed.
3164         * platform/graphics/chromium/cc/CCLayerIterator.h: Removed.
3165         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
3166         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3167         (WebCore::CCLayerTreeHost::paintLayerContents):
3168         (WebCore::CCLayerTreeHost::updateCompositorResources):
3169         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3170         (WebCore::walkLayersAndCalculateVisibleLayerRects):
3171         * platform/graphics/chromium/cc/CCRenderSurface.h:
3172
3173 2012-01-09  Rob Buis  <rbuis@rim.com>
3174
3175         Upstream change to disable input[color] css rules for BlackBerry port
3176         https://bugs.webkit.org/show_bug.cgi?id=75719
3177
3178         Reviewed by Antonio Gomes.
3179
3180         Do not enable default css color rules for input["color"] for BlackBerry port.
3181
3182         * CMakeLists.txt:
3183
3184 2012-01-09  Greg Billock  <gbillock@google.com>
3185
3186         Implement navigator.startActivity; add IntentRequest object for managing web intents callbacks.
3187         Web content will invoke navigator.startActivity to launch a new Web
3188         Intents call. Each such call will map to an IntentRequest broker
3189         object which is used by client code to correlate any return data to
3190         the (optional) callbacks supplied by web content calls.
3191         https://bugs.webkit.org/show_bug.cgi?id=75756
3192
3193         Reviewed by Adam Barth.
3194
3195         Test: webintents/web-intents-api.html
3196
3197         * Modules/intents/Intent.cpp: Added.
3198         (WebCore::Intent::identifier):
3199         (WebCore::Intent::setIdentifier):
3200         * Modules/intents/Intent.h: Added.
3201         * Modules/intents/Intent.idl: Added.
3202         * Modules/intents/IntentResultCallback.h: Added.
3203         (WebCore::IntentResultCallback::~IntentResultCallback):
3204         * Modules/intents/IntentResultCallback.idl: Added.
3205         * Modules/intents/IntentsRequest.cpp: Added.
3206         * Modules/intents/IntentsRequest.h: Added.
3207         * WebCore.gyp/WebCore.gyp:
3208         * WebCore.gypi:
3209         * bindings/scripts/CodeGeneratorV8.pm:
3210         (GetNativeTypeForCallbacks):
3211         * loader/FrameLoaderClient.h:
3212         (WebCore::FrameLoaderClient::dispatchIntent):
3213
3214 2012-01-09  Dan Bernstein  <mitz@apple.com>
3215
3216         -[DOMRange renderedImageForcingBlackText:] fails with non-user-selectable text
3217         https://bugs.webkit.org/show_bug.cgi?id=75920
3218
3219         Reviewed by Darin Adler.
3220
3221         Test: added to TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
3222
3223         * page/mac/FrameMac.mm:
3224         (WebCore::Frame::rangeImage): Removed the requirement that the start and end positions used
3225         for setting the selection in the render tree be candidates.
3226
3227 2012-01-06  Hajime Morrita  <morrita@chromium.org>
3228
3229         [Refactoring] Moving between TreeScopes should be done by its own class.
3230         https://bugs.webkit.org/show_bug.cgi?id=75290
3231
3232         Reviewed by Ryosuke Niwa.
3233
3234         This change extracted Node::setTreeScopeRecursively(),
3235         setDocumentRecursively() and a part of setDocument() into a new
3236         class called TreeScopeAdopter. By doing this, the idea of
3237         moving a node from scope to scope, that was originally hidden
3238         behind the forest of Node APIs, has become clearer.
3239
3240         Note that this change is a preparation for Bug 59816.
3241
3242         No new tests. No behavioral change.
3243
3244         * CMakeLists.txt:
3245         * GNUmakefile.list.am:
3246         * Target.pri:
3247         * WebCore.gypi:
3248         * WebCore.vcproj/WebCore.vcproj:
3249         * WebCore.xcodeproj/project.pbxproj:
3250         * dom/ContainerNode.cpp: Followed the renaming.
3251         (WebCore::ContainerNode::takeAllChildrenFrom):
3252         (WebCore::ContainerNode::insertBefore):
3253         (WebCore::ContainerNode::replaceChild):
3254         (WebCore::ContainerNode::removeBetween):
3255         (WebCore::ContainerNode::removeChildren):
3256         (WebCore::ContainerNode::appendChild):
3257         (WebCore::ContainerNode::parserAddChild):
3258         * dom/DOMAllInOne.cpp:
3259         * dom/Document.cpp: Followed te renaming.
3260         (WebCore::Document::setDocType):
3261         (WebCore::Document::adoptNode):
3262         * dom/Element.cpp: Followed te renaming.
3263         (WebCore::Element::removeShadowRoot):
3264         * dom/Node.cpp:
3265         (WebCore::Node::setDocument):
3266         (WebCore::Node::setTreeScope):
3267         (WebCore::Node::didMoveToNewDocument):
3268         * dom/Node.h:
3269         * dom/TreeScope.h:
3270         * dom/TreeScope.cpp:
3271         (WebCore::TreeScope::adoptIfNeeded): moved from setTreeScopeRecursively()
3272         * dom/TreeScopeAdopter.cpp: Added.
3273         (WebCore::TreeScopeAdopter::TreeScopeAdopter):
3274         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3275         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
3276         (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
3277         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
3278         * dom/TreeScopeAdopter.h: Added.
3279         (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
3280         (WebCore::TreeScopeAdopter::execute):
3281         (WebCore::TreeScopeAdopter::needsScopeChange()):
3282         (WebCore::TreeScopeAdopter::shadowRootFor):
3283
3284 2012-01-09  Adam Barth  <abarth@webkit.org>
3285
3286         run-bindings-tests should exercise all the IDL attributes we use
3287         https://bugs.webkit.org/show_bug.cgi?id=75900
3288
3289         Reviewed by Eric Seidel.
3290
3291         I just grepped through the code generator script for IDL attributes and
3292         wrote tests for them.
3293
3294         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Added.
3295         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Added.
3296         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Added.
3297         * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Added.
3298         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3299         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3300         * bindings/scripts/test/CPP/WebDOMTestOverridingNameGetter.cpp: Added.
3301         * bindings/scripts/test/CPP/WebDOMTestOverridingNameGetter.h: Added.
3302         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp: Added.
3303         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h: Added.
3304         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h: Added.
3305         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp: Added.
3306         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h: Added.
3307         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h: Added.
3308         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3309         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3310         * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.cpp: Added.
3311         * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Added.
3312         * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetterPrivate.h: Added.
3313         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Added.
3314         * bindings/scripts/test/JS/JSTestActiveDOMObject.h: Added.
3315         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3316         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Added.
3317         * bindings/scripts/test/JS/JSTestEventTarget.h: Added.
3318         * bindings/scripts/test/JS/JSTestInterface.cpp:
3319         * bindings/scripts/test/JS/JSTestInterface.h:
3320         * bindings/scripts/test/JS/JSTestObj.cpp:
3321         * bindings/scripts/test/JS/JSTestObj.h:
3322         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp: Added.
3323         * bindings/scripts/test/JS/JSTestOverridingNameGetter.h: Added.
3324         * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: Added.
3325         * bindings/scripts/test/ObjC/DOMTestEventTarget.h: Added.
3326         * bindings/scripts/test/ObjC/DOMTestEventTarget.mm: Added.
3327         * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: Added.
3328         * bindings/scripts/test/ObjC/DOMTestObj.h:
3329         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3330         * bindings/scripts/test/ObjC/DOMTestOverridingNameGetter.h: Added.
3331         * bindings/scripts/test/ObjC/DOMTestOverridingNameGetter.mm: Added.
3332         * bindings/scripts/test/ObjC/DOMTestOverridingNameGetterInternal.h: Added.
3333         * bindings/scripts/test/TestDomainSecurity.idl: Added.
3334         * bindings/scripts/test/TestEventConstructor.idl:
3335         * bindings/scripts/test/TestEventTarget.idl: Added.
3336         * bindings/scripts/test/TestInterface.idl:
3337         * bindings/scripts/test/TestObj.idl:
3338         * bindings/scripts/test/TestOverridingNameGetter.idl: Added.
3339         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Added.
3340         * bindings/scripts/test/V8/V8TestActiveDOMObject.h: Added.
3341         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3342         * bindings/scripts/test/V8/V8TestEventTarget.cpp: Added.
3343         * bindings/scripts/test/V8/V8TestEventTarget.h: Added.
3344         * bindings/scripts/test/V8/V8TestInterface.h:
3345         * bindings/scripts/test/V8/V8TestObj.cpp:
3346         * bindings/scripts/test/V8/V8TestOverridingNameGetter.cpp: Added.
3347         * bindings/scripts/test/V8/V8TestOverridingNameGetter.h: Added.
3348
3349 2012-01-09  Nat Duca  <nduca@chromium.org>
3350
3351         [chromium] Add documentation to updater classes
3352         https://bugs.webkit.org/show_bug.cgi?id=75866
3353
3354         Reviewed by James Robinson.
3355
3356         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
3357         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
3358         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
3359         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
3360         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
3361
3362 2012-01-09  Adam Barth  <abarth@webkit.org>
3363
3364         Remove unused variable from CodeGeneratorV8
3365         https://bugs.webkit.org/show_bug.cgi?id=75895
3366
3367         Reviewed by Eric Seidel.
3368
3369         Unused variables aren't worth keeping around.
3370
3371         * bindings/scripts/CodeGeneratorV8.pm:
3372         (GenerateHeader):
3373         (GenerateImplementation):
3374
3375 2012-01-09  Dana Jansens  <danakj@chromium.org>
3376
3377         [chromium] Create iterators for the RenderSurface-Layer tree
3378         https://bugs.webkit.org/show_bug.cgi?id=74203
3379
3380         Reviewed by James Robinson.
3381
3382         New unit tests: CCLayerIteratorTest.cpp
3383
3384         * WebCore.gypi:
3385         * platform/graphics/chromium/RenderSurfaceChromium.h:
3386         * platform/graphics/chromium/cc/CCLayerIterator.cpp: Added.
3387         (WebCore::CCLayerIteratorActions::BackToFront::begin):
3388         (WebCore::CCLayerIteratorActions::BackToFront::end):
3389         (WebCore::CCLayerIteratorActions::BackToFront::next):
3390         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
3391         (WebCore::CCLayerIteratorActions::FrontToBack::end):
3392         (WebCore::CCLayerIteratorActions::FrontToBack::next):
3393         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
3394         * platform/graphics/chromium/cc/CCLayerIterator.h: Added.
3395         (WebCore::CCLayerIterator::CCLayerIterator):
3396         (WebCore::CCLayerIterator::begin):
3397         (WebCore::CCLayerIterator::end):
3398         (WebCore::CCLayerIterator::operator++):
3399         (WebCore::CCLayerIterator::operator==):
3400         (WebCore::CCLayerIterator::operator!=):
3401         (WebCore::CCLayerIterator::operator->):
3402         (WebCore::CCLayerIterator::operator*):
3403         (WebCore::CCLayerIterator::representsTargetRenderSurface):
3404         (WebCore::CCLayerIterator::representsContributingRenderSurface):
3405         (WebCore::CCLayerIterator::representsItself):
3406         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
3407         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
3408         (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
3409         (WebCore::CCLayerIteratorPosition::currentLayer):
3410         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
3411         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
3412         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
3413         (WebCore::CCLayerIteratorPosition::targetRenderSurface):
3414         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
3415         (WebCore::CCLayerIteratorPosition::operator==):
3416         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3417         (WebCore::CCLayerTreeHost::paintLayerContents):
3418         (WebCore::CCLayerTreeHost::updateCompositorResources):
3419         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3420         (WebCore::walkLayersAndCalculateVisibleLayerRects):
3421         * platform/graphics/chromium/cc/CCRenderSurface.h:
3422
3423 2012-01-09  Joshua Bell  <jsbell@chromium.org>
3424
3425         IndexedDB: Throw exception if IDBCursor.continue() called with lower key than current
3426         https://bugs.webkit.org/show_bug.cgi?id=74213
3427
3428         Reviewed by Tony Chang.
3429
3430         * storage/IDBCursorBackendImpl.cpp:
3431         (WebCore::IDBCursorBackendImpl::continueFunction):
3432
3433 2012-01-09  Justin Novosad  <junov@chromium.org>
3434
3435         [chromium win] Creating lots of temporary canvas contexts will crash.
3436         https://bugs.webkit.org/show_bug.cgi?id=68420
3437
3438         When using the skia port, the allocation of 2d canvas backing stores
3439         no longer needs to be done through a platform API (GDI/CG) because
3440         canvases now use skia for drawing text.  Removing the allocation through
3441         GDI on windows prevents resource exhaustion due to unreferenced canvases
3442         that are awaiting garbage collection.
3443
3444         Reviewed by Stephen White.
3445
3446         No new tests: Relying on existing canvas layout tests.
3447
3448         * html/HTMLCanvasElement.cpp:
3449         (WebCore::HTMLCanvasElement::createImageBuffer):
3450         * platform/graphics/ImageBuffer.h:
3451         * platform/graphics/skia/ImageBufferSkia.cpp:
3452         (WebCore::createNonPlatformCanvas):
3453         (WebCore::ImageBuffer::ImageBuffer):
3454
3455 2012-01-09  Avi Drissman  <avi@chromium.org>
3456
3457         https://bugs.webkit.org/show_bug.cgi?id=75860
3458         [Chromium Mac] no background is drawn for input elements
3459
3460         Reviewed by Dimitri Glazkov.
3461
3462         Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
3463         API misbehaves when built with the 10.5 SDK, so we use SPI. For now.
3464
3465         * rendering/RenderThemeChromiumMac.h:
3466         * rendering/RenderThemeChromiumMac.mm:
3467         (WebCore::RenderThemeChromiumMac::paintTextField):
3468
3469 2012-01-09  Pablo Flouret  <pablof@motorola.com>
3470
3471         Compilation error on build-webkit --debug --no-3d-canvas on mac.
3472         https://bugs.webkit.org/show_bug.cgi?id=75878
3473
3474         Reviewed by Alexey Proskuryakov.
3475