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