b53e2e8060c6600bf15e598fbe9e583ee88a2b26
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-07  Dean Jackson  <dino@apple.com>
2
3         Followup review suggestions from Alexey Proskuryakov on
4         https://bugs.webkit.org/show_bug.cgi?id=109215
5
6         Don't provide a charset on embedded SVG, especially
7         with incorrect syntax :)
8
9         * css/mediaControlsQuickTime.css:
10         (video::-webkit-media-controls-toggle-closed-captions-button):
11         (video::-webkit-media-controls-closed-captions-track-list li.selected):
12         (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
13
14 2013-02-07  Seulgi Kim  <seulgikim@company100.net>
15
16         [Gtk] RunLoop::run shuold run current thread's run loop.
17         https://bugs.webkit.org/show_bug.cgi?id=107887
18
19         Reviewed by Martin Robinson.
20
21         Currently, RunLoop in Gtk can use just main thread's event loop.
22         But the other ports are implemented to use RunLoop in sub threads.
23
24         This patch makes RunLoop constructor create new context, not use default
25         context.
26         But in the main thread still uses default context to use main event loop
27         since there is some codes using glib directly (e.g. in
28         LayerTreeHostGtk::scheduleLayerFlush).
29
30         No new tests. There is no case that uses RunLoop in off the main thread
31         yet.
32
33         * platform/gtk/RunLoopGtk.cpp:
34         (WebCore::RunLoop::RunLoop):
35         (WebCore::RunLoop::run):
36
37 2013-02-07  Kentaro Hara  <haraken@chromium.org>
38
39         [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
40         https://bugs.webkit.org/show_bug.cgi?id=109186
41
42         Reviewed by Adam Barth.
43
44         V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
45
46         No tests. No change in behavior.
47
48         * bindings/scripts/CodeGeneratorV8.pm:
49         (GenerateNormalAttrGetter):
50         * bindings/scripts/test/V8/V8TestObj.cpp:
51         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
52         * bindings/v8/V8DOMWrapper.cpp:
53         * bindings/v8/V8DOMWrapper.h:
54         (V8DOMWrapper):
55         * bindings/v8/V8HiddenPropertyName.cpp:
56         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
57         (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
58         (WebCore):
59         * bindings/v8/V8HiddenPropertyName.h:
60         (V8HiddenPropertyName):
61         (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
62         * bindings/v8/custom/V8MessageChannelCustom.cpp:
63         (WebCore::V8MessageChannel::constructorCallbackCustom):
64         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
65         (WebCore::toV8Object):
66
67 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
68
69         getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
70         https://bugs.webkit.org/show_bug.cgi?id=106535
71
72         Reviewed by Ojan Vafai.
73
74         Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
75         should use the PseudoElement and it's renderer if they exist so that
76         querying the computed style while an animation is running returns
77         the intermediate values.
78
79         No new tests, updated existing tests.
80
81         * css/CSSComputedStyleDeclaration.cpp:
82         (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
83         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
84         * css/CSSComputedStyleDeclaration.h:
85         (CSSComputedStyleDeclaration):
86         * dom/Element.cpp:
87         (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
88         * dom/ElementRareData.h:
89         (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
90
91 2013-02-07  Mark Lam  <mark.lam@apple.com>
92
93         Add a comment about how the SQLTransaction state machine works.
94         https://bugs.webkit.org/show_bug.cgi?id=109243.
95
96         Rubber stamped by Anders Carlsson.
97
98         No new tests.
99
100         * Modules/webdatabase/SQLTransactionBackend.cpp:
101
102 2013-02-06  Gavin Barraclough  <barraclough@apple.com>
103
104         PluginProcess should quit immediately if idle in response to low-memory notifications
105         https://bugs.webkit.org/show_bug.cgi?id=109103
106         <rdar://problem/12679827>
107
108         Reviewed by Darin Adler.
109
110         This patch allows a process to set a custom callback for low memory warnings
111         (defaulting to the current behaviour, as implemented in releaseMemory).
112
113         MemoryPressureHandler::install is currently used for two purposes - it is
114         called when first initializing a low memory handler for a process, and also
115         used to reinstall the handler (on a delay) after the notification has occured.
116         Since reinstallation doesn't change the callback, split these behaviours out -
117         MemoryPressureHandler::initialize is added to initialization, and accepts a
118         custom callback, install in made private.
119
120         * WebCore.exp.in:
121             - Added export for releaseMemory.
122         * platform/MemoryPressureHandler.cpp:
123         (WebCore::MemoryPressureHandler::releaseMemory):
124             - Added null implementation for non-Mac builds.
125         * platform/MemoryPressureHandler.h:
126         (WebCore::MemoryPressureHandler::initialize):
127             - distinguish initialization from reinstallations, allow handler to be set.
128         (MemoryPressureHandler):
129             - Added m_lowMemoryHandler function pointer member variable.
130         * platform/mac/MemoryPressureHandlerMac.mm:
131         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
132             - Call m_lowMemoryHandler instead of releaseMemory.
133
134 2013-02-07  Kentaro Hara  <haraken@chromium.org>
135
136         [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
137         https://bugs.webkit.org/show_bug.cgi?id=109167
138
139         Reviewed by Andreas Kling.
140
141         Given that assertContextHasCorrectPrototype() is anyway empty in a release
142         build, we don't need to surround it with #ifndef NDEBUG.
143
144         No tests. No change in behavior.
145
146         * bindings/v8/DOMWrapperWorld.cpp:
147         (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
148         * bindings/v8/DOMWrapperWorld.h:
149         (DOMWrapperWorld):
150         (WebCore::DOMWrapperWorld::isolated):
151
152 2013-02-07  Alexei Svitkine  <asvitkine@chromium.org>
153
154         Chromium: Hang parsing bidi control chars on Mac OS X 10.6
155         https://bugs.webkit.org/show_bug.cgi?id=108877
156
157         This was broken a while ago by:
158             https://bugs.webkit.org/show_bug.cgi?id=83045
159
160         On 10.6, CoreText will not produce any runs covering the
161         Unicode BiDi RTL mark control char, which causes an infinite
162         loop in ComplexTextController::indexOfCurrentRun() due to no
163         run covering the character at offset 0.
164
165         This patch fixes that issue by finding the earliest run
166         explicitly via the minimum stringBegin() index instead of
167         relying on a run existing that covers offset 0.
168
169         Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
170         Chromium bug: http://crbug.com/167844
171
172         New test in the same style as the harfbuzz-buffer-overrun.html
173         test (in the same folder).
174
175         Reviewed by Eric Seidel.
176
177         Test: fast/text/international/rtl-mark.html
178
179         * platform/graphics/mac/ComplexTextController.cpp:
180         (WebCore::ComplexTextController::indexOfCurrentRun):
181
182 2013-02-07  Kentaro Hara  <haraken@chromium.org>
183
184         Implement FocusEvent constructor
185         https://bugs.webkit.org/show_bug.cgi?id=109170
186
187         Reviewed by Adam Barth.
188
189         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
190
191         FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
192         flag, which is enabled on Chromium and Safari.
193
194         Test: fast/events/constructors/focus-event-constructor.html
195
196         * dom/FocusEvent.cpp:
197         (WebCore::FocusEventInit::FocusEventInit):
198         (WebCore):
199         (WebCore::FocusEvent::FocusEvent):
200         * dom/FocusEvent.h:
201         (FocusEventInit):
202         (WebCore):
203         (WebCore::FocusEvent::create):
204         (FocusEvent):
205         * dom/FocusEvent.idl:
206         * page/DOMWindow.idl:
207
208 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
209
210         HTML parser should queue MutationRecords for its operations
211         https://bugs.webkit.org/show_bug.cgi?id=89351
212
213         Reviewed by Eric Seidel.
214
215         Generate mutation records inside the parser. This is done by using a
216         ChildListMutationScope in the ContainerNode::parser* methods and then
217         adding delivery before each <script> element would be processed by
218         the parser.
219
220         Test: fast/dom/MutationObserver/parser-mutations.html
221
222         * dom/ContainerNode.cpp:
223         (WebCore::ContainerNode::takeAllChildrenFrom):
224         (WebCore::ContainerNode::parserInsertBefore):
225         (WebCore::ContainerNode::parserRemoveChild):
226         (WebCore::ContainerNode::parserAppendChild):
227         * html/parser/HTMLScriptRunner.cpp:
228         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
229         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
230         (WebCore::HTMLScriptRunner::execute):
231         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
232         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
233         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
234         (WebCore::HTMLScriptRunner::runScript):
235
236 2013-02-07  Kentaro Hara  <haraken@chromium.org>
237
238         Fix FIXMEs in WindowFeatures.h
239         https://bugs.webkit.org/show_bug.cgi?id=109151
240
241         Reviewed by Adam Barth.
242
243         1. // FIXME: We can delete this constructor once V8 showModalDialog is
244            // changed to use DOMWindow.
245
246         This FIXME is not right. The WindowFeatures() constructor is used by
247         other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
248         So we should remove the FIXME.
249
250         2. // FIXME: We can make these functions private non-member functions
251            // once V8 showModalDialog is changed to use DOMWindow.
252
253         Given that V8 now uses DOMWindow in showModalDialog(), we can make the
254         methods private.
255
256         No tests. No change in behavior.
257
258         * page/WindowFeatures.h:
259         (WebCore):
260         (WebCore::WindowFeatures::WindowFeatures):
261         (WindowFeatures):
262
263 2013-02-07  Adam Barth  <abarth@webkit.org>
264
265         fast/parser/document-write-noscript.html fails for threaded HTML parser
266         https://bugs.webkit.org/show_bug.cgi?id=109237
267
268         Reviewed by Eric Seidel.
269
270         If there are multiple calls to document.write in an external script, we
271         need to wait for them all to complete before invalidating the
272         speculative tokens. Instead of doing this when we unwind the
273         document.write call stack, we do this when we're about to resume
274         parsing after script execution.
275
276         Test: fast/parser/document-write-basic.html
277
278         * html/parser/HTMLDocumentParser.cpp:
279         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
280         (WebCore::HTMLDocumentParser::insert):
281         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
282
283 2013-02-07  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
284
285         Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
286         https://bugs.webkit.org/show_bug.cgi?id=109217
287
288         Reviewed by Benjamin Poulain.
289
290         * css/InspectorCSSOMWrappers.cpp:
291         (WebCore::InspectorCSSOMWrappers::collect):
292
293 2013-02-07  Keishi Hattori  <keishi@webkit.org>
294
295         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
296         https://bugs.webkit.org/show_bug.cgi?id=109136
297
298         Reviewed by Kent Tamura.
299
300         Calendar picker was using the "Clear" button to calculate the window width.
301         Since it doesn't exist when the input element has a required attribute,
302         it was throwing an error. This patch fixes the width calculating logic.
303
304         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
305                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
306
307         * Resources/pagepopups/calendarPicker.css:
308         (.today-clear-area):
309         * Resources/pagepopups/calendarPicker.js:
310         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
311         the width. We don't want to use clear button because it doesn't exist
312         when a value is required.
313
314 2013-02-07  Terry Anderson  <tdanderson@chromium.org>
315
316         Non-scrollable divs and non-scrollable iframes can scroll with touch
317         https://bugs.webkit.org/show_bug.cgi?id=109087
318
319         Reviewed by Eric Seidel.
320
321         Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
322                fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
323
324         When finding a candidate for a scrollable node in
325         EventHandler::handleGestureScrollUpdate(), select the document node
326         if it is reached before any scrollable element when walking up the DOM
327         tree. Also ensure that calling RenderLayer::scrollBy() for a document
328         node does not result in scrolling if the element is not scrollable.
329
330         * page/EventHandler.cpp:
331         (WebCore::closestScrollableNodeCandidate):
332         (WebCore::EventHandler::handleGestureScrollUpdate):
333         * rendering/RenderLayer.cpp:
334         (WebCore::RenderLayer::scrollBy):
335
336 2013-02-07  Mark Lam  <mark.lam@apple.com>
337
338         Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
339         https://bugs.webkit.org/show_bug.cgi?id=109109.
340
341         Reviewed by Anders Carlsson.
342
343         Adding back the new SQLTransaction and SQLTransactionSync files.
344
345         No new tests.
346
347         * Modules/webdatabase/SQLTransaction.cpp: Added.
348         (WebCore::SQLTransaction::create):
349         (WebCore::SQLTransaction::SQLTransaction):
350         (WebCore::SQLTransaction::from):
351         * Modules/webdatabase/SQLTransaction.h: Added.
352         (SQLTransaction):
353         * Modules/webdatabase/SQLTransactionSync.cpp: Added.
354         (WebCore::SQLTransactionSync::create):
355         (WebCore::SQLTransactionSync::SQLTransactionSync):
356         (WebCore::SQLTransactionSync::from):
357         * Modules/webdatabase/SQLTransactionSync.h: Added.
358         (SQLTransactionSync):
359
360 2013-02-07  Mark Lam  <mark.lam@apple.com>
361
362         Introduce SQLTransactionBackend and SQLTransactionBackendSync.
363         https://bugs.webkit.org/show_bug.cgi?id=109109.
364
365         Reviewed by Anders Carlsson.
366
367         - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
368           and SQLTransactionBackendSync respectively.
369         - Added back SQLTransaction and SQLTransactionSync as new files, and have
370           their classes extends their respective backends. This is a stop gap
371           measure to keep things working until the front-end and back-end can be
372           properly split.
373           Note: these files will be committed in a subsequent commit to ensure
374           that the patching goes smoothly.
375         - Where needed, I made use of new SQLTransaction::from() and
376           SQLTransactionSync::from() static methods that "get" the front-end
377           transactions from the back-ends. This is also a stop gap measure to
378           keep things working until the proper refactoring is complete.
379         - Fixed up pre-existing style checker violations that are now detected
380           on code that were touched during my renaming.
381         - Added the back-end files to all the build files.
382
383         No new tests.
384
385         * CMakeLists.txt:
386         * GNUmakefile.list.am:
387         * Modules/webdatabase/Database.cpp:
388         (WebCore::Database::scheduleTransactionStep):
389         * Modules/webdatabase/Database.h:
390         (Database):
391         * Modules/webdatabase/DatabaseBackend.h:
392         (DatabaseBackend):
393         * Modules/webdatabase/DatabaseTask.cpp:
394         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
395         * Modules/webdatabase/DatabaseTask.h:
396         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
397         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
398         (DatabaseBackendAsync::DatabaseTransactionTask):
399         * Modules/webdatabase/SQLTransaction.cpp: Removed.
400         * Modules/webdatabase/SQLTransaction.h: Removed.
401         * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
402         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
403         (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
404         (WebCore::SQLTransactionBackend::executeSQL):
405         (WebCore::SQLTransactionBackend::enqueueStatement):
406         (WebCore::SQLTransactionBackend::debugStepName):
407         (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
408         (WebCore::SQLTransactionBackend::performNextStep):
409         (WebCore::SQLTransactionBackend::performPendingCallback):
410         (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
411         (WebCore::SQLTransactionBackend::acquireLock):
412         (WebCore::SQLTransactionBackend::lockAcquired):
413         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
414         (WebCore::SQLTransactionBackend::deliverTransactionCallback):
415         (WebCore::SQLTransactionBackend::scheduleToRunStatements):
416         (WebCore::SQLTransactionBackend::runStatements):
417         (WebCore::SQLTransactionBackend::getNextStatement):
418         (WebCore::SQLTransactionBackend::runCurrentStatement):
419         (WebCore::SQLTransactionBackend::handleCurrentStatementError):
420         (WebCore::SQLTransactionBackend::deliverStatementCallback):
421         (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
422         (WebCore::SQLTransactionBackend::postflightAndCommit):
423         (WebCore::SQLTransactionBackend::deliverSuccessCallback):
424         (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
425         (WebCore::SQLTransactionBackend::handleTransactionError):
426         (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
427         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
428         * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
429         (SQLTransactionBackend):
430         * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
431         (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
432         (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
433         (WebCore::SQLTransactionBackendSync::executeSQL):
434         (WebCore::SQLTransactionBackendSync::begin):
435         (WebCore::SQLTransactionBackendSync::execute):
436         (WebCore::SQLTransactionBackendSync::commit):
437         (WebCore::SQLTransactionBackendSync::rollback):
438         * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
439         (SQLTransactionBackendSync):
440         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
441         (WebCore::getDatabaseIdentifier):
442         (WebCore::SQLTransactionCoordinator::processPendingTransactions):
443         (WebCore::SQLTransactionCoordinator::acquireLock):
444         (WebCore::SQLTransactionCoordinator::releaseLock):
445         (WebCore::SQLTransactionCoordinator::shutdown):
446         * Modules/webdatabase/SQLTransactionCoordinator.h:
447         (SQLTransactionCoordinator):
448         (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
449         (CoordinationInfo):
450         * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
451         * Modules/webdatabase/SQLTransactionSync.h: Removed.
452         * Target.pri:
453         * WebCore.gypi:
454         * WebCore.vcproj/WebCore.vcproj:
455         * WebCore.vcxproj/WebCore.vcxproj:
456         * WebCore.vcxproj/WebCore.vcxproj.filters:
457         * WebCore.xcodeproj/project.pbxproj:
458
459 2013-02-07  Dean Jackson  <dino@apple.com>
460
461         Use new speech bubble artwork for captions menu button
462         https://bugs.webkit.org/show_bug.cgi?id=109215
463
464         Reviewed by Eric Carlson.
465
466         Rather than call into RenderTheme to display this button, embed artwork
467         into the CSS. This means we can remove some uncalled methods in
468         RenderTheme.
469
470         * css/mediaControlsQuickTime.css:
471         (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
472         * rendering/RenderTheme.cpp:
473         (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
474         * rendering/RenderTheme.h: Remove unused function.
475         * rendering/RenderThemeMac.h: Ditto.
476         * rendering/RenderThemeMac.mm: Ditto.
477
478 2013-02-07  Michelangelo De Simone  <michelangelo@webkit.org>
479
480         [CSS Shaders] Add the last blending step
481         https://bugs.webkit.org/show_bug.cgi?id=104012
482
483         The resulting blended color in mix() is now weighted according to
484         the original element's backdrop alpha value.
485
486         Reviewed by Dean Jackson.
487
488         Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
489
490         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
491         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
492
493 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
494
495         Fix two exports of WebCore symbols on iOS
496         https://bugs.webkit.org/show_bug.cgi?id=109238
497
498         Reviewed by David Kilzer.
499
500         * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
501         wkCGContextDrawsWithCorrectShadowOffsets on iOS.
502
503 2013-02-07  Hans Muller  <hmuller@adobe.com>
504
505         [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
506         https://bugs.webkit.org/show_bug.cgi?id=107566
507
508         Reviewed by David Hyatt.
509
510         Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
511         creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
512         line. In other words, don't bother creating offset edges that can't define the polygon's
513         first fit location.
514
515         Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
516
517         * rendering/ExclusionPolygon.cpp:
518         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
519
520 2013-02-07  Jer Noble  <jer.noble@apple.com>
521
522         Improve logging of MediaPlayerPrivateAVFoundation Notifications.
523         https://bugs.webkit.org/show_bug.cgi?id=109223
524
525         Reviewed by Eric Carlson.
526
527         Convert the existing Notification enum to an expandable macro. Then add a
528         Logging-only function which stringifies the enums.
529
530         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
531         (WebCore):
532         (WebCore::notificationName):
533         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
534         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
535         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
536
537 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
538
539         [GTK] Cleanup command-line defines
540         https://bugs.webkit.org/show_bug.cgi?id=109213
541
542         Reviewed by Xan Lopez.
543
544         * GNUmakefile.am: Remove references to flags that are now handled
545         via autotoolsconfig.h.
546
547 2013-02-07  Tom Sepez  <tsepez@chromium.org>
548
549         [V8] Binding Integrity crash in V8MediaStream::createWrapper
550         https://bugs.webkit.org/show_bug.cgi?id=109211
551
552         Reviewed by Adam Barth.
553
554         Patch suppresses a chrome crasher.
555
556         * Modules/mediastream/MediaStream.idl:
557
558 2013-02-07  Eric Carlson  <eric.carlson@apple.com>
559
560         [Mac] decrease in-band caption advance notice interval
561         https://bugs.webkit.org/show_bug.cgi?id=109190
562
563         Reviewed by Simon Fraser.
564
565         No new tests, no observable change in behavior.
566
567         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
568         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
569
570 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
571
572         [GTK][AC] Clutter required version up to 1.12
573         https://bugs.webkit.org/show_bug.cgi?id=109037
574
575         Reviewed by Martin Robinson.
576
577         Replace deprecated clutter apis with new ones.
578
579         No new tests, since this patch is minor refactoring.
580
581         * platform/graphics/clutter/GraphicsLayerActor.cpp:
582         (graphicsLayerActorSetAnchorPoint):
583         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
584         (WebCore::idleDestroy):
585         (WebCore::GraphicsLayerClutter::updateSublayerList):
586
587 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
588
589         Move pauseAnimation/pauseTransition from TestRunner to Internals
590         https://bugs.webkit.org/show_bug.cgi?id=109107
591
592         Reviewed by Anders Carlsson.
593
594         Tests: animations/animation-internals-api-multiple-keyframes.html
595                animations/animation-internals-api.html
596
597         * testing/Internals.cpp:
598         (WebCore::Internals::pauseAnimationAtTimeOnElement):
599         (WebCore):
600         (WebCore::Internals::pauseTransitionAtTimeOnElement):
601         * testing/Internals.h:
602         (Internals):
603         * testing/Internals.idl:
604
605 2013-02-07  Gavin Peters  <gavinp@chromium.org>
606
607         Unreviewed, rolling out r142155.
608         http://trac.webkit.org/changeset/142155
609         https://bugs.webkit.org/show_bug.cgi?id=82888
610
611         cr/win build broke.
612
613         * bindings/js/JSClipboardCustom.cpp:
614         (WebCore::JSClipboard::types):
615         * bindings/v8/custom/V8ClipboardCustom.cpp:
616         (WebCore::V8Clipboard::typesAccessorGetter):
617         * dom/Clipboard.h:
618         (Clipboard):
619         * platform/blackberry/ClipboardBlackBerry.cpp:
620         (WebCore::ClipboardBlackBerry::types):
621         * platform/blackberry/ClipboardBlackBerry.h:
622         (ClipboardBlackBerry):
623         * platform/chromium/ChromiumDataObject.cpp:
624         (WebCore::ChromiumDataObject::types):
625         * platform/chromium/ChromiumDataObject.h:
626         (ChromiumDataObject):
627         * platform/chromium/ClipboardChromium.cpp:
628         (WebCore::ClipboardChromium::types):
629         * platform/chromium/ClipboardChromium.h:
630         (ClipboardChromium):
631         * platform/efl/ClipboardEfl.cpp:
632         (WebCore::ClipboardEfl::types):
633         * platform/efl/ClipboardEfl.h:
634         (ClipboardEfl):
635         * platform/gtk/ClipboardGtk.cpp:
636         (WebCore::ClipboardGtk::types):
637         * platform/gtk/ClipboardGtk.h:
638         (ClipboardGtk):
639         * platform/mac/ClipboardMac.h:
640         (ClipboardMac):
641         * platform/mac/ClipboardMac.mm:
642         (WebCore::addHTMLClipboardTypesForCocoaType):
643         (WebCore::ClipboardMac::types):
644         * platform/qt/ClipboardQt.cpp:
645         (WebCore::ClipboardQt::types):
646         * platform/qt/ClipboardQt.h:
647         (ClipboardQt):
648         * platform/win/ClipboardWin.cpp:
649         (WebCore::addMimeTypesForFormat):
650         (WebCore::ClipboardWin::types):
651         * platform/win/ClipboardWin.h:
652         (ClipboardWin):
653
654 2013-02-07  Rik Cabanier  <cabanier@adobe.com>
655
656         Add support for parsing of -webkit-background-blend-mode
657         https://bugs.webkit.org/show_bug.cgi?id=108547
658
659         Reviewed by David Hyatt.
660
661         Added parsing and general CSS handling of -webkit-background-blend-mode per 
662         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
663
664         Tests: css3/compositing/background-blend-mode-property-parsing.html
665                css3/compositing/background-blend-mode-property.html
666
667         * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
668         (WebCore):
669         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
670         * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
671         (WebCore::CSSParser::parseValue):
672         (WebCore::CSSParser::parseFillProperty):
673         * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
674         (WebCore::CSSProperty::isInheritedProperty):
675         * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
676         * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
677         (WebCore::CSSToStyleMap::mapFillBlendMode):
678         (WebCore):
679         * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
680         (CSSToStyleMap):
681         * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
682         (WebCore::StyleBuilder::StyleBuilder):
683         * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
684         (WebCore::FillLayer::FillLayer):
685         (WebCore::FillLayer::operator=):
686         (WebCore::FillLayer::operator==):
687         (WebCore::FillLayer::fillUnsetProperties):
688         * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
689         (WebCore::FillLayer::blendMode):
690         (WebCore::FillLayer::isBlendModeSet):
691         (WebCore::FillLayer::setBlendMode):
692         (WebCore::FillLayer::clearBlendMode):
693         (WebCore::FillLayer::initialFillBlendMode):
694         (FillLayer):
695
696 2013-02-07  Gavin Peters  <gavinp@chromium.org>
697
698         Unreviewed, rolling out r142142.
699         http://trac.webkit.org/changeset/142142
700         https://bugs.webkit.org/show_bug.cgi?id=109154
701
702         Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
703
704
705         * inspector/front-end/DefaultTextEditor.js:
706         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
707
708 2013-02-07  Gavin Peters  <gavinp@chromium.org>
709
710         Unreviewed, rolling out r142081.
711         http://trac.webkit.org/changeset/142081
712         https://bugs.webkit.org/show_bug.cgi?id=109146
713
714         The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
715
716         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
717
718         * dom/WebCoreMemoryInstrumentation.cpp:
719         (WebCore):
720         * inspector/front-end/NativeMemorySnapshotView.js:
721         (WebInspector.MemoryBlockViewProperties._initialize):
722         * platform/PlatformMemoryInstrumentation.cpp:
723         (WebCore):
724
725 2013-02-07  Bear Travis  <betravis@adobe.com>
726
727         [CSS Exclusions] shape-inside does not properly handle padding or border
728         https://bugs.webkit.org/show_bug.cgi?id=102715
729
730         Reviewed by David Hyatt.
731
732         This patch positions the exclusion shape based on the value of the css box sizing
733         property. Geometry calculations happen in the shape coordinate space. For layout,
734         these coordinates are translated to the border-box coordinate system by adding
735         the appropriate offsets.
736
737         Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
738
739         * rendering/ExclusionShapeInfo.cpp:
740         (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
741         geometry code.
742         * rendering/ExclusionShapeInfo.h:
743         (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
744         shape dimensions when checking to see if the shape geometry must be recalculated.
745         (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
746         (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
747         (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
748         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
749         (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
750         top of the border box to the logical top of the shape.
751         (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
752         left of the border box to the logical left of the shape.
753         (ExclusionShapeInfo):
754         * rendering/ExclusionShapeInsideInfo.cpp:
755         (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
756         be in shape coordinates.
757         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
758         * rendering/ExclusionShapeInsideInfo.h:
759         (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
760         coordinate system (border box) to test for whether a line overlaps a shape.
761         (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
762         from the border box.
763         (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
764
765 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
766
767         Upstream iOS isWebThread() and isUIThread()
768         https://bugs.webkit.org/show_bug.cgi?id=109130
769
770         Reviewed by Sam Weinig.
771
772         * bindings/objc/WebScriptObject.mm:
773         (+[WebScriptObject initialize]):
774         * platform/mac/SharedBufferMac.mm:
775         (+[WebCoreSharedBufferData initialize]):
776         #ifdef out the legacy initialization as it is not correct when
777         using a WebThread.
778
779 2013-02-07  Vivek Galatage  <vivek.vg@samsung.com>
780
781         Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
782         https://bugs.webkit.org/show_bug.cgi?id=107937
783
784         Reviewed by Yury Semikhatsky.
785
786         The DOM storage agent will fire an event to the frontend based on the action
787         performed on the storage. Based on this action, the front-end will just add/update/remove
788         the entry in the view. This enhances the front-end responsiveness as the round trip
789         for fetching the storage entries has been eliminated.
790
791         Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
792
793         * inspector/Inspector.json:
794         * inspector/InspectorDOMStorageAgent.cpp:
795         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
796         * inspector/front-end/DOMStorage.js:
797         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
798         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
799         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
800         (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
801         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
802         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
803         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
804         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
805         * inspector/front-end/DOMStorageItemsView.js:
806         (WebInspector.DOMStorageItemsView):
807         (WebInspector.DOMStorageItemsView.prototype.wasShown):
808         (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
809         (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
810         (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
811         (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
812         (WebInspector.DOMStorageItemsView.prototype._update):
813         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
814         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
815         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
816         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
817         * inspector/front-end/ResourcesPanel.js:
818         (WebInspector.ResourcesPanel):
819         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
820         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
821
822 2013-02-07  Dan Carney  <dcarney@google.com>
823
824         [v8] move persistent::new and ::dispose into same class
825         https://bugs.webkit.org/show_bug.cgi?id=109065
826
827         Reviewed by Adam Barth.
828
829         No new tests. No change in functionality.
830
831         * bindings/scripts/CodeGeneratorV8.pm:
832         (GenerateSingleConstructorCallback):
833         (GenerateEventConstructorCallback):
834         (GenerateNamedConstructorCallback):
835         (GenerateToV8Converters):
836         * bindings/scripts/test/V8/V8Float64Array.cpp:
837         (WebCore::V8Float64Array::createWrapper):
838         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
839         (WebCore::V8TestActiveDOMObject::createWrapper):
840         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
841         (WebCore::V8TestCustomNamedGetter::createWrapper):
842         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
843         (WebCore::V8TestEventConstructor::constructorCallback):
844         (WebCore::V8TestEventConstructor::createWrapper):
845         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
846         (WebCore::V8TestEventTarget::createWrapper):
847         * bindings/scripts/test/V8/V8TestException.cpp:
848         (WebCore::V8TestException::createWrapper):
849         * bindings/scripts/test/V8/V8TestInterface.cpp:
850         (WebCore::V8TestInterface::constructorCallback):
851         (WebCore::V8TestInterface::createWrapper):
852         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
853         (WebCore::V8TestMediaQueryListListener::createWrapper):
854         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
855         (WebCore::V8TestNamedConstructorConstructorCallback):
856         (WebCore::V8TestNamedConstructor::createWrapper):
857         * bindings/scripts/test/V8/V8TestNode.cpp:
858         (WebCore::V8TestNode::constructorCallback):
859         (WebCore::V8TestNode::createWrapper):
860         * bindings/scripts/test/V8/V8TestObj.cpp:
861         (WebCore::V8TestObj::constructorCallback):
862         (WebCore::V8TestObj::createWrapper):
863         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
864         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
865         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
866         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
867         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
868         (WebCore::V8TestOverloadedConstructors::createWrapper):
869         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
870         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
871         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
872         * bindings/v8/DOMDataStore.cpp:
873         * bindings/v8/DOMDataStore.h:
874         (WebCore::DOMDataStore::setWrapper):
875         (DOMDataStore):
876         (WebCore::DOMDataStore::set):
877         (WebCore::DOMDataStore::setWrapperInObject):
878         * bindings/v8/DOMWrapperMap.h:
879         (WebCore::DOMWrapperMap::get):
880         (WebCore::DOMWrapperMap::set):
881         (WebCore::DOMWrapperMap::removeAndDispose):
882         (WebCore::DOMWrapperMap::defaultWeakCallback):
883         * bindings/v8/ScriptWrappable.h:
884         (WebCore::ScriptWrappable::wrapper):
885         (WebCore::ScriptWrappable::setWrapper):
886         (WebCore::ScriptWrappable::reportMemoryUsage):
887         (ScriptWrappable):
888         (WebCore::ScriptWrappable::disposeWrapper):
889         (WebCore::ScriptWrappable::weakCallback):
890         * bindings/v8/V8DOMWindowShell.cpp:
891         (WebCore::V8DOMWindowShell::installDOMWindow):
892         * bindings/v8/V8DOMWrapper.h:
893         (V8DOMWrapper):
894         (WebCore::V8DOMWrapper::associateObjectWithWrapper):
895         * bindings/v8/V8NPObject.cpp:
896         (WebCore::weakNPObjectCallback):
897         (WebCore::createV8ObjectForNPObject):
898         (WebCore::forgetV8ObjectForNPObject):
899         * bindings/v8/WorkerScriptController.cpp:
900         (WebCore::WorkerScriptController::initializeContextIfNeeded):
901         * bindings/v8/WrapperTypeInfo.h:
902         (WebCore):
903         (WrapperConfiguration):
904         (WebCore::WrapperConfiguration::configureWrapper):
905         (WebCore::buildWrapperConfiguration):
906         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
907         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
908         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
909         (WebCore::wrapArrayBufferView):
910         (WebCore::constructWebGLArray):
911         * bindings/v8/custom/V8AudioContextCustom.cpp:
912         (WebCore::V8AudioContext::constructorCallbackCustom):
913         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
914         (WebCore::V8DOMFormData::constructorCallbackCustom):
915         * bindings/v8/custom/V8DataViewCustom.cpp:
916         (WebCore::V8DataView::constructorCallbackCustom):
917         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
918         (WebCore::v8HTMLImageElementConstructorCallback):
919         * bindings/v8/custom/V8IntentCustom.cpp:
920         (WebCore::V8Intent::constructorCallbackCustom):
921         * bindings/v8/custom/V8MessageChannelCustom.cpp:
922         (WebCore::V8MessageChannel::constructorCallbackCustom):
923         * bindings/v8/custom/V8MutationObserverCustom.cpp:
924         (WebCore::V8MutationObserver::constructorCallbackCustom):
925         * bindings/v8/custom/V8WebKitPointCustom.cpp:
926         (WebCore::V8WebKitPoint::constructorCallbackCustom):
927         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
928         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
929
930 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
931
932         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
933         https://bugs.webkit.org/show_bug.cgi?id=109198
934
935         Reviewed by Martin Robinson.
936
937         * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
938
939 2013-02-07   Vineet Chaudhary  <rgf748@motorola.com>
940
941         Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
942         https://bugs.webkit.org/show_bug.cgi?id=82888
943
944         Reviewed by Kentaro Hara.
945
946         As part of removing custom bindings of types Array Clipboard::types() needs to return
947         Vector<String> than ListHashSet<String>
948
949         No new tests. Existing test should pass with this change as no behavoural changes.
950
951         * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
952         (WebCore::JSClipboard::types):
953         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
954         (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
955         * dom/Clipboard.h: Ditto.
956         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
957         (WebCore::ClipboardBlackBerry::types):
958         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
959         * platform/chromium/ChromiumDataObject.cpp: Ditto.
960         (WebCore::ChromiumDataObject::types):
961         * platform/chromium/ChromiumDataObject.h: Ditto.
962         * platform/chromium/ClipboardChromium.cpp: Ditto.
963         (WebCore::ClipboardChromium::types):
964         * platform/chromium/ClipboardChromium.h: Ditto.
965         * platform/efl/ClipboardEfl.cpp: Ditto.
966         (WebCore::ClipboardEfl::types):
967         * platform/efl/ClipboardEfl.h: Ditto.
968         * platform/gtk/ClipboardGtk.cpp: Ditto.
969         (WebCore::ClipboardGtk::types):
970         * platform/gtk/ClipboardGtk.h: Ditto.
971         * platform/mac/ClipboardMac.h: Ditto.
972         * platform/mac/ClipboardMac.mm: Ditto.
973         (WebCore::addHTMLClipboardTypesForCocoaType):
974         (WebCore::ClipboardMac::types):
975         * platform/qt/ClipboardQt.cpp: Ditto.
976         (WebCore::ClipboardQt::types):
977         * platform/qt/ClipboardQt.h: Ditto.
978         * platform/win/ClipboardWin.cpp: Ditto.
979         (WebCore::addMimeTypesForFormat):
980         (WebCore::ClipboardWin::types):
981         * platform/win/ClipboardWin.h: Ditto.
982
983 2013-02-07  Kentaro Hara  <haraken@chromium.org>
984
985         [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
986         https://bugs.webkit.org/show_bug.cgi?id=109123
987
988         Reviewed by Adam Barth.
989
990         Currently StringCache::m_stringCache is implemented as
991         HashMap<StringImpl*, v8::String*>. Given that v8::String*
992         can change when a GC is triggered, it is dangerous to store a raw pointer.
993         We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
994
995         This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
996         although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
997
998         No tests. This change highly depends on GC behavior and thus it is
999         difficult to make a reliable test case.
1000
1001         * bindings/v8/V8ValueCache.cpp:
1002         (WebCore::makeExternalString):
1003         * bindings/v8/V8ValueCache.h:
1004         (StringCache):
1005
1006 2013-01-27  Robert Hogan  <robert@webkit.org>
1007
1008         CSS 2.1 failure: floats-149 fails
1009         https://bugs.webkit.org/show_bug.cgi?id=95772
1010
1011         Reviewed by David Hyatt.
1012
1013         Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
1014
1015         Tests: fast/inline/inline-with-empty-inline-children.html
1016                css2.1/20110323/floats-149.htm
1017
1018         * rendering/InlineIterator.h:
1019         (WebCore::isEmptyInline):
1020         * rendering/RenderBlockLineLayout.cpp:
1021         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
1022         objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping 
1023         through leading whitespace. 
1024
1025 2013-02-07  peavo@outlook.com  <peavo@outlook.com>
1026
1027         [WinCairo] Compile fix after r141981
1028         https://bugs.webkit.org/show_bug.cgi?id=109184
1029
1030         Reviewed by Brent Fulgham.
1031
1032         * platform/network/curl/ResourceHandleCurl.cpp:
1033         (WebCore::ResourceHandle::loadResourceSynchronously):
1034
1035 2013-02-07  Otto Derek Cheung  <otcheung@rim.com>
1036
1037         [BlackBerry] Cookie database isn't loaded into memory in some rare cases
1038         https://bugs.webkit.org/show_bug.cgi?id=109202
1039         PR 286189
1040
1041         Reviewed by Yong Li.
1042         Internally Reviewed by Konrad Piascik.
1043
1044         If a get/setCookie call is made before the database is loaded, or if there's some
1045         kind of error that causes the loading of the database to fail in the constructor
1046         of CookieManager, the browser will get into a state where it seems like cookie is
1047         permanenty disabled.
1048
1049         Instead of logging the errors and redispatching the setCookie, we should do a force sync
1050         to load the cookie database before continuing.
1051
1052         Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
1053         to make sure the code path is correct:
1054         1) Make sure original implementation is retained - open and loading done in the constructor
1055         2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
1056         an initial lag because we are blocking WKT while performing SQLite options).
1057         3) Removed loading in constructor, the new calls loaded the db just fine.
1058
1059         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
1060         (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
1061         (WebCore):
1062         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
1063         (CookieDatabaseBackingStore):
1064         * platform/blackberry/CookieManager.cpp:
1065         (WebCore::CookieManager::setCookies):
1066         (WebCore::CookieManager::getCookie):
1067         (WebCore::CookieManager::generateHtmlFragmentForCookies):
1068         (WebCore::CookieManager::getRawCookies):
1069
1070 2013-02-07  Max Vujovic  <mvujovic@adobe.com>
1071
1072         [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
1073         https://bugs.webkit.org/show_bug.cgi?id=109082
1074
1075         Reviewed by Dean Jackson.
1076
1077         Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
1078
1079         Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
1080                css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
1081
1082         * page/DOMWindow.idl:
1083
1084 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
1085
1086         Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
1087         https://bugs.webkit.org/show_bug.cgi?id=109201
1088
1089         Reviewed by Pavel Feldman.
1090
1091         * inspector/front-end/NetworkUISourceCodeProvider.js:
1092         (WebInspector.NetworkUISourceCodeProvider):
1093         * inspector/front-end/inspector.js:
1094
1095 2013-02-07  Jessie Berlin  <jberlin@apple.com>
1096
1097         REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
1098         by key
1099         https://bugs.webkit.org/show_bug.cgi?id=109196
1100
1101         Reviewed by Eric Carlson.
1102
1103         * English.lproj/Localizable.strings:
1104         Updated for the changes.
1105         * platform/LocalizedStrings.cpp:
1106         (WebCore::unknownFileSizeText):
1107         Add a key.
1108         (WebCore::textTrackNoLabelText):
1109         Ditto.
1110
1111 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
1112
1113         Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
1114         https://bugs.webkit.org/show_bug.cgi?id=109197
1115
1116         Reviewed by Pavel Feldman.
1117
1118         Javascript syntax errors in console are now linkified so that they show sources panel by default.
1119
1120         * inspector/front-end/ResourceUtils.js:
1121         (WebInspector.linkifyResourceAsNode):
1122
1123 2013-02-07  Eberhard Graether  <egraether@google.com>
1124
1125         Web Inspector: Add settings checkbox for composited layer borders
1126         https://bugs.webkit.org/show_bug.cgi?id=109096
1127
1128         Reviewed by Pavel Feldman.
1129
1130         This change adds a checkbox to show composited layer borders to the WebInspector's
1131         rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
1132         is visible if InspectorClient::canShowDebugBorders() returns true.
1133
1134         No new tests.
1135
1136         * English.lproj/localizedStrings.js:
1137         * inspector/Inspector.json:
1138         * inspector/InspectorClient.h:
1139         (WebCore::InspectorClient::canShowDebugBorders):
1140         (WebCore::InspectorClient::setShowDebugBorders):
1141         (InspectorClient):
1142         * inspector/InspectorPageAgent.cpp:
1143         (PageAgentState):
1144         (WebCore::InspectorPageAgent::restore):
1145         (WebCore::InspectorPageAgent::disable):
1146         (WebCore::InspectorPageAgent::canShowDebugBorders):
1147         (WebCore):
1148         (WebCore::InspectorPageAgent::setShowDebugBorders):
1149         * inspector/InspectorPageAgent.h:
1150         * inspector/front-end/Settings.js:
1151         * inspector/front-end/SettingsScreen.js:
1152         (WebInspector.GenericSettingsTab):
1153         (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
1154         * inspector/front-end/inspector.js:
1155         (WebInspector.doLoadedDone):
1156
1157 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1158
1159         Unreviewed, rolling out r142141.
1160         http://trac.webkit.org/changeset/142141
1161         https://bugs.webkit.org/show_bug.cgi?id=108990
1162
1163         Reland r142112, will update Chromium expectations and create a
1164         Chromium bug instead for the crash.
1165
1166         * CMakeLists.txt:
1167         * Target.pri:
1168         * WebCore.pri:
1169         * page/scrolling/ScrollingCoordinator.cpp:
1170         (WebCore::ScrollingCoordinator::create):
1171         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
1172         (WebCore):
1173         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
1174         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
1175         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
1176         (WebCore):
1177         (ScrollingCoordinatorCoordinatedGraphics):
1178         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1179         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
1180         (WebCore):
1181         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
1182         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1183         (CoordinatedGraphicsLayerClient):
1184         (CoordinatedGraphicsLayer):
1185
1186 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
1187
1188         Web Inspector: home button behaviour is wrong in DTE
1189         https://bugs.webkit.org/show_bug.cgi?id=109154
1190
1191         Reviewed by Vsevolod Vlasov.
1192
1193         Handle home key shortcut explicitly in TextEditorMainPanel.
1194
1195         New test: inspector/editor/text-editor-home-button.html
1196
1197         * inspector/front-end/DefaultTextEditor.js:
1198         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
1199         (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
1200
1201 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1202
1203         Unreviewed, rolling out r142112.
1204         http://trac.webkit.org/changeset/142112
1205         https://bugs.webkit.org/show_bug.cgi?id=108990
1206
1207         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
1208
1209         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
1210
1211         * CMakeLists.txt:
1212         * Target.pri:
1213         * WebCore.pri:
1214         * page/scrolling/ScrollingCoordinator.cpp:
1215         (WebCore::ScrollingCoordinator::create):
1216         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
1217         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
1218         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1219         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
1220         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1221         (CoordinatedGraphicsLayerClient):
1222         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
1223
1224 2013-02-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1225
1226         Scrollbars misplaced with accelerated compositing for overflow scroll
1227         https://bugs.webkit.org/show_bug.cgi?id=108625
1228
1229         Reviewed by Simon Fraser.
1230
1231         Scrollbars require their own layer if overflow scroll is composited,
1232         otherwise the scrollbars would be rendered on the content layer and
1233         not fixed to the viewport.
1234
1235         * rendering/RenderLayerBacking.cpp:
1236         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
1237         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
1238         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
1239
1240 2013-02-07  Mike West  <mkwst@chromium.org>
1241
1242         Don't ASSERT things about uninitialized variables.
1243         https://bugs.webkit.org/show_bug.cgi?id=109187
1244
1245         Reviewed by Jochen Eisinger.
1246
1247         Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
1248         after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
1249
1250         * editing/markup.cpp:
1251         (WebCore::removeElementPreservingChildren):
1252
1253 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
1254
1255         Web Inspector: [Regression] breakpoint condition not editable
1256         https://bugs.webkit.org/show_bug.cgi?id=109183
1257
1258         Reviewed by Vsevolod Vlasov.
1259
1260         Improve TextEditorMainPanel.selection() method to return null if the
1261         selection is set inside of decoration element.
1262
1263         No new tests.
1264
1265         * inspector/front-end/DOMExtension.js:
1266         (Node.prototype.enclosingNodeOrSelfWithClass): Improve to add iteration boundary.
1267         * inspector/front-end/DefaultTextEditor.js:
1268         (WebInspector.TextEditorMainPanel.prototype.selection):
1269
1270 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1271
1272         [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
1273         https://bugs.webkit.org/show_bug.cgi?id=109185
1274
1275         Reviewed by Kenneth Rohde Christiansen.
1276
1277         This patch is disabling paints clipping logic added at r142045 for the case 
1278         when the view should render the entire contents (case of using tiled backing store).
1279
1280         No new tests, covered by plenty of existing manual tests that allow scrolling
1281         (for example fixed-position.html).
1282
1283         * platform/ScrollView.cpp:
1284         (WebCore::ScrollView::paint):
1285
1286 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1287
1288         Web Inspector: Show elements and sources sidebar panes in a tabbed pane when they are below the main pane
1289         https://bugs.webkit.org/show_bug.cgi?id=107552
1290
1291         Reviewed by Pavel Feldman.
1292
1293         Removed the aspect ratio detection logic and implemented explicit user action "Split Horizontally" available
1294         in Elements and Sources panels. When split horizontally the sidebar panes are organized into a tabbed pane.
1295         This user action is behind an experimental flag.
1296
1297         No new tests.
1298
1299         * inspector/front-end/ContextMenu.js:
1300         (WebInspector.ContextMenu.prototype.show):
1301         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1302         (WebInspector.DOMBreakpointsSidebarPane.prototype.createProxy):
1303         (WebInspector.DOMBreakpointsSidebarPane.prototype.onContentReady):
1304         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
1305         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expanded):
1306         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expand):
1307         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.collapse):
1308         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.onContentReady):
1309         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.wasShown):
1310         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
1311         * inspector/front-end/ElementsPanel.js:
1312         (WebInspector.ElementsPanel):
1313         (WebInspector.ElementsPanel.prototype._populateContextMenu):
1314         * inspector/front-end/ScriptsPanel.js:
1315         (WebInspector.ScriptsPanel.prototype._clearInterface):
1316         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
1317         (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
1318         * inspector/front-end/Settings.js:
1319         (WebInspector.ExperimentsSettings):
1320         * inspector/front-end/SidebarPane.js:
1321         (WebInspector.SidebarPane):
1322         (WebInspector.SidebarPane.prototype.prepareContent):
1323         (WebInspector.SidebarPane.prototype.expanded):
1324         (WebInspector.SidebarPane.prototype.expand):
1325         (WebInspector.SidebarPane.prototype.collapse):
1326         (WebInspector.SidebarPane.prototype.onContentReady):
1327         (WebInspector.SidebarPane.prototype._setExpandCallback):
1328         (WebInspector.SidebarPaneStack.prototype.addPane):
1329         (WebInspector.SidebarPaneStack.prototype.activePaneId):
1330         (WebInspector.SidebarPaneStack.prototype.setActivePaneId):
1331         (WebInspector.SidebarPaneStack.prototype._setExpanded):
1332         (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
1333         (WebInspector.SidebarPaneStack.prototype._collapsePane):
1334         (WebInspector.SidebarTabbedPane):
1335         (WebInspector.SidebarTabbedPane.prototype.addPane):
1336         (WebInspector.SidebarTabbedPane.prototype.activePaneId):
1337         (WebInspector.SidebarTabbedPane.prototype.setActivePaneId):
1338         (WebInspector.SidebarPaneGroup):
1339         (WebInspector.SidebarPaneGroup.prototype.setStacked):
1340         (WebInspector.SidebarPaneGroup.prototype.addPane):
1341         (WebInspector.SidebarPaneGroup.prototype.attachToPanel):
1342         (WebInspector.SidebarPaneGroup.prototype.populateContextMenu.toggleSplitDirection):
1343         (WebInspector.SidebarPaneGroup.prototype.get _contextMenuEventFired):
1344         (WebInspector.SidebarPaneGroup.prototype._onSplitDirectionSettingChanged):
1345         * inspector/front-end/SidebarView.js:
1346         (WebInspector.SidebarView):
1347         (WebInspector.SidebarView.prototype._updateSidebarElementStyle):
1348         (WebInspector.SidebarView.prototype.setVertical):
1349         (WebInspector.SidebarView.prototype.onResize):
1350         * inspector/front-end/StylesSidebarPane.js:
1351         (WebInspector.ComputedStyleSidebarPane.prototype.wasShown):
1352         (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
1353         * inspector/front-end/inspector.css:
1354         (.sidebar-pane .section .properties, .event-bar .event-properties):
1355         (.pane-title):
1356         (.sidebar-pane-toolbar):
1357         (.sidebar-pane-toolbar > *):
1358         (.sidebar-pane-toolbar > select):
1359         (.sidebar-pane-toolbar > select:hover):
1360         (.sidebar-pane-toolbar > select:active):
1361         (.sidebar-pane-toolbar > select.select-settings):
1362         (.sidebar-pane-toolbar > select.select-filter):
1363         (.sidebar-pane-toolbar > select > option, .sidebar-pane-toolbar > select > hr):
1364         (.sidebar-pane-toolbar > .pane-title-button):
1365         (.sidebar-pane-toolbar > .pane-title-button:hover):
1366         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
1367         (.sidebar-pane-toolbar > .pane-title-button.add):
1368         (.sidebar-pane-toolbar > .pane-title-button.element-state):
1369         (.sidebar-pane-toolbar > .pane-title-button.refresh):
1370         (.sidebar-pane):
1371         (.sidebar-pane > .body):
1372         (.sidebar-pane > .body .info):
1373         (.sidebar-pane > .body .placard + .info):
1374         (.sidebar-pane.visible > .body):
1375         (.sidebar-pane > .body .breakpoint-condition):
1376         (.sidebar-pane.visible:nth-last-of-type(1)):
1377         (.sidebar-pane-subtitle):
1378         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
1379         (.sidebar-pane .breakpoint-hit):
1380
1381 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1382
1383         Unreviewed, rolling out r142111.
1384         http://trac.webkit.org/changeset/142111
1385         https://bugs.webkit.org/show_bug.cgi?id=108055
1386
1387         win7 bot didn't display Arabic, see http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=platform%2Fchromium%2Ffast%2Fforms%2Fcalendar-picker%2Fcalendar-picker-appearance-required-ar.html
1388
1389         * Resources/pagepopups/calendarPicker.css:
1390         (.today-clear-area .today-button):
1391         * Resources/pagepopups/calendarPicker.js:
1392         (CalendarPicker.prototype.fixWindowSize):
1393
1394 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
1395
1396         Web Inspector: [Regression] Map.size() returns negative values.
1397         https://bugs.webkit.org/show_bug.cgi?id=109174
1398
1399         Reviewed by Yury Semikhatsky.
1400
1401         * inspector/front-end/utilities.js:
1402
1403 2013-02-07  Pavel Feldman  <pfeldman@chromium.org>
1404
1405         Web Inspector: break details are only rendered upon first debugger pause.
1406         https://bugs.webkit.org/show_bug.cgi?id=109193
1407
1408         Reviewed by Vsevolod Vlasov.
1409
1410         * inspector/front-end/CallStackSidebarPane.js:
1411         (WebInspector.CallStackSidebarPane.prototype.update):
1412
1413 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1414
1415         Unreviewed, rolling out r142118.
1416         http://trac.webkit.org/changeset/142118
1417         https://bugs.webkit.org/show_bug.cgi?id=109044
1418
1419         Broke SVG! Oh noes!
1420
1421         * Modules/indexeddb/IDBCursor.cpp:
1422         (WebCore::IDBCursor::direction):
1423         * Modules/indexeddb/IDBObjectStore.cpp:
1424         (WebCore):
1425         * Modules/indexeddb/IDBTransaction.cpp:
1426         (WebCore::IDBTransaction::mode):
1427         * dom/ContainerNode.cpp:
1428         (WebCore::ContainerNode::takeAllChildrenFrom):
1429         * dom/Document.cpp:
1430         (WebCore::Document::setTitle):
1431         * dom/MessagePort.cpp:
1432         (WebCore::MessagePort::dispatchMessages):
1433         (WebCore::MessagePort::disentanglePorts):
1434         * editing/DeleteButtonController.cpp:
1435         (WebCore::enclosingDeletableElement):
1436         (WebCore::DeleteButtonController::createDeletionUI):
1437         (WebCore::DeleteButtonController::show):
1438         * editing/EditorCommand.cpp:
1439         (WebCore::unionDOMRanges):
1440         * editing/ReplaceNodeWithSpanCommand.cpp:
1441         (WebCore::swapInNodePreservingAttributesAndChildren):
1442         * editing/ReplaceSelectionCommand.cpp:
1443         (WebCore::ReplacementFragment::ReplacementFragment):
1444         (WebCore::ReplacementFragment::removeNode):
1445         (WebCore::ReplacementFragment::insertNodeBefore):
1446         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
1447         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
1448         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1449         * editing/SplitTextNodeCommand.cpp:
1450         (WebCore::SplitTextNodeCommand::doUnapply):
1451         * editing/TextIterator.cpp:
1452         (WebCore::CharacterIterator::range):
1453         (WebCore::BackwardsCharacterIterator::range):
1454         (WebCore::TextIterator::rangeFromLocationAndLength):
1455         (WebCore::collapsedToBoundary):
1456         * editing/htmlediting.cpp:
1457         (WebCore::createTabSpanElement):
1458         * editing/mac/EditorMac.mm:
1459         (WebCore::Editor::fontForSelection):
1460         (WebCore::Editor::fontAttributesForSelectionStart):
1461         * editing/markup.cpp:
1462         (WebCore::createMarkup):
1463         (WebCore::trimFragment):
1464         (WebCore::createFragmentFromMarkupWithContext):
1465         (WebCore::fillContainerFromString):
1466         (WebCore::createFragmentFromText):
1467         (WebCore::createFragmentFromNodes):
1468         * html/ColorInputType.cpp:
1469         (WebCore::ColorInputType::createShadowSubtree):
1470         * html/HTMLOptionsCollection.cpp:
1471         (WebCore::HTMLOptionsCollection::add):
1472         * html/HTMLTextAreaElement.cpp:
1473         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1474         * html/HTMLTextFormControlElement.cpp:
1475         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
1476         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1477         * html/TextFieldInputType.cpp:
1478         (WebCore::TextFieldInputType::updatePlaceholderText):
1479         * html/ValidationMessage.cpp:
1480         (WebCore::ValidationMessage::buildBubbleTree):
1481         * html/shadow/MediaControlElementTypes.cpp:
1482         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1483         * inspector/InspectorPageAgent.cpp:
1484         (WebCore::InspectorPageAgent::getCookies):
1485         * inspector/InspectorStyleSheet.cpp:
1486         (WebCore::InspectorStyleSheet::addRule):
1487         * loader/appcache/ApplicationCacheHost.cpp:
1488         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
1489         * page/DOMSelection.cpp:
1490         (WebCore::DOMSelection::deleteFromDocument):
1491         * page/DragController.cpp:
1492         (WebCore::prepareClipboardForImageDrag):
1493         * rendering/RenderTextControl.cpp:
1494         (WebCore::RenderTextControl::visiblePositionForIndex):
1495         * rendering/style/SVGRenderStyle.h:
1496         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
1497         (WebCore::SVGRenderStyle::initialKerning):
1498         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
1499         (WebCore::SVGRenderStyle::initialStrokeWidth):
1500         * svg/SVGAnimatedLength.cpp:
1501         (WebCore::sharedSVGLength):
1502         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
1503         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1504         * svg/SVGAnimatedLengthList.cpp:
1505         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1506         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1507         * svg/SVGLength.cpp:
1508         (WebCore::SVGLength::SVGLength):
1509         * svg/SVGTextContentElement.cpp:
1510         (WebCore::SVGTextContentElement::textLengthAnimated):
1511         * svg/animation/SVGSMILElement.cpp:
1512         (WebCore::constructQualifiedName):
1513
1514 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1515
1516         Remove #if USE(V8) from IDBRequest.h
1517         https://bugs.webkit.org/show_bug.cgi?id=109163
1518
1519         Reviewed by Andreas Kling.
1520
1521         The header included inside the #if USE(V8) macro is not used.
1522         We can simply remove it.
1523
1524         No tests. No change in behavior.
1525
1526         * Modules/indexeddb/IDBRequest.h:
1527
1528 2013-02-07  Stephen Chenney  <schenney@chromium.org>
1529
1530         GraphicsContext::drawImageBuffer is inefficient
1531         https://bugs.webkit.org/show_bug.cgi?id=104367
1532
1533         Reviewed by Dirk Schulze.
1534
1535         This patch converts all of the drawImage and drawImageBuffer
1536         convenience methods (those that take parameters of various types) to
1537         invoke the implementing method (that takes FloatRect src and dest)
1538         directly, rather than through the next-most-convenient method as was
1539         done previously. This will knock some layers off the stack compared
1540         to the existing code, and may remove one or two constructor invocations.
1541         This may be slightly more efficient, and also makes debugging simpler.
1542
1543         Also removes the unused drawImage method that takes and IntRect source
1544         area and IntRect destination. It is not invoked anywhere in a standard
1545         WebKit checkout.
1546
1547         No new tests. No change in functionality, just refactoring.
1548
1549         * platform/graphics/GraphicsContext.cpp:
1550         (WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
1551         the implementing version directly.
1552         (WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
1553         to call the implementing version directly.
1554         * platform/graphics/GraphicsContext.h:
1555         (GraphicsContext): Remove IntRect, IntRect version of drawImage.
1556
1557 2013-02-07  Kent Tamura  <tkent@chromium.org>
1558
1559         Conversion from localized numbers to HTML numbers should accept not only localized numbers but also HTML numbers
1560         https://bugs.webkit.org/show_bug.cgi?id=109160
1561
1562         Reviewed by Kentaro Hara.
1563
1564         For example, A French user needs to specify a number to a number input
1565         field. He might use a local decimal point, like 3,141592, or he might
1566         use the standard decimal point like 3.141592. We had better accept both
1567         of them.
1568
1569         We accepted both last year, but we changed the behavior so that we
1570         accept only localized numbers because we had some cases where an input
1571         string can be recognized as both of a localized number and the standard
1572         number. e.g. 3.141 is 3141 in French locale and 3.141 in the
1573         standard. Now we introduce a simple rule that we don't accept group
1574         separator at all. So users won't confuse even if we accept both of
1575         decimal points.
1576
1577         Test: fast/forms/number/number-l10n-input.html
1578
1579         * platform/text/PlatformLocale.cpp:
1580         (WebCore::Locale::convertFromLocalizedNumber):
1581         If the specified string contains invalid characters including group
1582         separators, just return the specified string.
1583
1584 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
1585
1586         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
1587         https://bugs.webkit.org/show_bug.cgi?id=109126
1588         PR 292540
1589
1590         Reviewed by Yong Li.
1591
1592         Change char code to 4 bytes.
1593         Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
1594
1595         * platform/PlatformKeyboardEvent.h:
1596         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
1597         (PlatformKeyboardEvent):
1598         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1599         (WebCore::keyIdentifierForBlackBerryCharacter):
1600         (WebCore::windowsKeyCodeForBlackBerryCharacter):
1601         (WebCore::adjustCharacterFromOS):
1602         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1603
1604 2013-02-07  Mike West  <mkwst@chromium.org>
1605
1606         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
1607         https://bugs.webkit.org/show_bug.cgi?id=109044
1608
1609         Reviewed by Darin Adler.
1610
1611         The pattern:
1612
1613             ExceptionCode ec = 0;
1614             methodThatGeneratesException(ec);
1615             ASSERT(!ec);
1616
1617         is more clearly and succinctly written as:
1618
1619             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1620
1621         This patch replaces the occurances of the former that never touch 'ec'
1622         again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
1623         a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
1624         where it does indeed matter that 'ec' get set properly.
1625
1626         No change in behavior should result from this refactoring.
1627
1628         * Modules/indexeddb/IDBCursor.cpp:
1629         (WebCore::IDBCursor::direction):
1630         * Modules/indexeddb/IDBObjectStore.cpp:
1631         (WebCore):
1632         * Modules/indexeddb/IDBTransaction.cpp:
1633         (WebCore::IDBTransaction::mode):
1634         * dom/ContainerNode.cpp:
1635         (WebCore::ContainerNode::takeAllChildrenFrom):
1636         * dom/Document.cpp:
1637         (WebCore::Document::setTitle):
1638         * dom/MessagePort.cpp:
1639         (WebCore::MessagePort::dispatchMessages):
1640         (WebCore::MessagePort::disentanglePorts):
1641         * editing/DeleteButtonController.cpp:
1642         (WebCore::enclosingDeletableElement):
1643         (WebCore::DeleteButtonController::createDeletionUI):
1644             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1645         (WebCore::DeleteButtonController::show):
1646             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1647         * editing/EditorCommand.cpp:
1648         (WebCore::unionDOMRanges):
1649         * editing/ReplaceNodeWithSpanCommand.cpp:
1650         (WebCore::swapInNodePreservingAttributesAndChildren):
1651         * editing/ReplaceSelectionCommand.cpp:
1652         (WebCore::ReplacementFragment::ReplacementFragment):
1653         (WebCore::ReplacementFragment::removeNode):
1654         (WebCore::ReplacementFragment::insertNodeBefore):
1655         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
1656         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
1657         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1658         * editing/SplitTextNodeCommand.cpp:
1659         (WebCore::SplitTextNodeCommand::doUnapply):
1660         * editing/TextIterator.cpp:
1661         (WebCore::CharacterIterator::range):
1662         (WebCore::BackwardsCharacterIterator::range):
1663         (WebCore::TextIterator::rangeFromLocationAndLength):
1664         (WebCore::collapsedToBoundary):
1665         * editing/htmlediting.cpp:
1666         (WebCore::createTabSpanElement):
1667         * editing/mac/EditorMac.mm:
1668         (WebCore::Editor::fontForSelection):
1669         (WebCore::Editor::fontAttributesForSelectionStart):
1670         * editing/markup.cpp:
1671         (WebCore::createMarkup):
1672         (WebCore::trimFragment):
1673         (WebCore::createFragmentFromMarkupWithContext):
1674         (WebCore::fillContainerFromString):
1675         (WebCore::createFragmentFromText):
1676         (WebCore::createFragmentFromNodes):
1677         * html/ColorInputType.cpp:
1678         (WebCore::ColorInputType::createShadowSubtree):
1679             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1680         * html/HTMLOptionsCollection.cpp:
1681         (WebCore::HTMLOptionsCollection::add):
1682             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1683         * html/HTMLTextAreaElement.cpp:
1684         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1685         * html/HTMLTextFormControlElement.cpp:
1686         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
1687         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1688         * html/TextFieldInputType.cpp:
1689         (WebCore::TextFieldInputType::updatePlaceholderText):
1690         * html/ValidationMessage.cpp:
1691         (WebCore::ValidationMessage::buildBubbleTree):
1692         * html/shadow/MediaControlElementTypes.cpp:
1693         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1694         * inspector/InspectorPageAgent.cpp:
1695         (WebCore::InspectorPageAgent::getCookies):
1696         * inspector/InspectorStyleSheet.cpp:
1697         (WebCore::InspectorStyleSheet::addRule):
1698         * loader/appcache/ApplicationCacheHost.cpp:
1699         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
1700         * page/DOMSelection.cpp:
1701         (WebCore::DOMSelection::deleteFromDocument):
1702         * page/DragController.cpp:
1703         (WebCore::prepareClipboardForImageDrag):
1704         * rendering/RenderTextControl.cpp:
1705         (WebCore::RenderTextControl::visiblePositionForIndex):
1706         * rendering/style/SVGRenderStyle.h:
1707         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
1708         (WebCore::SVGRenderStyle::initialKerning):
1709         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
1710         (WebCore::SVGRenderStyle::initialStrokeWidth):
1711         * svg/SVGAnimatedLength.cpp:
1712         (WebCore::sharedSVGLength):
1713         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
1714         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1715         * svg/SVGAnimatedLengthList.cpp:
1716         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1717         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1718         * svg/SVGLength.cpp:
1719         (WebCore::SVGLength::SVGLength):
1720         * svg/SVGTextContentElement.cpp:
1721         (WebCore::SVGTextContentElement::textLengthAnimated):
1722         * svg/animation/SVGSMILElement.cpp:
1723         (WebCore::constructQualifiedName):
1724             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1725
1726 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
1727
1728         [BlackBerry] Export mimeType in NetworkJob
1729         https://bugs.webkit.org/show_bug.cgi?id=109002
1730
1731         Reviewed by Yong Li.
1732
1733         NetworkJob will analysize resource mimetype and set it to resourceResponse,
1734         we will pass it on to be used by other Streams like download stream.
1735
1736         RIM bug# 284408, internally reviewed by Liam Quinn.
1737
1738         * platform/network/blackberry/NetworkJob.cpp:
1739         (WebCore::NetworkJob::mimeType):
1740         (WebCore):
1741         * platform/network/blackberry/NetworkJob.h:
1742         (NetworkJob):
1743
1744 2013-02-07  Peter Rybin  <prybin@chromium.org>
1745
1746         Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
1747         https://bugs.webkit.org/show_bug.cgi?id=107829
1748
1749         A new command is added to protocol description and the call is passed through
1750         debugger agent through injected script and debugger script down to V8 mirror
1751         API. JSC bindings got a thorw exception stub.
1752
1753         Only declarative JavaScript scopes are supported (local, closure, catch). Other
1754         scopes (global, with) are not supported by V8 and not supported by protocol, because
1755         manual approach (direct property assigment) is available for them in form of evaluate
1756         commands and is more desirable because of a complex nature of operation (it can throw
1757         exception in several cases such as exception in setter function).
1758
1759         Reviewed by Pavel Feldman.
1760
1761         Test: inspector-protocol/debugger-setVariableValue.html
1762
1763         * bindings/js/JSInjectedScriptHostCustom.cpp:
1764         (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
1765         (WebCore):
1766         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1767         (WebCore::JSJavaScriptCallFrame::setVariableValue):
1768         (WebCore):
1769         * bindings/v8/DebuggerScript.js:
1770         (.):
1771         * bindings/v8/JavaScriptCallFrame.cpp:
1772         (WebCore::JavaScriptCallFrame::setVariableValue):
1773         (WebCore):
1774         * bindings/v8/JavaScriptCallFrame.h:
1775         (JavaScriptCallFrame):
1776         * bindings/v8/ScriptDebugServer.cpp:
1777         (WebCore::ScriptDebugServer::setFunctionVariableValue):
1778         (WebCore):
1779         * bindings/v8/ScriptDebugServer.h:
1780         (ScriptDebugServer):
1781         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1782         (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
1783         (WebCore):
1784         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
1785         (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
1786         (WebCore):
1787         * inspector/InjectedScript.cpp:
1788         (WebCore::InjectedScript::setVariableValue):
1789         (WebCore):
1790         * inspector/InjectedScript.h:
1791         (InjectedScript):
1792         * inspector/InjectedScriptHost.idl:
1793         * inspector/InjectedScriptSource.js:
1794         (.):
1795         * inspector/Inspector.json:
1796         * inspector/InspectorDebuggerAgent.cpp:
1797         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1798         (WebCore::InspectorDebuggerAgent::setVariableValue):
1799         (WebCore):
1800         * inspector/InspectorDebuggerAgent.h:
1801         (InspectorDebuggerAgent):
1802         * inspector/JavaScriptCallFrame.idl:
1803
1804 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1805
1806         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
1807         https://bugs.webkit.org/show_bug.cgi?id=108990
1808
1809         Reviewed by Noam Rosenthal.
1810
1811         WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
1812         don't need to traverse the tree every frame to get this information.
1813
1814         The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
1815         RenderLayerBacking is updating its graphics layers.
1816
1817         The new code also works in new situations where the previous was broken: if a layer changed
1818         from being fixed to not fixed (but still kept as a layer for other reasons), the layer will
1819         be correctly updated. Previous implementation only had logic to mark layers as fixed, but
1820         not the other way round. A manual test was added to illustrate the solved problem.
1821
1822         Testing was done with the existing manual tests that make use of "position:fixed". Automatic
1823         tests are mostly not affected by this because usage of this information affects only the
1824         UseFixedLayout mode, not used by default in WebKitTestRunner. Work to improve this situation
1825         will be tracked in bug https://bugs.webkit.org/show_bug.cgi?id=109175.
1826
1827         * CMakeLists.txt:
1828         * Target.pri:
1829         * WebCore.pri:
1830         * page/scrolling/ScrollingCoordinator.cpp:
1831         (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
1832         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
1833         (WebCore):
1834         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
1835         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
1836         update layer information using existing hook in ScrollingCoordinator.
1837         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
1838         (WebCore):
1839         (ScrollingCoordinatorCoordinatedGraphics):
1840         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1841         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): now that setting viewport is not
1842         embedded in the synchronization work, we need to mark the layer so it is updated in the
1843         next frame.
1844         (WebCore):
1845         (WebCore::CoordinatedGraphicsLayer::flushCompositingState): remove call to syncFixedLayers().
1846         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1847         (CoordinatedGraphicsLayerClient): remove now unused syncFixedLayers() from client.
1848         (CoordinatedGraphicsLayer):
1849
1850 2013-02-07  Keishi Hattori  <keishi@webkit.org>
1851
1852         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
1853         https://bugs.webkit.org/show_bug.cgi?id=109136
1854
1855         Reviewed by Kent Tamura.
1856
1857         Calendar picker was using the "Clear" button to calculate the window width.
1858         Since it doesn't exist when the input element has a required attribute,
1859         it was throwing an error. This patch fixes the width calculating logic.
1860
1861         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
1862                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
1863
1864         * Resources/pagepopups/calendarPicker.css:
1865         (.today-clear-area):
1866         * Resources/pagepopups/calendarPicker.js:
1867         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
1868         the width. We don't want to use clear button because it doesn't exist
1869         when a value is required.
1870
1871 2013-02-07  Gustavo Noronha Silva  <gns@gnome.org>
1872
1873         Unreviewed build fix. libWebCore.la needs to be relinked when
1874         symbols.filter changes.
1875
1876         * GNUmakefile.am: add symbols.filter as a dependency for the
1877         libWebCore.la library.
1878
1879 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
1880
1881         Web Inspector: Closure compilation fixes
1882         https://bugs.webkit.org/show_bug.cgi?id=109131
1883
1884         Reviewed by Yury Semikhatsky.
1885
1886         * inspector/front-end/ElementsPanel.js:
1887         (WebInspector.ElementsPanel):
1888         * inspector/front-end/FileSystemMapping.js:
1889         (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
1890         * inspector/front-end/IsolatedFileSystemModel.js:
1891         (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
1892         * inspector/front-end/SidebarPane.js:
1893
1894 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1895
1896         Unreviewed, rolling out r142077.
1897         http://trac.webkit.org/changeset/142077
1898         https://bugs.webkit.org/show_bug.cgi?id=108579
1899
1900         fast/filesystem/workers/file-writer-empty-blob.html is broken
1901
1902         * bindings/v8/DOMDataStore.h:
1903         (WebCore::DOMDataStore::setWrapperInObject):
1904         * bindings/v8/DOMWrapperWorld.h:
1905         (DOMWrapperWorld):
1906         (WebCore::DOMWrapperWorld::isolated):
1907         * bindings/v8/V8Binding.h:
1908         (WebCore):
1909         (WebCore::worldForEnteredContextIfIsolated):
1910         * bindings/v8/V8DOMWindowShell.cpp:
1911         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1912         * bindings/v8/V8GCController.cpp:
1913         (WebCore::WrapperVisitor::WrapperVisitor):
1914         (WebCore):
1915         (WebCore::gcTree):
1916         (WebCore::V8GCController::didCreateWrapperForNode):
1917         (WebCore::V8GCController::gcPrologue):
1918         (WebCore::V8GCController::minorGCPrologue):
1919         (WebCore::V8GCController::majorGCPrologue):
1920         * bindings/v8/V8GCController.h:
1921         (V8GCController):
1922
1923 2013-02-07  Tony Gentilcore  <tonyg@chromium.org>
1924
1925         Call XSSAuditor.filterToken() from threaded HTML parser
1926         https://bugs.webkit.org/show_bug.cgi?id=107603
1927
1928         Reviewed by Adam Barth.
1929
1930         With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
1931
1932         We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
1933
1934         Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
1935
1936         This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
1937
1938         No new tests because covered by existing tests.
1939
1940         * html/parser/BackgroundHTMLParser.cpp:
1941         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1942         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1943         (WebCore::BackgroundHTMLParser::createPartial):
1944         * html/parser/BackgroundHTMLParser.h:
1945         (WebCore):
1946         (WebCore::BackgroundHTMLParser::create):
1947         (BackgroundHTMLParser):
1948         * html/parser/HTMLDocumentParser.cpp:
1949         (WebCore::HTMLDocumentParser::pumpTokenizer):
1950         (WebCore::HTMLDocumentParser::startBackgroundParser):
1951         * html/parser/HTMLSourceTracker.cpp:
1952         (WebCore::HTMLSourceTracker::start):
1953         (WebCore::HTMLSourceTracker::end):
1954         * html/parser/HTMLSourceTracker.h: Change the HTMLInputStream args to SegmentedString because the background thread only has a BackgroundHTMLInputStream.
1955         (HTMLSourceTracker):
1956         * html/parser/HTMLViewSourceParser.cpp:
1957         (WebCore::HTMLViewSourceParser::pumpTokenizer):
1958         * html/parser/XSSAuditor.cpp:
1959         (WebCore::fullyDecodeString):
1960         (WebCore::XSSAuditor::XSSAuditor):
1961         (WebCore::XSSAuditor::init): Copies necessary to make isSafeToSendToAnotherThread() happy.
1962         (WebCore::XSSAuditor::decodedSnippetForName):
1963         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1964         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
1965         (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Check that all String and KURL members are safe to send to another thread.
1966         (WebCore):
1967         * html/parser/XSSAuditor.h:
1968         (WebCore):
1969         (WebCore::FilterTokenRequest::FilterTokenRequest):
1970         (FilterTokenRequest):
1971         (XSSAuditor):
1972
1973 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
1974
1975         [GTK][AC] Implement opacity animation with clutter ac backend
1976         https://bugs.webkit.org/show_bug.cgi?id=108961
1977
1978         Reviewed by Gustavo Noronha Silva.
1979
1980         Implement opacity animation with clutter ac backend.
1981         Almost all implementations of GraphicsLayerClutter are based on mac port's one.
1982         PlatformClutterAnimation interfaces are also similar with mac port, but they are implemented
1983         with native clutter APIs.
1984         This patch includes only opacity animation related changes, so many APIs might be empty.
1985         Remained animations like rotation and translate will be dealt in another patches.
1986
1987         Covered by existing animation tests.
1988
1989         * GNUmakefile.list.am:
1990         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1991         (graphicsLayerActorGetAnimationForKey):
1992         * platform/graphics/clutter/GraphicsLayerActor.h:
1993         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1994         (WebCore):
1995         (WebCore::propertyIdToString):
1996         (WebCore::animationIdentifier):
1997         (WebCore::animationHasStepsTimingFunction):
1998         (WebCore::GraphicsLayerClutter::setOpacity):
1999         (WebCore::GraphicsLayerClutter::updateAnimations):
2000         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
2001         (WebCore::GraphicsLayerClutter::setupAnimation):
2002         (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
2003         (WebCore::GraphicsLayerClutter::createBasicAnimation):
2004         (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
2005         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
2006         (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
2007         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
2008         (WebCore::GraphicsLayerClutter::createAnimationFromKeyframes):
2009         (WebCore::GraphicsLayerClutter::addAnimation):
2010         (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
2011         (WebCore::GraphicsLayerClutter::pauseClutterAnimationOnLayer):
2012         (WebCore::GraphicsLayerClutter::setAnimationOnLayer):
2013         (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
2014         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
2015         (WebCore::GraphicsLayerClutter::animatedLayer):
2016         * platform/graphics/clutter/GraphicsLayerClutter.h:
2017         (GraphicsLayerClutter):
2018         (WebCore::GraphicsLayerClutter::LayerPropertyAnimation::LayerPropertyAnimation):
2019         (LayerPropertyAnimation):
2020         (WebCore::GraphicsLayerClutter::AnimationProcessingAction::AnimationProcessingAction):
2021         (AnimationProcessingAction):
2022         * platform/graphics/clutter/PlatformClutterAnimation.cpp: Added.
2023         (WebCore):
2024         (WebCore::timelineStartedCallback):
2025         (WebCore::toClutterAnimationMode):
2026         (WebCore::PlatformClutterAnimation::stringToAnimatedPropertyType):
2027         (WebCore::PlatformClutterAnimation::create):
2028         (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
2029         (WebCore::PlatformClutterAnimation::~PlatformClutterAnimation):
2030         (WebCore::PlatformClutterAnimation::supportsValueFunction):
2031         (WebCore::PlatformClutterAnimation::beginTime):
2032         (WebCore::PlatformClutterAnimation::setBeginTime):
2033         (WebCore::PlatformClutterAnimation::duration):
2034         (WebCore::PlatformClutterAnimation::setDuration):
2035         (WebCore::PlatformClutterAnimation::speed):
2036         (WebCore::PlatformClutterAnimation::setSpeed):
2037         (WebCore::PlatformClutterAnimation::timeOffset):
2038         (WebCore::PlatformClutterAnimation::setTimeOffset):
2039         (WebCore::PlatformClutterAnimation::repeatCount):
2040         (WebCore::PlatformClutterAnimation::setRepeatCount):
2041         (WebCore::PlatformClutterAnimation::autoreverses):
2042         (WebCore::PlatformClutterAnimation::setAutoreverses):
2043         (WebCore::PlatformClutterAnimation::fillMode):
2044         (WebCore::PlatformClutterAnimation::setFillMode):
2045         (WebCore::PlatformClutterAnimation::setTimingFunction):
2046         (WebCore::PlatformClutterAnimation::copyTimingFunctionFrom):
2047         (WebCore::PlatformClutterAnimation::isRemovedOnCompletion):
2048         (WebCore::PlatformClutterAnimation::setRemovedOnCompletion):
2049         (WebCore::PlatformClutterAnimation::isAdditive):
2050         (WebCore::PlatformClutterAnimation::setAdditive):
2051         (WebCore::PlatformClutterAnimation::valueFunction):
2052         (WebCore::PlatformClutterAnimation::setValueFunction):
2053         (WebCore::PlatformClutterAnimation::setFromValue):
2054         (WebCore::PlatformClutterAnimation::copyFromValueFrom):
2055         (WebCore::PlatformClutterAnimation::setToValue):
2056         (WebCore::PlatformClutterAnimation::copyToValueFrom):
2057         (WebCore::PlatformClutterAnimation::setValues):
2058         (WebCore::PlatformClutterAnimation::copyValuesFrom):
2059         (WebCore::PlatformClutterAnimation::setKeyTimes):
2060         (WebCore::PlatformClutterAnimation::copyKeyTimesFrom):
2061         (WebCore::PlatformClutterAnimation::setTimingFunctions):
2062         (WebCore::PlatformClutterAnimation::copyTimingFunctionsFrom):
2063         (WebCore::PlatformClutterAnimation::animationDidStart):
2064         (WebCore::PlatformClutterAnimation::timeline):
2065         (WebCore::PlatformClutterAnimation::addOpacityTransition):
2066         (WebCore::PlatformClutterAnimation::addAnimationForKey):
2067         (WebCore::PlatformClutterAnimation::removeAnimationForKey):
2068         * platform/graphics/clutter/PlatformClutterAnimation.h: Added.
2069         (WebCore):
2070         (PlatformClutterAnimation):
2071         (WebCore::PlatformClutterAnimation::animationType):
2072
2073 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
2074
2075         Web Inspector: highlight matching braces in DTE.
2076         https://bugs.webkit.org/show_bug.cgi?id=108697
2077
2078         Reviewed by Pavel Feldman.
2079
2080         Implement BraceMatcher class which for given position in textModel
2081         will respond with enclosing brace pair for that position.
2082         Make use of this class in DefaultTextEditor by handling
2083         selectionChange event. Make use of this class in "_closingBlockOffset"
2084         method of TextEditorMainPanel as this method implements similar
2085         functionality.
2086
2087         New test: inspector/editor/brace-matcher.html
2088
2089         * inspector/front-end/DefaultTextEditor.js:
2090         (WebInspector.TextEditorMainPanel):
2091         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2092         (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
2093         (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
2094         (WebInspector.TextEditorMainPanel.BraceHighlightController):
2095         (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
2096         * inspector/front-end/TextEditorHighlighter.js:
2097         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
2098         * inspector/front-end/TextEditorModel.js:
2099         (WebInspector.TextEditorModel.endsWithBracketRegex):
2100         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2101         * inspector/front-end/textEditor.css:
2102         (.text-editor-brace-match):
2103
2104 2013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2105
2106         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
2107         https://bugs.webkit.org/show_bug.cgi?id=97173
2108
2109         Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
2110
2111         Remove codes to initialize and shutdown the EFL libraries from
2112         RunLoopEfl.cpp. Initialization and shutdown will be done in the
2113         ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
2114         process.
2115
2116         No new tests. This patch doesn't change behavior.
2117
2118         * platform/efl/RunLoopEfl.cpp:
2119         (WebCore::RunLoop::RunLoop):
2120         (WebCore::RunLoop::~RunLoop):
2121
2122 2013-02-07  Ilya Tikhonovsky  <loislo@chromium.org>
2123
2124         Unreviewed fix for inspector tests in debug.
2125         m_frontend should be initialized in constructor.
2126
2127         * inspector/InspectorMemoryAgent.cpp:
2128         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
2129
2130 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
2131
2132         Web Inspector: reduce number of native memory instrumentation categories
2133         https://bugs.webkit.org/show_bug.cgi?id=109146
2134
2135         Reviewed by Pavel Feldman.
2136
2137         Merged some of memory instrumentation categories.
2138
2139         * dom/WebCoreMemoryInstrumentation.cpp:
2140         (WebCore):
2141         * inspector/front-end/NativeMemorySnapshotView.js:
2142         (WebInspector.MemoryBlockViewProperties._initialize):
2143         * platform/PlatformMemoryInstrumentation.cpp:
2144         (WebCore):
2145
2146 2013-02-04  Kentaro Hara  <haraken@chromium.org>
2147
2148         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
2149         https://bugs.webkit.org/show_bug.cgi?id=108579
2150
2151         Reviewed by Adam Barth.
2152
2153         Currently V8GCController::m_edenNodes stores a list of nodes whose
2154         wrappers have been created since the latest GC. The reason why we
2155         needed m_edenNodes is that there was no way to know a list of wrappers
2156         in the new space of V8. By using m_edenNodes, we had been approximating
2157         'wrappers in the new space' by 'wrappers that have been created since
2158         the latest GC'.
2159
2160         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
2161         can know a list of wrappers in the new space. By using the API, we can
2162         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
2163         need to keep m_edenNodes and that (2) it enables more precise minor
2164         DOM GC (Remember that m_edenNodes was just an approximation).
2165
2166         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
2167         The benchmark runs 300 iterations, each of which creates 100000 elements.
2168         The benchmark measures average, min, median, max and stdev of execution times
2169         of the 300 iterations. This will tell us the worst-case overhead of this change.
2170
2171         Before:
2172           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
2173
2174         After:
2175           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
2176
2177         As shown above, I couldn't observe any performance regression.
2178
2179         No tests. No change in behavior.
2180
2181         * bindings/v8/DOMDataStore.h:
2182         (WebCore::DOMDataStore::setWrapperInObject):
2183         * bindings/v8/DOMWrapperWorld.h:
2184         (DOMWrapperWorld):
2185         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
2186         * bindings/v8/V8Binding.h:
2187         (WebCore):
2188         (WebCore::worldForEnteredContextIfIsolated):
2189         (WebCore::worldForEnteredContextWithoutContextCheck):
2190         * bindings/v8/V8DOMWindowShell.cpp:
2191         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2192         * bindings/v8/V8GCController.cpp:
2193         (WebCore::gcTree):
2194         (WebCore):
2195         (MinorGCWrapperVisitor):
2196         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
2197         (WebCore::MinorGCWrapperVisitor::notifyFinished):
2198         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
2199         (WebCore::V8GCController::gcPrologue):
2200         (WebCore::V8GCController::minorGCPrologue):
2201         (WebCore::V8GCController::majorGCPrologue):
2202         * bindings/v8/V8GCController.h:
2203         (V8GCController):
2204
2205 2013-02-06  Kent Tamura  <tkent@chromium.org>
2206
2207         REGRESSION(r141195): INPUT_MULTIPLE_FIELDS_UI: Space in a placeholder string is removed
2208         https://bugs.webkit.org/show_bug.cgi?id=109132
2209
2210         Reviewed by Hajime Morita.
2211
2212         <input  type=date> should be shown in Japanese UI as:
2213         [ 年 /月/日]
2214         But it is shown wrongly since r141195:
2215         [年 /月/日]
2216
2217         We should use white-space:pre.
2218
2219         No new tests. This change is not testable in WebKit because this
2220         requires a Japanese-localized UI string of Chromium.
2221
2222         * css/html.css:
2223         (input::-webkit-datetime-edit-fields-wrapper):
2224         Use white-space:pre instead of nowrap.
2225
2226 2013-02-06  Kentaro Hara  <haraken@chromium.org>
2227
2228         Remove DOMWindow::parseModalDialogFeatures()
2229         https://bugs.webkit.org/show_bug.cgi?id=109139
2230
2231         Reviewed by Kent Tamura.
2232
2233         No one uses the method. FIXME is saying:
2234
2235           // FIXME: We can remove this function once V8 showModalDialog is changed to use DOMWindow.
2236
2237         Given that V8's showModalDialog() is now using DOMWindow, we can remove it.
2238
2239         No tests. No change in behavior.
2240
2241         * page/DOMWindow.cpp:
2242         * page/DOMWindow.h:
2243         (DOMWindow):
2244
2245 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
2246
2247         Web Inspector: Native Memory Instrumentation: reduce native heap snapshot runtime memory footprint
2248         https://bugs.webkit.org/show_bug.cgi?id=108824
2249
2250         Reviewed by Yury Semikhatsky.
2251
2252         New event was added into Memory domain addNativeSnapshotChunk.
2253         The content of HeapGraphSerializer is completely rewritten according to new API.
2254         Now it collects strings, nodes, edges and id2id map and pushes when the collected items count exceed a limit.
2255         On the frontend side I added new method for the new event and fixed the postprocessing step.
2256         MemoryInstrumentation was slightly changed. Now it reports base to real address map only after reporting the node with real address.
2257
2258         * inspector/HeapGraphSerializer.cpp:
2259         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2260         (WebCore::HeapGraphSerializer::pushUpdateIfNeed):
2261         (WebCore):
2262         (WebCore::HeapGraphSerializer::pushUpdate):
2263         (WebCore::HeapGraphSerializer::reportNode):
2264         (WebCore::HeapGraphSerializer::reportNodeImpl):
2265         (WebCore::HeapGraphSerializer::reportEdge):
2266         (WebCore::HeapGraphSerializer::reportEdgeImpl):
2267         (WebCore::HeapGraphSerializer::reportLeaf):
2268         (WebCore::HeapGraphSerializer::reportBaseAddress):
2269         (WebCore::HeapGraphSerializer::finish):
2270         (WebCore::HeapGraphSerializer::reportMemoryUsage):
2271         (WebCore::HeapGraphSerializer::addString):
2272         (WebCore::HeapGraphSerializer::toNodeId):
2273         (WebCore::HeapGraphSerializer::addRootNode):
2274         * inspector/HeapGraphSerializer.h:
2275         (HeapGraphSerializer):
2276         * inspector/Inspector.json:
2277         * inspector/InspectorController.cpp:
2278         (WebCore::InspectorController::processMemoryDistribution):
2279         * inspector/InspectorMemoryAgent.cpp:
2280         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionMap):
2281         (WebCore):
2282         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
2283         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
2284         (WebCore::InspectorMemoryAgent::setFrontend):
2285         (WebCore::InspectorMemoryAgent::clearFrontend):
2286         * inspector/InspectorMemoryAgent.h:
2287         (InspectorMemoryAgent):
2288         * inspector/front-end/NativeHeapSnapshot.js:
2289         (WebInspector.NativeHeapSnapshot):
2290         (WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
2291         (WebInspector.NativeHeapSnapshotNode.prototype.id):
2292         (WebInspector.NativeHeapSnapshotNode.prototype.name):
2293         (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
2294         * inspector/front-end/NativeMemorySnapshotView.js:
2295         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
2296         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
2297         (WebInspector.NativeSnapshotProfileHeader):
2298         (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
2299         (WebInspector.NativeSnapshotProfileHeader.prototype.addNativeSnapshotChunk):
2300         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
2301         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
2302         (WebInspector.NativeMemoryBarChart.prototype._updateStats):
2303         * inspector/front-end/ProfilesPanel.js:
2304         (WebInspector.ProfilesPanel):
2305         (WebInspector.MemoryDispatcher):
2306         (WebInspector.MemoryDispatcher.prototype.addNativeSnapshotChunk):
2307
2308 2013-02-03  Kentaro Hara  <haraken@chromium.org>
2309
2310         WebKit's focus events are UIEvents (instead of FocusEvent) and thus don't expose .relatedTarget
2311         https://bugs.webkit.org/show_bug.cgi?id=76216
2312
2313         Reviewed by Eric Seidel.
2314
2315         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
2316
2317         This patch creates a new FocusEvent class with a relatedTarget attribute.
2318         Now when focusin or focusout events are dispatched, a FocusEvent is created with
2319         the relatedTarget attribute set accordingly.
2320
2321         Test: fast/events/related-target-focusevent.html
2322
2323         * CMakeLists.txt:
2324         * DerivedSources.cpp:
2325         * DerivedSources.make:
2326         * DerivedSources.pri:
2327         * GNUmakefile.list.am:
2328         * Target.pri:
2329         * WebCore.gypi:
2330         * WebCore.xcodeproj/project.pbxproj:
2331         * dom/DOMAllInOne.cpp:
2332         * dom/Event.cpp:
2333         (WebCore::Event::isFocusEvent):
2334         (WebCore):
2335         * dom/Event.h:
2336         (Event):
2337         * dom/EventContext.cpp:
2338         (WebCore::EventContext::handleLocalEvents):
2339         * dom/EventNames.in:
2340         * dom/FocusEvent.h: Added.
2341         (WebCore):
2342         (FocusEvent):
2343         (WebCore::FocusEvent::create):
2344         (WebCore::FocusEvent::relatedTarget):
2345         (WebCore::FocusEvent::setRelatedTarget):
2346         (WebCore::toFocusEvent):
2347         * dom/FocusEvent.idl: Added.
2348         * dom/Node.cpp:
2349         (WebCore::Node::dispatchFocusInEvent):
2350         (WebCore::Node::dispatchFocusOutEvent):
2351
2352 2013-02-06  Kent Tamura  <tkent@chromium.org>
2353
2354         Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h
2355         https://bugs.webkit.org/show_bug.cgi?id=109137
2356
2357         Reviewed by Kentaro Hara.
2358
2359         No new tests. Just style fix.
2360
2361         * rendering/RenderTheme.cpp:
2362         (WebCore::RenderTheme::adjustStyle):
2363         (WebCore::RenderTheme::paint):
2364         (WebCore::RenderTheme::paintBorderOnly):
2365         (WebCore::RenderTheme::paintDecorations):
2366         (WebCore::RenderTheme::isControlStyled):
2367         (WebCore::RenderTheme::adjustButtonStyle):
2368         (WebCore::RenderTheme::systemColor):
2369         * rendering/RenderThemeChromiumWin.h:
2370         (WebCore::ThemeData::ThemeData):
2371         (ThemeData):
2372         (RenderThemeChromiumWin):
2373         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
2374         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
2375
2376 2013-02-06  Kent Tamura  <tkent@chromium.org>
2377
2378         Fix style of Chrome.h and Page.h
2379         https://bugs.webkit.org/show_bug.cgi?id=109138
2380
2381         Reviewed by Ryosuke Niwa.
2382
2383         No new tests. Just style fixes.
2384
2385         * page/Chrome.h:
2386         (WebCore):
2387         (Chrome):
2388         (WebCore::Chrome::client):
2389         * page/Page.h:
2390         (JSC):
2391         (WebCore):
2392         (WebCore::ArenaSize::ArenaSize):
2393         (ArenaSize):
2394         (Page):
2395         (PageClients):
2396         (WebCore::Page::theme):
2397         (WebCore::Page::canStartMedia):
2398         (WebCore::Page::editorClient):
2399         (WebCore::Page::plugInClient):
2400         (WebCore::Page::mainFrame):
2401         (WebCore::Page::groupPtr):
2402         (WebCore::Page::incrementSubframeCount):
2403         (WebCore::Page::decrementSubframeCount):
2404         (WebCore::Page::subframeCount):
2405         (WebCore::Page::chrome):
2406         (WebCore::Page::dragCaretController):
2407         (WebCore::Page::dragController):
2408         (WebCore::Page::focusController):
2409         (WebCore::Page::contextMenuController):
2410         (WebCore::Page::inspectorController):
2411         (WebCore::Page::pointerLockController):
2412         (WebCore::Page::validationMessageClient):
2413         (WebCore::Page::settings):
2414         (WebCore::Page::progress):
2415         (WebCore::Page::backForward):
2416         (WebCore::Page::featureObserver):
2417         (WebCore::Page::viewMode):
2418         (WebCore::Page::setTabKeyCyclesThroughElements):
2419         (WebCore::Page::tabKeyCyclesThroughElements):
2420         (WebCore::Page::scheduledRunLoopPairs):
2421         (WebCore::Page::defersLoading):
2422         (WebCore::Page::mediaVolume):
2423         (WebCore::Page::pageScaleFactor):
2424         (WebCore::Page::deviceScaleFactor):
2425         (WebCore::Page::shouldSuppressScrollbarAnimations):
2426         (WebCore::Page::pagination):
2427         (WebCore::Page::isOnscreen):
2428         (WebCore::Page::scriptedAnimationsSuspended):
2429         (WebCore::Page::debugger):
2430         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
2431         (WebCore::Page::customHTMLTokenizerTimeDelay):
2432         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
2433         (WebCore::Page::customHTMLTokenizerChunkSize):
2434         (WebCore::Page::areMemoryCacheClientCallsEnabled):
2435         (WebCore::Page::setEditable):
2436         (WebCore::Page::isEditable):
2437         (WebCore::Page::displayID):
2438         (WebCore::Page::layoutMilestones):
2439         (WebCore::Page::setIsPainting):
2440         (WebCore::Page::isPainting):
2441         (WebCore::Page::alternativeTextClient):
2442         (WebCore::Page::checkSubframeCountConsistency):
2443         (WebCore::Page::group):
2444
2445 2013-02-06  Mike West  <mkwst@chromium.org>
2446
2447         Entity-header extension headers honored on 304 responses.
2448         https://bugs.webkit.org/show_bug.cgi?id=72414
2449
2450         Reviewed by Alexey Proskuryakov.
2451
2452         This patch ports Chromium's network stack logic governing header
2453         updates after resource revalidation. Generally, headers sent with 304
2454         responses ought to update the original cached resource's headers.
2455         Certain headers should never be sent with 304 responses, and we should
2456         ignore them if a misconfigured server sends them anyway.
2457
2458         Currently, WebCore ignores all headers prefixed with 'content-'. This
2459         patch adds 'x-content-' and 'x-webkit-' to the list, as well as specific
2460         headers like 'upgrade', 'trailer', and others that the Chromium network
2461         stack currently ignores.
2462
2463         The tests verify that those headers with visible effect are correctly
2464         handled: 'x-frame-options', 'content-security-policy', and
2465         'x-xss-protection'.
2466
2467         Tests: http/tests/security/XFrameOptions/x-frame-options-cached.html
2468                http/tests/security/contentSecurityPolicy/cached-frame-csp.html
2469                http/tests/security/xssAuditor/cached-frame.html
2470
2471         * loader/cache/CachedResource.cpp:
2472         (WebCore):
2473         (WebCore::CachedResource::updateResponseAfterRevalidation):
2474             This patch adds two arrays containing the specific headers to
2475             ignore and the prefixes to ignore. These lists are processed in
2476             shouldUpdateHeaderAfterRevalidation.
2477             CachedResource::updateResponseAfterRevalidation relies on this new
2478             method when processing revalidated resources.
2479
2480         * loader/cache/CachedResource.cpp:
2481         (WebCore):
2482         (WebCore::shouldUpdateHeaderAfterRevalidation):
2483         (WebCore::CachedResource::updateResponseAfterRevalidation):
2484
2485 2013-02-06  Tom Sepez  <tsepez@chromium.org>
2486
2487         document.referrer leakage with XSS Auditor page block
2488         https://bugs.webkit.org/show_bug.cgi?id=109089
2489
2490         Reviewed by Adam Barth.
2491
2492         Pass "about:blank" as referrer instead of "" so that the actual page
2493         is not leaked when empty referrers are replaced later on in the
2494         request.
2495         
2496         * html/parser/XSSAuditorDelegate.cpp:
2497         (WebCore::XSSAuditorDelegate::didBlockScript):
2498
2499 2013-02-06  Kentaro Hara  <haraken@chromium.org>
2500
2501         [V8] Make an Isolate parameter mandatory in GetTemplate() and GetRawTemplate()
2502         https://bugs.webkit.org/show_bug.cgi?id=109026
2503
2504         Reviewed by Adam Barth.
2505
2506         Now it's time to kill an optional Isolate parameter.
2507
2508         No tests. No change in behavior.
2509
2510         * bindings/scripts/CodeGeneratorV8.pm:
2511         (GenerateHeader):
2512         (GenerateNamedConstructorCallback):
2513         (GenerateImplementation):
2514         * bindings/scripts/test/V8/V8Float64Array.cpp:
2515         (WebCore::V8Float64Array::GetRawTemplate):
2516         (WebCore::V8Float64Array::GetTemplate):
2517         * bindings/scripts/test/V8/V8Float64Array.h:
2518         (V8Float64Array):
2519         (WebCore::V8Float64Array::installPerContextPrototypeProperties):
2520         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2521         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
2522         (WebCore::V8TestActiveDOMObject::GetTemplate):
2523         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2524         (V8TestActiveDOMObject):
2525         (WebCore::V8TestActiveDOMObject::installPerContextPrototypeProperties):
2526         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2527         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
2528         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2529         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2530         (V8TestCustomNamedGetter):
2531         (WebCore::V8TestCustomNamedGetter::installPerContextPrototypeProperties):
2532         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2533         (WebCore::V8TestEventConstructor::GetRawTemplate):
2534         (WebCore::V8TestEventConstructor::GetTemplate):
2535         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2536         (V8TestEventConstructor):
2537         (WebCore::V8TestEventConstructor::installPerContextPrototypeProperties):
2538         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2539         (WebCore::V8TestEventTarget::GetRawTemplate):
2540         (WebCore::V8TestEventTarget::GetTemplate):
2541         * bindings/scripts/test/V8/V8TestEventTarget.h:
2542         (V8TestEventTarget):
2543         (WebCore::V8TestEventTarget::installPerContextPrototypeProperties):
2544         * bindings/scripts/test/V8/V8TestException.cpp:
2545         (WebCore::V8TestException::GetRawTemplate):
2546         (WebCore::V8TestException::GetTemplate):
2547         * bindings/scripts/test/V8/V8TestException.h:
2548         (V8TestException):
2549         (WebCore::V8TestException::installPerContextPrototypeProperties):
2550         * bindings/scripts/test/V8/V8TestInterface.cpp:
2551         (WebCore::V8TestInterface::GetRawTemplate):
2552         (WebCore::V8TestInterface::GetTemplate):
2553         * bindings/scripts/test/V8/V8TestInterface.h:
2554         (V8TestInterface):
2555         (WebCore::V8TestInterface::installPerContextPrototypeProperties):
2556         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2557         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
2558         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2559         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2560         (V8TestMediaQueryListListener):
2561         (WebCore::V8TestMediaQueryListListener::installPerContextPrototypeProperties):
2562         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2563         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2564         (WebCore::V8TestNamedConstructor::GetRawTemplate):
2565         (WebCore::V8TestNamedConstructor::GetTemplate):
2566         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2567         (V8TestNamedConstructor):
2568         (WebCore::V8TestNamedConstructor::installPerContextPrototypeProperties):
2569         * bindings/scripts/test/V8/V8TestNode.cpp:
2570         (WebCore::V8TestNode::GetRawTemplate):
2571         (WebCore::V8TestNode::GetTemplate):
2572         * bindings/scripts/test/V8/V8TestNode.h:
2573         (V8TestNode):
2574         (WebCore::V8TestNode::installPerContextPrototypeProperties):
2575         * bindings/scripts/test/V8/V8TestObj.cpp:
2576         (WebCore::V8TestObj::GetRawTemplate):
2577         (WebCore::V8TestObj::GetTemplate):
2578         (WebCore::V8TestObj::installPerContextPrototypeProperties):
2579         * bindings/scripts/test/V8/V8TestObj.h:
2580         (V8TestObj):
2581         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2582         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
2583         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2584         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2585         (V8TestOverloadedConstructors):
2586         (WebCore::V8TestOverloadedConstructors::installPerContextPrototypeProperties):
2587         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2588         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
2589         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2590         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2591         (V8TestSerializedScriptValueInterface):
2592         (WebCore::V8TestSerializedScriptValueInterface::installPerContextPrototypeProperties):
2593         * bindings/v8/V8PerContextData.cpp:
2594         (WebCore::V8PerContextData::constructorForTypeSlowCase):
2595         * bindings/v8/WrapperTypeInfo.h:
2596         (WebCore):
2597         (WebCore::WrapperTypeInfo::installPerContextPrototypeProperties):
2598
2599 2013-02-06  Terry Anderson  <tdanderson@chromium.org>
2600
2601         Add support for gesture scroll events that do not propagate to enclosing scrollables
2602         https://bugs.webkit.org/show_bug.cgi?id=108849
2603
2604         Reviewed by Antonio Gomes.
2605
2606         Tests: fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html
2607                fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html
2608                fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html
2609
2610         Rename RenderLayer::scrollByRecursively() to RenderLayer::scrollBy() and add a parameter
2611         of type RenderLayer::ScrollPropagation to specify whether or not the scroll should
2612         propagate to its parent by recursing. Implement RenderLayer::scrollByRecursively() as a
2613         call to RenderLayer::scrollBy() with argument RenderLayer::ShouldPropagateScroll so
2614         that all existing calls to the function still produce the correct behavior.
2615
2616         In EventHandler::handleGestureScrollUpdate(), call RenderLayer::scrollBy() with
2617         argument RenderLayer::ShouldPropagateScroll if |gestureEvent| is a GestureScrollUpdate
2618         or instead with argument RenderLayer::DontPropagateScroll if |gestureEvent| is a
2619         GestureScrollUpdateWithoutPropagation.
2620
2621         * dom/GestureEvent.cpp:
2622         (WebCore::GestureEvent::create):
2623         * page/EventHandler.cpp:
2624         (WebCore::EventHandler::handleGestureEvent):
2625         (WebCore::EventHandler::handleGestureScrollUpdate):
2626         * platform/PlatformEvent.h:
2627         * platform/Scrollbar.cpp:
2628         (WebCore::Scrollbar::gestureEvent):
2629         * platform/chromium/PopupContainer.cpp:
2630         (WebCore::PopupContainer::handleGestureEvent):
2631         * rendering/RenderLayer.cpp:
2632         (WebCore::RenderLayer::scrollByRecursively):
2633         (WebCore):
2634         (WebCore::RenderLayer::scrollBy):
2635         * rendering/RenderLayer.h:
2636
2637 2013-02-06  Ojan Vafai  <ojan@chromium.org>
2638
2639         [Chromium] table-section-overflow-clip-crash.html hits an assert
2640         https://bugs.webkit.org/show_bug.cgi?id=108594
2641
2642         Reviewed by Levi Weintraub.
2643
2644         When a counter calls setNeedsLayout, it also marks it's containing blocks
2645         as needing layout, so we need to clear the setNeedsLayoutIsForbidden bit on the
2646         containing blocks as well as the counter itself.
2647
2648         Also, use RAII objects for all the places where we clear this bit and make
2649         the setter/getter for it private to RenderObject.
2650
2651         * rendering/RenderCounter.cpp:
2652         (WebCore::RenderCounter::computePreferredLogicalWidths):
2653         * rendering/RenderObject.cpp:
2654         (WebCore::RenderObject::SetLayoutNeededForbiddenScope::SetLayoutNeededForbiddenScope):
2655         (WebCore::RenderObject::markContainingBlocksForLayout):
2656         * rendering/RenderObject.h:
2657         (SetLayoutNeededForbiddenScope):
2658         (RenderObject):
2659         (WebCore::RenderObject::isSetNeedsLayoutForbidden):
2660         (WebCore::RenderObject::setNeedsLayoutIsForbidden):
2661         * rendering/RenderQuote.cpp:
2662         (WebCore::RenderQuote::computePreferredLogicalWidths):
2663         * rendering/RenderTableSection.cpp:
2664         (WebCore::RenderTableSection::calcRowLogicalHeight):
2665         (WebCore::RenderTableSection::layoutRows):
2666         * rendering/mathml/RenderMathMLOperator.cpp:
2667         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
2668         * rendering/mathml/RenderMathMLRoot.cpp:
2669         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
2670         * rendering/mathml/RenderMathMLRow.cpp:
2671         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
2672
2673 2013-02-06  Ojan Vafai  <ojan@chromium.org>
2674
2675         display:none file upload button crashes
2676         https://bugs.webkit.org/show_bug.cgi?id=109102
2677
2678         Reviewed by Levi Weintraub.
2679
2680         Test: fast/forms/file/display-none-upload-button.html
2681
2682         * rendering/RenderFileUploadControl.cpp:
2683         (WebCore::nodeWidth):
2684         (WebCore::RenderFileUploadControl::paintObject):
2685         Having an upload button doesn't mean we have a rendered upload button.
2686         Null check the renderer before trying to access it.
2687
2688 2013-02-06  Dirk Schulze  <dschulze@adobe.com>
2689
2690         Context's currentPath should check for passed type
2691         https://bugs.webkit.org/show_bug.cgi?id=109097
2692
2693         Reviewed by Dean Jackson.
2694
2695         Add check for passed pointer and return earlier.
2696
2697         Test: fast/canvas/canvas-currentPath-crash.html
2698
2699         * html/canvas/CanvasRenderingContext2D.cpp:
2700         (WebCore::CanvasRenderingContext2D::setCurrentPath):
2701
2702 2013-02-06  Rafael Weinstein  <rafaelw@chromium.org>
2703
2704         [HTMLTemplateElement] Non </template> end tags should be ignored in "template contents" insertion mode.
2705         https://bugs.webkit.org/show_bug.cgi?id=109090
2706
2707         Reviewed by Adam Barth.
2708
2709         https://dvcs.w3.org/hg/webcomponents/raw-file/38536d37fb82/spec/templates/index.html#template-contents-insertion-mode.
2710
2711         Test added to html5lib suite.
2712
2713         * html/parser/HTMLTreeBuilder.cpp:
2714         (WebCore::HTMLTreeBuilder::processEndTag):
2715
2716 2013-02-06  Alexandre Elias  <aelias@chromium.org>
2717
2718         Make ScrollView::paint() clip by visibleContentRect
2719         https://bugs.webkit.org/show_bug.cgi?id=108888
2720
2721         Reviewed by Levi Weintraub.
2722
2723         When applyPageScaleFactorInCompositor or fixedVisibleContentRect
2724         are used, frameRect() and visibleContentRect(true).size() are
2725         no longer synonyms, and the latter is the one that should be
2726         used for clipping paints.
2727
2728         New WebFrameTest: pageScaleFactorScalesPaintClip.
2729
2730         * platform/ScrollView.cpp:
2731         (WebCore::ScrollView::paint):
2732
2733 2013-02-06  Dima Gorbik  <dgorbik@apple.com>
2734
2735         Store the language internally instead of using lang attribute for WebVTT nodes
2736         https://bugs.webkit.org/show_bug.cgi?id=108858
2737
2738         Reviewed by Eric Carlson.
2739
2740         Only language webvtt elements should have a lang attribute so we have to store
2741         the language internally in the element. Refactored the code to make 
2742         computeInheritedLanguage virtual.
2743
2744         Existing tests were modified to cover this case.
2745
2746         * css/SelectorChecker.cpp:
2747         (WebCore::SelectorChecker::checkOne):
2748         * html/track/WebVTTElement.cpp:
2749         (WebCore::WebVTTElement::WebVTTElement):
2750         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
2751         (WebCore::WebVTTElement::createEquivalentHTMLElement): clone the internal language property.
2752         * html/track/WebVTTElement.h:
2753         (WebCore::WebVTTElement::language):
2754         (WebCore::WebVTTElement::setLanguage):
2755         * html/track/WebVTTParser.cpp: only set the lang attribute for language objects.
2756         (WebCore::WebVTTParser::constructTreeFromToken):
2757
2758 2013-02-06  Levi Weintraub  <leviw@chromium.org>
2759
2760         Negative text indents can break RenderBlock's inline maximum preferred width calculation
2761         https://bugs.webkit.org/show_bug.cgi?id=108973
2762
2763         Reviewed by Emil A Eklund.
2764
2765         Change two quirks about to how we calculate a block's inline preferred width with
2766         text-indent.
2767
2768         First, re-use text-indent that's first applied to floats on text that follows it.
2769         This matches Layout, as otherwise we can prematurely wrap text when there's a negative
2770         margin on a block starting with a float. This also matches FireFox.
2771
2772         Second, correct how the max preferred width is calculated in the presence of a negative
2773         text-indent. If the text-indent is more negative than the first text line break, we
2774         update the value to be the remainder. Previously, we added this remaining negative value
2775         to subsequent minimum and maximum preferred width calculations (until the remainder was
2776         gone). This is wrong for the max preferred width, as we're adding the negative value more
2777         than once, and leads to a max preferred width that's smaller than our line.
2778
2779         Test: fast/css/negative-text-indent-in-inline-block.html
2780
2781         * rendering/RenderBlock.cpp:
2782         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2783
2784 2013-02-06  Mark Lam  <mark.lam@apple.com>
2785
2786         Fix broken release builds, greening the bots.
2787         https://bugs.webkit.org/show_bug.cgi?id=107475.
2788
2789         Not reviewed.
2790
2791         No new tests.
2792
2793         * Modules/webdatabase/DatabaseManager.cpp:
2794         (WebCore::logOpenDatabaseError):
2795
2796 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2797
2798         Unreviewed, rolling out r142025.
2799         http://trac.webkit.org/changeset/142025
2800         https://bugs.webkit.org/show_bug.cgi?id=109091
2801
2802         broke the build (Requested by tdanderson on #webkit).
2803
2804         * dom/GestureEvent.cpp:
2805         (WebCore::GestureEvent::create):
2806         * page/EventHandler.cpp:
2807         (WebCore::EventHandler::handleGestureEvent):
2808         (WebCore::EventHandler::handleGestureScrollUpdate):
2809         * platform/PlatformEvent.h:
2810         * platform/Scrollbar.cpp:
2811         (WebCore::Scrollbar::gestureEvent):
2812         * platform/chromium/PopupContainer.cpp:
2813         (WebCore::PopupContainer::handleGestureEvent):
2814         * rendering/RenderLayer.cpp:
2815         (WebCore::RenderLayer::scrollByRecursively):
2816         * rendering/RenderLayer.h:
2817
2818 2013-02-06  Mark Lam  <mark.lam@apple.com>
2819
2820         Split openDatabase() between front and back end work.
2821         https://bugs.webkit.org/show_bug.cgi?id=107475.
2822
2823         Reviewed by Anders Carlsson.
2824
2825         The main work of splitting DatabaseManager::openDatabase() is in
2826         refactoring how DatabaseTracker::canEstablishDatabase() works. It used
2827         to check for adequate space quota, and if the check fails, it would call
2828         back into the client from inside canEstablishDatabase(). The call back
2829         allows the client to update the quota (if appropriate). Thereafter,
2830         canEstablishDatabase() will retry its quota check.
2831
2832         In a webkit2 world, we'll want to minimize the traffic between the
2833         client (script side) and the server (sqlite db side), and ideally, we
2834         don't want the server to call back to the client. Note: the
2835         DatabaseTracker belongs on the server side.
2836
2837         To achieve this, we split canEstablishDatabase() into 2 parts: the
2838         checks before the call back to the client, and the checks after.
2839         The first part will retain the name canEstablishDatabase(), and the
2840         second part will be named retryCanEstablishDatabase().
2841         We also added a DatabaseServer::openDatabase() function that can be
2842         called with a retry flag.
2843
2844         The client side DatabaseManager::openDatabase() will call
2845         DatabaseServer::openDatabase(), which then calls canEstablishDatabase()
2846         to do its quota check. If there is enough quota,
2847         DatabaseServer::openDatabase() will proceed to open the backend database
2848         without return to the client first. The opened database will be returned
2849         to the client.
2850
2851         If DatabaseServer::openDatabase() finds inadequate quota the first time,
2852         it will return with a DatabaseSizeExceededQuota error. The DatabaseManager
2853         (on the client side) will check for this error and call back to its client
2854         for an opportunity to increase the quota. Thereafter, the DatabaseManager
2855         will call DatabaseServer::openDatabase() again. This time,
2856         DatabaseServer::openDatabase() will call retryCanEstablishDatabase() to
2857         check the quota, and then open the backend database if there is enough
2858         quota.
2859
2860         No new tests.
2861
2862         * Modules/webdatabase/AbstractDatabaseServer.h:
2863         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
2864         (WebCore::DOMWindowWebDatabase::openDatabase):
2865         * Modules/webdatabase/Database.cpp:
2866         (WebCore::Database::create):
2867         * Modules/webdatabase/Database.h:
2868         (Database):
2869         * Modules/webdatabase/DatabaseBackend.cpp:
2870         (WebCore::DatabaseBackend::performOpenAndVerify):
2871         * Modules/webdatabase/DatabaseBackend.h:
2872         (DatabaseBackend):
2873         * Modules/webdatabase/DatabaseBackendAsync.cpp:
2874         (WebCore::DatabaseBackendAsync::openAndVerifyVersion):
2875         (WebCore::DatabaseBackendAsync::performOpenAndVerify):
2876         * Modules/webdatabase/DatabaseBackendAsync.h:
2877         (DatabaseBackendAsync):
2878         * Modules/webdatabase/DatabaseBackendSync.cpp:
2879         (WebCore::DatabaseBackendSync::openAndVerifyVersion):
2880         * Modules/webdatabase/DatabaseBackendSync.h:
2881         (DatabaseBackendSync):
2882         * Modules/webdatabase/DatabaseError.h:
2883         (WebCore::ENUM_CLASS):
2884         * Modules/webdatabase/DatabaseManager.cpp:
2885         (WebCore::DatabaseManager::exceptionCodeForDatabaseError):
2886         (WebCore::DatabaseManager::openDatabaseBackend):
2887         (WebCore::DatabaseManager::openDatabase):
2888         (WebCore::DatabaseManager::openDatabaseSync):
2889         * Modules/webdatabase/DatabaseManager.h:
2890         (DatabaseManager):
2891         * Modules/webdatabase/DatabaseServer.cpp:
2892         (WebCore::DatabaseServer::openDatabase):
2893         (WebCore::DatabaseServer::createDatabase):
2894         * Modules/webdatabase/DatabaseServer.h:
2895         * Modules/webdatabase/DatabaseSync.cpp:
2896         (WebCore::DatabaseSync::create):
2897         * Modules/webdatabase/DatabaseSync.h:
2898         (DatabaseSync):
2899         * Modules/webdatabase/DatabaseTracker.cpp:
2900         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
2901         (WebCore::DatabaseTracker::canEstablishDatabase):
2902         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
2903         * Modules/webdatabase/DatabaseTracker.h:
2904         (DatabaseTracker):
2905         * Modules/webdatabase/WorkerContextWebDatabase.cpp:
2906         (WebCore::WorkerContextWebDatabase::openDatabase):
2907         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
2908         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
2909         (WebCore::DatabaseTracker::canEstablishDatabase):
2910         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
2911
2912 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
2913
2914         Fix CompactHTMLToken's copy ctor to copy all fields
2915         https://bugs.webkit.org/show_bug.cgi?id=109076
2916
2917         Reviewed by Adam Barth.
2918
2919         This was introduced by me in r142004. Without this patch we fail all tests when using the background parser.
2920
2921         Also don't use getters in copy ctor.
2922
2923         No new tests because no new functionality.
2924
2925         * html/parser/CompactHTMLToken.cpp:
2926         (WebCore::CompactHTMLToken::CompactHTMLToken):
2927
2928 2013-02-06  Brian Salomon  <bsalomon@google.com>
2929
2930         [Chromium/Skia] Remove use of deprecated Skia names
2931         https://bugs.webkit.org/show_bug.cgi?id=109085
2932
2933         Reviewed by Stephen White.
2934
2935         Tested by every existing canvas2d test.
2936
2937         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
2938         (WebCore::GraphicsContext3DPrivate::grContext):
2939
2940 2013-02-06  Terry Anderson  <tdanderson@chromium.org>
2941
2942         Add support for gesture scroll events that do not propagate to enclosing scrollables
2943         https://bugs.webkit.org/show_bug.cgi?id=108849
2944
2945         Reviewed by Antonio Gomes.
2946
2947         Tests: fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html
2948                fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html
2949                fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html
2950
2951         Rename RenderLayer::scrollByRecursively() to RenderLayer::scrollBy() and add a parameter
2952         of type RenderLayer::ScrollPropagation to specify whether or not the scroll should
2953         propagate to its parent by recursing. Implement RenderLayer::scrollByRecursively() as a
2954         call to RenderLayer::scrollBy() with argument RenderLayer::ShouldPropagateScroll so
2955         that all existing calls to the function still produce the correct behavior.
2956
2957         In EventHandler::handleGestureScrollUpdate(), call RenderLayer::scrollBy() with
2958         argument RenderLayer::ShouldPropagateScroll if |gestureEvent| is a GestureScrollUpdate
2959         or instead with argument RenderLayer::DontPropagateScroll if |gestureEvent| is a
2960         GestureScrollUpdateWithoutPropagation.
2961
2962         * dom/GestureEvent.cpp:
2963         (WebCore::GestureEvent::create):
2964         * page/EventHandler.cpp:
2965         (WebCore::EventHandler::handleGestureEvent):
2966         (WebCore::EventHandler::handleGestureScrollUpdate):
2967         * platform/PlatformEvent.h:
2968         * platform/Scrollbar.cpp:
2969         (WebCore::Scrollbar::gestureEvent):
2970         * platform/chromium/PopupContainer.cpp:
2971         (WebCore::PopupContainer::handleGestureEvent):
2972         * rendering/RenderLayer.cpp:
2973         (WebCore::RenderLayer::scrollByRecursively):
2974         (WebCore):
2975         (WebCore::RenderLayer::scrollBy):
2976         * rendering/RenderLayer.h:
2977
2978 2013-02-06  Ryosuke Niwa  <rniwa@webkit.org>
2979
2980         REGRESSION(r141136): Apple's internal PLT test suite doesn't finish
2981         https://bugs.webkit.org/show_bug.cgi?id=108380
2982
2983         Reviewed by Alexey Proskuryakov.
2984
2985         Re-enable the main resource cache since the regression had been fixed in r141615.
2986
2987         * loader/cache/CachedResourceLoader.cpp:
2988         (WebCore::CachedResourceLoader::requestResource):
2989
2990 2013-02-06  Uday Kiran  <udaykiran@motorola.com>
2991
2992         Implement 'vmax' from CSS3 values and units
2993         https://bugs.webkit.org/show_bug.cgi?id=91440
2994
2995         Reviewed by Antti Koivisto.
2996
2997         vmax is implemented as primitive length unit.
2998         New length type ViewportPercentageMax is added and included support for fetching the value
2999         of this viewport percentage unit based on current viewport size.
3000
3001         The specification related to this implementation is
3002         http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
3003
3004         Tests: css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax-absolute.html
3005                css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax.html
3006
3007         * css/CSSGrammar.y.in: Added vmax support.
3008         * css/CSSParser.cpp: Parsing of vmax unit.
3009         (WebCore::CSSParser::validUnit): Added vmax to valid units.
3010         (WebCore::CSSParser::createPrimitiveNumericValue): Added vmax to primitive untis.
3011         (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitive for vmax.
3012         (WebCore::CSSParser::detectNumberToken): Parsing of vmax token.
3013         * css/CSSParserValues.cpp:
3014         (WebCore::CSSParserValue::createCSSValue): Added support for vmax.
3015         * css/CSSPrimitiveValue.cpp:
3016         (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vmax.
3017         (WebCore::unitCategory): Ditto.
3018         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
3019         (WebCore::CSSPrimitiveValue::cleanup):
3020         (WebCore::CSSPrimitiveValue::customCssText): Added support for vmax.
3021         (WebCore::CSSPrimitiveValue::viewportPercentageLength): Function to create the Length structure for the viewport-percentage unit types.
3022         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
3023         * css/CSSPrimitiveValue.h:
3024         (WebCore::CSSPrimitiveValue::isViewportPercentageLength): Checks whether the primitive value is ViewportPercentage Length.
3025         * css/CSSPrimitiveValue.idl: Added support for vmax.
3026         * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size.
3027         (WebCore::minimumValueForLength):
3028         (WebCore::valueForLength):
3029         (WebCore::floatValueForLength):
3030         * platform/Length.h:
3031         (WebCore::Length::isViewportPercentage): To check the Length is of type ViewportPercentage.
3032         * rendering/RenderBox.cpp:
3033         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3034         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3035
3036 2013-02-06  Pravin D  <pravind.2k4@gmail.com>
3037
3038         When a block element is made inline positioned and has static left and right,  it does not follow inline formatting context
3039         https://bugs.webkit.org/show_bug.cgi?id=91665
3040
3041         Reviewed by Julien Chaffraix.
3042
3043         Out-of-flow-positioned elements have their display overriden to BLOCK. When a static block elements 
3044         changes to inline out-of-flow-positioned or vice-versa, the element current and previous display properties 
3045         are same. This causes the element to follow a wrong flow context(in this case Block context) and the element
3046         is laid out incorrectly. The patch fixes the issue by reattaching the renderers of the node whenever either
3047         position property changes or when its floating property changes.
3048         Also the cases when an out-of-flow-positioned/floating element changes to static/non-floating element where
3049         being specially handled. As reattaching the renderers in the above cases correctly handles the above cases,
3050         special handling for such cases is no more required and the related code can be safely removed.
3051  
3052         Reattaching renderers for the afore mentioned issues takes a different(longer) code path. Performance measurements
3053         summary for the same is as follows:
3054                                                               % increase in time
3055          Absolute-block-to-static-block                            2.00
3056          Absolute-inline-to-static-block                           1.21
3057          Absolute-inline-to-static-inline                          1.18
3058          Static-block-to-absolute-block                            1.13
3059          Static-inline-to-absolute-inline                          1.35
3060          Floating-block-non-floating-block                         0.85
3061          Floating-inline-non-floating-block                        0.66
3062          Floating-inline-non-floating-inline                       0.57
3063          Non-floating-block-floating-block                         0.12
3064          Non-floating-inline-floating-inline                       1.36
3065
3066         Tests: fast/dynamic/absolute-positioned-to-static-positioned.html
3067                fast/dynamic/floating-to-non-floating.html
3068                fast/dynamic/non-floating-to-floating.html
3069                fast/dynamic/static-positioned-to-absolute-positioned.html
3070
3071         * dom/Node.cpp:
3072         (WebCore::Node::diff):
3073           Return detach in the following conditions:
3074              1) Element changes to out-of-flow-positioned or vice-versa.
3075              2) Element becomes floating or vice-versa.
3076
3077         * rendering/RenderBlock.cpp:
3078         (WebCore):
3079         * rendering/RenderBlock.h:
3080         (RenderBlock):
3081         * rendering/RenderBoxModelObject.h:
3082         (RenderBoxModelObject):
3083         * rendering/RenderInline.cpp:
3084         (WebCore):
3085         * rendering/RenderInline.h:
3086         (RenderInline):
3087         * rendering/RenderObject.cpp:
3088         (WebCore):
3089         (WebCore::RenderObject::styleWillChange):
3090         (WebCore::RenderObject::styleDidChange):
3091         * rendering/RenderObject.h:
3092         (RenderObject):
3093           The fix in Node::diff() obsoletes some code. The above deletion are part of this dead code cleanup.
3094
3095 2013-02-06  Chris Fleizach  <cfleizach@apple.com>
3096
3097         AX: if <html> has an ARIA attribute, it's exposed as an AXGroup
3098         https://bugs.webkit.org/show_bug.cgi?id=109008
3099
3100         Reviewed by Ryosuke Niwa.
3101
3102         If an <html> element had an ARIA attribute, it was being turned into an element
3103         in the AX hierarchy. This was causing trouble for screen readers by inserting
3104         an unexpected element in the navigation sequence.
3105
3106         Test: accessibility/html-html-element-is-ignored.html
3107
3108         * accessibility/AccessibilityRenderObject.cpp:
3109         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3110
3111 2013-02-06  Shawn Singh  <shawnsingh@chromium.org>
3112
3113         RenderLayer hasVisibleContent() has inconsistent semantics causing disappearing composited layers
3114         https://bugs.webkit.org/show_bug.cgi?id=108118
3115
3116         Reviewed by Simon Fraser.
3117
3118         RenderLayerBacking::hasVisibleNonCompositingDescendantLayers was
3119         only checking whether direct children had visible content. As a
3120         result, composited layers had wrong visibility status if only a
3121         deeper descendant RenderLayer was visible.
3122
3123         Test: compositing/visibility/visibility-on-distant-descendant.html
3124
3125         * rendering/RenderLayerBacking.cpp:
3126         (WebCore::hasVisibleNonCompositingDescendant): copied the original
3127         implementation into this function; then added the RenderLayer
3128         recursion as appropriate.
3129         (WebCore):
3130         (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
3131         This is now just a wrapper to the private static recursive
3132         function.
3133
3134 2013-02-06  Jonathon Jongsma  <jonathon.jongsma@collabora.com>
3135
3136         [GStreamer] MediaPlayer's code is not easily reusable by other GStreamer-based players
3137         https://bugs.webkit.org/show_bug.cgi?id=100261
3138
3139         Refactor the media player implementation so that more of the
3140         internal functionality can be shared between the current media
3141         backend and the mediastream player backend.  Common code is
3142         broken out into a MediaPlayerPrivateGStreamerBase class, and
3143         both MediaPlayerPrivateGStreamer and
3144         StreamMediaPlayerPrivateGStreamer inherit from this base class.
3145
3146         Reviewed by Philippe Normand
3147
3148         No new tests since functionality is covered by existing media tests
3149
3150         * GNUmakefile.list.am:
3151         * PlatformEfl.cmake:
3152         * Target.pri:
3153         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
3154         (WebCore::FullscreenVideoControllerGStreamer::create):
3155         (WebCore::FullscreenVideoControllerGStreamer::FullscreenVideoControllerGStreamer):
3156         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h:
3157         (WebCore):
3158         (FullscreenVideoControllerGStreamer):
3159         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3160         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
3161         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
3162         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3163         (MediaPlayerPrivateGStreamer):
3164         (WebCore::MediaPlayerPrivateGStreamer::isLiveStream):
3165         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Added.
3166         (WebCore):
3167         (WebCore::greatestCommonDivisor):
3168         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
3169         (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
3170         (WebCore::mediaPlayerPrivateMuteChangedCallback):
3171         (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
3172         (WebCore::mediaPlayerPrivateRepaintCallback):
3173         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
3174         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
3175         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
3176         (WebCore::MediaPlayerPrivateGStreamerBase::setVolume):
3177         (WebCore::MediaPlayerPrivateGStreamerBase::volume):
3178         (WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfVolumeChange):
3179         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
3180         (WebCore::MediaPlayerPrivateGStreamerBase::networkState):
3181         (WebCore::MediaPlayerPrivateGStreamerBase::readyState):
3182         (WebCore::MediaPlayerPrivateGStreamerBase::sizeChanged):
3183         (WebCore::MediaPlayerPrivateGStreamerBase::setMuted):
3184         (WebCore::MediaPlayerPrivateGStreamerBase::muted):
3185         (WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfMute):
3186         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
3187         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
3188         (WebCore::MediaPlayerPrivateGStreamerBase::setSize):
3189         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3190         (WebCore::MediaPlayerPrivateGStreamerBase::enterFullscreen):
3191         (WebCore::MediaPlayerPrivateGStreamerBase::exitFullscreen):
3192         (WebCore::MediaPlayerPrivateGStreamerBase::supportsFullscreen):
3193         (WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
3194         (WebCore::MediaPlayerPrivateGStreamerBase::movieLoadType):
3195         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
3196         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
3197         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
3198         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
3199         (WebCore::MediaPlayerPrivateGStreamerBase::audioDecodedByteCount):
3200         (WebCore::MediaPlayerPrivateGStreamerBase::videoDecodedByteCount):
3201         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Added.
3202         (WebCore):
3203         (MediaPlayerPrivateGStreamerBase):
3204         (WebCore::MediaPlayerPrivateGStreamerBase::supportsMuting):
3205         (WebCore::MediaPlayerPrivateGStreamerBase::setVisible):
3206         (WebCore::MediaPlayerPrivateGStreamerBase::hasSingleSecurityOrigin):
3207         (WebCore::MediaPlayerPrivateGStreamerBase::maxTimeLoaded):
3208         (WebCore::MediaPlayerPrivateGStreamerBase::canEnterFullscreen):
3209         (WebCore::MediaPlayerPrivateGStreamerBase::mediaPlayer):
3210         (WebCore::MediaPlayerPrivateGStreamerBase::audioSink):
3211         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
3212         (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
3213         * platform/graphics/gtk/FullscreenVideoControllerGtk.h:
3214         (FullscreenVideoControllerGtk):
3215
3216 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
3217
3218         Call XSSAuditor's didBlockScript() for the threaded HTML parser
3219         https://bugs.webkit.org/show_bug.cgi?id=108726
3220
3221         Reviewed by Adam Barth.
3222
3223         This patch causes us to call didBlockScript() on the main thread if the CompactHTML token has XSSInfo.
3224         To do so, we:
3225         1. Rename DidBlockScriptRequest to XSSInfo.
3226         2. Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
3227         3. Add an isSafeToSendToAnotherThread() method to String and KURL.
3228
3229         We don't yet populate didBlockScriptRequest on the background thread, but this should just work once we do.
3230
3231         No new tests because no new functionality.
3232
3233         * html/parser/BackgroundHTMLParser.cpp:
3234         (WebCore::BackgroundHTMLParser::pumpTokenizer): Update comment for rename.
3235         * html/parser/CompactHTMLToken.cpp:
3236         (SameSizeAsCompactHTMLToken):
3237         (WebCore::CompactHTMLToken::CompactHTMLToken): Add a copy constructor used by Vector.
3238         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread): Include new m_xssInfo field in safety check.
3239         (WebCore):
3240         (WebCore::CompactHTMLToken::xssInfo): Added.
3241         (WebCore::CompactHTMLToken::setXSSInfo): Added.
3242         * html/parser/CompactHTMLToken.h: Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
3243         (WebCore):
3244         (CompactHTMLToken):
3245         (WTF): Add VectorTraits necessary for copying Vector fields objects that contain an OwnPtr.
3246         * html/parser/HTMLDocumentParser.cpp:
3247         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): Add new didBlockScript() call.
3248         (WebCore::HTMLDocumentParser::pumpTokenizer):
3249         * html/parser/XSSAuditor.cpp: Renaming.
3250         (WebCore::XSSAuditor::filterToken):
3251         * html/parser/XSSAuditor.h: Renaming.
3252         (WebCore):
3253         (XSSAuditor):
3254         * html/parser/XSSAuditorDelegate.cpp:
3255         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
3256         (WebCore):
3257         (WebCore::XSSAuditorDelegate::didBlockScript):
3258         * html/parser/XSSAuditorDelegate.h:
3259         (WebCore::XSSInfo::create):
3260         (XSSInfo):
3261         (WebCore::XSSInfo::XSSInfo):
3262         (XSSAuditorDelegate):
3263         * platform/KURL.cpp:
3264         (WebCore::KURL::isSafeToSendToAnotherThread): Added.
3265         (WebCore):
3266         * platform/KURL.h:
3267         (KURL):
3268         * platform/KURLGoogle.cpp:
3269         (WebCore):
3270         (WebCore::KURLGooglePrivate::isSafeToSendToAnotherThread): Added.
3271         * platform/KURLGooglePrivate.h:
3272         (KURLGooglePrivate):
3273         * platform/KURLWTFURLImpl.h:
3274         (WebCore::KURLWTFURLImpl::isSafeToSendToAnotherThread): Added.
3275
3276 2013-02-06  Dean Jackson  <dino@apple.com>
3277
3278         Minor updates to captions menu UI
3279         https://bugs.webkit.org/show_bug.cgi?id=109005
3280
3281         Reviewed by Eric Carlson.
3282
3283         Now that we only have a single section in the captions menu, remove the
3284         unnecessary wrapper element. Also update the UI for Mac so that the menu
3285         grows in size dynamically, and change the text we display for a caption
3286         that has neither label or language identifiers.
3287
3288         Covered by existing tests.
3289
3290         * English.lproj/Localizable.strings: New string for an unknown caption label.
3291         * css/fullscreenQuickTime.css: New rules for the captions menu.
3292         (video:-webkit-full-screen::-webkit-media-controls-closed-captions-container):
3293         (video:-webkit-full-screen::-webkit-media-controls-closed-captions-track-list):
3294         * css/mediaControlsQuickTime.css: Ditto.
3295         (video::-webkit-media-controls-closed-captions-container):
3296         (video::-webkit-media-controls-closed-captions-track-list):
3297         * html/shadow/MediaControlElements.cpp:
3298         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
3299             Remove the <section> element container.
3300         * platform/LocalizedStrings.cpp:
3301         (WebCore::textTrackNoLabelText): New string for an unknown caption label.
3302
3303 2013-02-06  Vsevolod Vlasov  <vsevik@chromium.org>
3304
3305         Web Inspector: Remove isSnippet field from FileDescriptor and UISourceCode.
3306         https://bugs.webkit.org/show_bug.cgi?id=109045
3307         
3308         Reviewed by Pavel Feldman.
3309
3310         Snippets are now distinguished based on uiSourceCode project.
3311
3312         * inspector/front-end/JavaScriptSourceFrame.js:
3313         (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
3314         * inspector/front-end/NavigatorView.js:
3315         * inspector/front-end/ScriptSnippetModel.js:
3316         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
3317         * inspector/front-end/ScriptsNavigator.js:
3318         (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
3319         (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
3320         (WebInspector.ScriptsNavigator.prototype.removeUISourceCode):
3321         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
3322         (WebInspector.ScriptsNavigator.prototype.rename):
3323         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
3324         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
3325         * inspector/front-end/ScriptsPanel.js:
3326         (WebInspector.ScriptsPanel.prototype._showFile):
3327         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
3328         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
3329         * inspector/front-end/SimpleWorkspaceProvider.js:
3330         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
3331         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
3332         * inspector/front-end/Workspace.js:
3333         (WebInspector.FileDescriptor):
3334         (WebInspector.Project.prototype._fileAdded):
3335
3336 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3337
3338         Unreviewed, rolling out r141983.
3339         http://trac.webkit.org/changeset/141983
3340         https://bugs.webkit.org/show_bug.cgi?id=109055
3341
3342         lots of new crashes in handlescope (Requested by gavinp on
3343         #webkit).
3344
3345         * bindings/v8/DOMDataStore.h:
3346         (WebCore::DOMDataStore::setWrapperInObject):
3347         * bindings/v8/DOMWrapperWorld.h:
3348         (DOMWrapperWorld):
3349         (WebCore::DOMWrapperWorld::isolated):
3350         * bindings/v8/V8Binding.h:
3351         (WebCore):
3352         (WebCore::worldForEnteredContextIfIsolated):
3353         * bindings/v8/V8DOMWindowShell.cpp:
3354         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3355         * bindings/v8/V8GCController.cpp:
3356         (WebCore::WrapperVisitor::WrapperVisitor):
3357         (WebCore):
3358         (WebCore::gcTree):
3359         (WebCore::V8GCController::didCreateWrapperForNode):
3360         (WebCore::V8GCController::gcPrologue):
3361         (WebCore::V8GCController::minorGCPrologue):
3362         (WebCore::V8GCController::majorGCPrologue):
3363         * bindings/v8/V8GCController.h:
3364         (V8GCController):
3365
3366 2013-02-06  Andreas Kling  <akling@apple.com>
3367
3368         Optimize GlyphPage for case where all glyphs are available in the same font.
3369         <http://webkit.org/b/108835>
3370         <rdar://problem/13157042>
3371
3372         Reviewed by Antti Koivisto.
3373
3374         Let GlyphPage begin optimistically assuming that all its glyphs will be represented in
3375         the same SimpleFontData*. In this (very common) case, only keep a single SimpleFontData*.
3376
3377         If glyphs from multiple fonts are mixed in one page, an array of per-glyph SimpleFontData*
3378         is allocated transparently.
3379
3380         4.98 MB progression on Membuster3.
3381
3382         * platform/graphics/GlyphPageTreeNode.cpp:
3383         (WebCore::GlyphPageTreeNode::initializePage):
3384         * platform/graphics/GlyphPage.h:
3385         (WebCore::GlyphPage::createUninitialized):
3386         (WebCore::GlyphPage::createZeroedSystemFallbackPage):
3387         (WebCore::GlyphPage::createCopiedSystemFallbackPage):
3388
3389             There are now three ways of constructing a GlyphPage, two of them are only used for
3390             creating system fallback pages.
3391
3392         (WebCore::GlyphPage::setGlyphDataForIndex):
3393
3394             Hold off creating a SimpleFontData* array until we're sure there are two different
3395             SimpleFontData* backing the glyphs in this page.
3396             We don't store font data for glyph #0, instead we let the getters always return null for it.
3397
3398         (WebCore::GlyphPage::~GlyphPage):
3399
3400             Free the SimpleFontData* array if needed.
3401
3402         (WebCore::GlyphPage::glyphDataForCharacter):
3403         (WebCore::GlyphPage::glyphDataForIndex):
3404         (WebCore::GlyphPage::fontDataForCharacter):
3405
3406             The font data for glyph #0 is always a null pointer now.
3407
3408         (WebCore::GlyphPage::clearForFontData):
3409
3410             Updated for new storage format.
3411
3412         * rendering/svg/SVGTextRunRenderingContext.cpp:
3413         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
3414
3415             Fix bug where non-zero glyph was temporarily associated with null font data,
3416             which triggered the new assertion in setGlyphDataForIndex().
3417
3418 2013-02-06  Pavel Feldman  <pfeldman@chromium.org>
3419
3420         Follow up to r141979: do not consume Home/End.
3421         Not reviewed.
3422
3423         * inspector/front-end/FilteredItemSelectionDialog.js:
3424         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
3425
3426 2013-02-06  Vsevolod Vlasov  <vsevik@chromium.org>
3427
3428         Web Inspector: Remove show script folders setting
3429         https://bugs.webkit.org/show_bug.cgi?id=108940
3430
3431         Reviewed by Pavel Feldman.
3432
3433         Removed showScriptFolders setting, the sources are never shown as a flat list in navigator anymore.
3434
3435         * inspector/front-end/NavigatorView.js:
3436         (WebInspector.NavigatorView):
3437         (WebInspector.NavigatorView.prototype._getOrCreateFolderTreeElement):
3438         * inspector/front-end/Settings.js:
3439         * inspector/front-end/SettingsScreen.js:
3440         (WebInspector.GenericSettingsTab):
3441
3442 2013-02-06  Andrey Lushnikov  <lushnikov@chromium.org>
3443
3444         Web Inspector: update javascriptsourcetokenizer to produce "whitespaces" token
3445         https://bugs.webkit.org/show_bug.cgi?id=108945
3446
3447         Reviewed by Pavel Feldman.
3448
3449         Update re2c grammar for SourceJavaScriptTokenizer to produce
3450         "whitespace" token which holds consequtive whitespaces in it.
3451
3452         Updated existing tests expectations.
3453
3454         * inspector/front-end/DOMSyntaxHighlighter.js:
3455         (WebInspector.DOMSyntaxHighlighter.prototype.createSpan): Do not strip spaces from tokens with class "whitespaces".
3456         * inspector/front-end/SourceJavaScriptTokenizer.js: Regenerated.
3457         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
3458         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
3459
3460 2013-02-06  Andrey Lushnikov  <lushnikov@chromium.org>
3461
3462         Web Inspector: refactor registerShortcuts method of DTE
3463         https://bugs.webkit.org/show_bug.cgi?id=109031
3464
3465         Reviewed by Pavel Feldman.
3466
3467         Implement _registerShortcuts method in TextEditorMainPanel which will
3468         bind its private methods to the different key combinations. Refactor
3469         method handlers handleUndoRedo, handleTabKeyPress and handleEnterKey
3470         from public to private.
3471
3472         No new tests: no change in behaviour.
3473
3474         * inspector/front-end/DefaultTextEditor.js:
3475         (WebInspector.DefaultTextEditor.prototype._registerShortcuts): Remove bindings of TextEditorMainPanel methods
3476         (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
3477         (WebInspector.TextEditorMainPanel):
3478         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts): Added.
3479         (WebInspector.TextEditorMainPanel.prototype._handleUndoRedo):
3480         (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
3481
3482 2013-02-06  Mike West  <mkwst@chromium.org>
3483
3484         Add an ENABLE_NOSNIFF feature flag.
3485         https://bugs.webkit.org/show_bug.cgi?id=109029
3486
3487         Reviewed by Jochen Eisinger.
3488
3489         This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
3490         when processing script and other resource types.
3491
3492         * Configurations/FeatureDefines.xcconfig:
3493
3494 2013-02-06  Tommy Widenflycht  <tommyw@google.com>
3495
3496         MediaStream API: Implement DTMF support in RTCPeerConnection
3497         https://bugs.webkit.org/show_bug.cgi?id=106782
3498
3499         Reviewed by Adam Barth.
3500
3501         The WebRTC specification have added support for DTMF:
3502         http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-dtmf
3503
3504         Implementation wise this is implemented using the same pattern as RTCDataChannel;
3505         where a RTCDTMFSenderHandler is created by the UA through a new method on
3506         RTCPeerConnectionHandler.
3507
3508         Test: fast/mediastream/RTCPeerConnection-dtmf.html
3509
3510         * CMakeLists.txt:
3511         * GNUmakefile.list.am:
3512         * Modules/mediastream/RTCDTMFSender.cpp: Added.
3513         (WebCore):
3514         (WebCore::RTCDTMFSender::create):
3515         (WebCore::RTCDTMFSender::RTCDTMFSender):
3516         (WebCore::RTCDTMFSender::~RTCDTMFSender):
3517         (WebCore::RTCDTMFSender::canInsertDTMF):
3518         (WebCore::RTCDTMFSender::track):
3519         (WebCore::RTCDTMFSender::toneBuffer):
3520         (WebCore::RTCDTMFSender::insertDTMF):
3521         (WebCore::RTCDTMFSender::didPlayTone):
3522         (WebCore::RTCDTMFSender::interfaceName):
3523         (WebCore::RTCDTMFSender::scriptExecutionContext):
3524         (WebCore::RTCDTMFSender::stop):
3525         (WebCore::RTCDTMFSender::eventTargetData):
3526         (WebCore::RTCDTMFSender::ensureEventTargetData):
3527         (WebCore::RTCDTMFSender::scheduleDispatchEvent):
3528         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
3529         * Modules/mediastream/RTCDTMFSender.h: Added.
3530         (WebCore):
3531         (RTCDTMFSender):
3532         (WebCore::RTCDTMFSender::duration):
3533         (WebCore::RTCDTMFSender::interToneGap):
3534         * Modules/mediastream/RTCDTMFSender.idl: Added.
3535         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3536         (WebCore):
3537         (WebCore::RTCDTMFToneChangeEvent::create):
3538         (WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
3539         (WebCore::RTCDTMFToneChangeEvent::~RTCDTMFToneChangeEvent):
3540         (WebCore::RTCDTMFToneChangeEvent::tone):
3541         (WebCore::RTCDTMFToneChangeEvent::interfaceName):
3542         * Modules/mediastream/RTCDTMFToneChangeEvent.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3543         (WebCore):
3544         (RTCDTMFToneChangeEventInit):
3545         (RTCDTMFToneChangeEvent):
3546         * Modules/mediastream/RTCDTMFToneChangeEvent.idl: Added.
3547         * Modules/mediastream/RTCPeerConnection.cpp:
3548         (WebCore::RTCPeerConnection::createDataChannel):
3549         (WebCore):
3550         (WebCore::RTCPeerConnection::getStreamByTrackId):
3551         (WebCore::RTCPeerConnection::createDTMFSender):
3552         * Modules/mediastream/RTCPeerConnection.h:
3553         (WebCore):
3554         (RTCPeerConnection):
3555         * Modules/mediastream/RTCPeerConnection.idl:
3556         * WebCore.gypi:
3557         * dom/EventNames.h:
3558         (WebCore):
3559         * dom/EventNames.in:
3560         * dom/EventTargetFactory.in:
3561         * platform/chromium/support/WebMediaStreamTrack.cpp:
3562         (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
3563         (WebKit):
3564         * platform/mediastream/RTCDTMFSenderHandler.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3565         (WebCore):
3566         (RTCDTMFSenderHandler):
3567         (WebCore::RTCDTMFSenderHandler::~RTCDTMFSenderHandler):
3568         * platform/mediastream/RTCDTMFSenderHandlerClient.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3569         (WebCore):
3570         (RTCDTMFSenderHandlerClient):
3571         (WebCore::RTCDTMFSenderHandlerClient::~RTCDTMFSenderHandlerClient):
3572         * platform/mediastream/RTCPeerConnectionHandler.h:
3573         (WebCore):
3574         (RTCPeerConnectionHandler):
3575         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3576         (WebCore):
3577         (WebCore::RTCDTMFSenderHandlerChromium::create):
3578         (WebCore::RTCDTMFSenderHandlerChromium::RTCDTMFSenderHandlerChromium):
3579         (WebCore::RTCDTMFSenderHandlerChromium::~RTCDTMFSenderHandlerChromium):
3580         (WebCore::RTCDTMFSenderHandlerChromium::setClient):
3581         (WebCore::RTCDTMFSenderHandlerChromium::currentToneBuffer):
3582         (WebCore::RTCDTMFSenderHandlerChromium::canInsertDTMF):
3583         (WebCore::RTCDTMFSenderHandlerChromium::insertDTMF):
3584         (WebCore::RTCDTMFSenderHandlerChromium::didPlayTone):
3585         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3586         (WebCore):
3587         (RTCDTMFSenderHandlerChromium):
3588         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3589         (WebCore::RTCPeerConnectionHandlerChromium::createDTMFSender):
3590         (WebCore):
3591         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3592         (RTCPeerConnectionHandlerChromium):
3593
3594 2013-02-04  Kentaro Hara  <haraken@chromium.org>
3595
3596         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
3597         https://bugs.webkit.org/show_bug.cgi?id=108579
3598
3599         Reviewed by Adam Barth.
3600
3601         Currently V8GCController::m_edenNodes stores a list of nodes whose
3602         wrappers have been created since the latest GC. The reason why we
3603         needed m_edenNodes is that there was no way to know a list of wrappers
3604         in the new space of V8. By using m_edenNodes, we had been approximating
3605         'wrappers in the new space' by 'wrappers that have been created since
3606         the latest GC'.
3607
3608         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
3609         can know a list of wrappers in the new space. By using the API, we can
3610         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
3611         need to keep m_edenNodes and that (2) it enables more precise minor
3612         DOM GC (Remember that m_edenNodes was just an approximation).
3613
3614         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
3615         The benchmark runs 300 iterations, each of which creates 100000 elements.
3616         The benchmark measures average, min, median, max and stdev of execution times
3617         of the 300 iterations. This will tell us the worst-case overhead of this change.
3618
3619         Before:
3620           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
3621
3622         After:
3623           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
3624
3625         As shown above, I couldn't observe any performance regression.
3626
3627         No tests. No change in behavior.
3628
3629         * bindings/v8/DOMDataStore.h:
3630         (WebCore::DOMDataStore::setWrapperInObject):
3631         * bindings/v8/DOMWrapperWorld.h:
3632         (DOMWrapperWorld):
3633         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
3634         * bindings/v8/V8Binding.h:
3635         (WebCore):
3636         (WebCore::worldForEnteredContextIfIsolated):
3637         (WebCore::worldForEnteredContextWithoutContextCheck):
3638         * bindings/v8/V8DOMWindowShell.cpp:
3639         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3640         * bindings/v8/V8GCController.cpp:
3641         (WebCore::gcTree):
3642         (WebCore):
3643         (MinorGCWrapperVisitor):
3644         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
3645         (WebCore::MinorGCWrapperVisitor::notifyFinished):
3646         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
3647         (WebCore::V8GCController::gcPrologue):
3648         (WebCore::V8GCController::minorGCPrologue):
3649         (WebCore::V8GCController::majorGCPrologue):
3650         * bindings/v8/V8GCController.h:
3651         (V8GCController):
3652
3653 2013-02-06  Mihai Maerean  <mmaerean@adobe.com>
3654
3655         [CSSRegions] Assertion failure in Node::detach (!renderer || renderer->inRenderFlowThread())
3656         https://bugs.webkit.org/show_bug.cgi?id=104517
3657
3658         Reviewed by Julien Chaffraix.
3659
3660         The RenderObject::inRenderFlowThread bit could have become disconnected from the fact that the RenderObject
3661         has (or not) an enclosing RenderFlowThread.
3662         The cause of this was that, when setting or removing the parent of a RenderObject, the inRenderFlowThread flags
3663         wasn't being set/reset for the children too.
3664         This is now fixed by calling the new setInRenderFlowThreadIncludingDescendants.
3665
3666         The ASSERT was hit for anonymous blocks when detaching the document.
3667
3668         Test: fast/regions/detaching-regions-with-anonymous-blocks.html
3669
3670         * rendering/RenderObject.cpp:
3671         (WebCore::RenderObject::setInRenderFlowThreadRecursive):
3672         (WebCore):
3673         * rendering/RenderObject.h:
3674         (WebCore::RenderObject::setParent):
3675         (RenderObject):
3676
3677 2013-02-06  Marja Hölttä  <marja@chromium.org>
3678
3679         Take referrer policy into account when clearing the referrer header
3680         https://bugs.webkit.org/show_bug.cgi?id=86000
3681
3682         Reviewed by Alexey Proskuryakov.
3683
3684         The referrer should only be cleared when doing a https -> http redirect,
3685         if the policy is "default". Otherwise the referrer should be left intact.
3686
3687         In order to do that, added a function for checking the policy in
3688         NetworkingContext, and stored the NetworkingContext in ResourceHandle
3689         (like some ports already did).
3690
3691         No new tests (unskipped old tests).
3692
3693         * loader/FrameNetworkingContext.h:
3694         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
3695         (FrameNetworkingContext):
3696         * platform/network/BlobResourceHandle.cpp:
3697         (WebCore::BlobResourceHandle::BlobResourceHandle):
3698         * platform/network/NetworkingContext.h:
3699         (NetworkingContext):
3700         * platform/network/ResourceHandle.cpp:
3701         (WebCore::ResourceHandle::ResourceHandle):
3702         (WebCore::ResourceHandle::create):
3703         (WebCore::ResourceHandle::context):
3704         (WebCore):
3705         * platform/network/ResourceHandle.h:
3706         (ResourceHandle):
3707         * platform/network/ResourceHandleInternal.h:
3708         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3709         (ResourceHandleInternal):
3710         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
3711         (WebCore::ResourceHandle::start):
3712         (WebCore::ResourceHandle::loadResourceSynchronously):
3713         * platform/network/cf/ResourceHandleCFNet.cpp:
3714         (WebCore::willSendRequest):
3715         (WebCore::ResourceHandle::start):
3716         (WebCore::ResourceHandle::loadResourceSynchronously):
3717         * platform/network/chromium/ResourceHandle.cpp:
3718         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3719         (WebCore::ResourceHandle::ResourceHandle):
3720         (WebCore::ResourceHandle::create):
3721         (WebCore::ResourceHandle::context):
3722         (WebCore):
3723         (WebCore::ResourceHandle::start):
3724         * platform/network/chromium/ResourceHandleInternal.h:
3725         (WebCore):
3726         (ResourceHandleInternal):
3727         (WebCore::ResourceHandleInternal::context):
3728         * platform/network/curl/ResourceHandleCurl.cpp:
3729         (WebCore::ResourceHandle::start):
3730         (WebCore::ResourceHandle::loadResourceSynchronously):
3731         * platform/network/mac/ResourceHandleMac.mm:
3732         (WebCore::ResourceHandle::start):
3733         (WebCore::ResourceHandle::loadResourceSynchronously):
3734         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
3735         * platform/network/qt/QNetworkReplyHandler.cpp:
3736         (WebCore::QNetworkReplyHandler::redirect):
3737         * platform/network/qt/ResourceHandleQt.cpp:
3738         (WebCore::ResourceHandle::start):
3739         (WebCore::ResourceHandle::loadResourceSynchronously):
3740         * platform/network/soup/ResourceHandleSoup.cpp:
3741         (WebCore::doRedirect):
3742         (WebCore::ResourceHandle::start):
3743         * platform/network/win/ResourceHandleWin.cpp:
3744         (WebCore::ResourceHandle::start):
3745         (WebCore::ResourceHandle::loadResourceSynchronously):
3746
3747 2013-02-06  Pavel Feldman  <pfeldman@chromium.org>
3748
3749         Web Inspector: file selector list jumps as I type or move Up/Down
3750         https://bugs.webkit.org/show_bug.cgi?id=108933
3751
3752         Reviewed by Vsevolod Vlasov.
3753
3754         Missing return was scheduling extra updates.
3755
3756         * inspector/front-end/FilteredItemSelectionDialog.js:
3757         (WebInspector.FilteredItemSelectionDialog):
3758         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
3759         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
3760         (WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
3761
3762 2013-02-06  Kentaro Hara  <haraken@chromium.org>
3763
3764         [V8] Pass an Isolate to remaining GetTemplate()s
3765         https://bugs.webkit.org/show_bug.cgi?id=109001
3766
3767         Reviewed by Adam Barth.
3768
3769         No tests. No change in behavior.
3770
3771         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3772         (WebCore::V8DOMWindow::namedSecurityCheck): Because this method is a callback from V8,
3773         we cannot change its signature to receive an Isolate.
3774         (WebCore::V8DOMWindow::indexedSecurityCheck): Ditto.
3775
3776         * bindings/scripts/CodeGeneratorV8.pm:
3777         (GenerateHeader):
3778         (GenerateToV8Converters):
3779         * bindings/scripts/test/V8/V8Float64Array.cpp:
3780         (WebCore::V8Float64Array::createWrapper):
3781         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3782         (WebCore::V8TestActiveDOMObject::createWrapper):
3783         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3784         (WebCore::V8TestCustomNamedGetter::createWrapper):
3785         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3786         (WebCore::V8TestEventConstructor::createWrapper):
3787         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3788         (WebCore::V8TestEventTarget::createWrapper):
3789         * bindings/scripts/test/V8/V8TestException.cpp:
3790         (WebCore::V8TestException::createWrapper):
3791         * bindings/scripts/test/V8/V8TestInterface.cpp:
3792         (WebCore::V8TestInterface::createWrapper):
3793         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3794         (WebCore::V8TestMediaQueryListListener::createWrapper):
3795         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3796         (WebCore::V8TestNamedConstructor::createWrapper):
3797         * bindings/scripts/test/V8/V8TestNode.cpp:
3798         (WebCore::V8TestNode::createWrapper):
3799         * bindings/scripts/test/V8/V8TestObj.cpp:
3800         (WebCore::V8TestObj::createWrapper):
3801         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3802         (WebCore::V8TestOverloadedConstructors::createWrapper):
3803         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3804         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
3805         * bindings/v8/V8DOMWrapper.cpp:
3806         (WebCore::V8DOMWrapper::createWrapper):
3807         * bindings/v8/V8DOMWrapper.h:
3808         (V8DOMWrapper):
3809         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3810         (WebCore::V8HTMLDocument::wrapInShadowObject):
3811
3812 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3813
3814         Unreviewed, rolling out r141961.
3815         http://trac.webkit.org/changeset/141961
3816         https://bugs.webkit.org/show_bug.cgi?id=109019
3817
3818         assertion failures on svn tests such as fonts-glyph-04-t.svg
3819         (Requested by falken on #webkit).
3820
3821         * platform/graphics/GlyphPage.h:
3822         (WebCore::GlyphPage::create):
3823         (WebCore::GlyphPage::glyphDataForCharacter):
3824         (WebCore::GlyphPage::glyphDataForIndex):
3825         (WebCore::GlyphPage::fontDataForCharacter):
3826         (WebCore::GlyphPage::setGlyphDataForIndex):
3827         (GlyphPage):
3828         (WebCore::GlyphPage::copyFrom):
3829         (WebCore::GlyphPage::clear):
3830         (WebCore::GlyphPage::clearForFontData):
3831         (WebCore::GlyphPage::GlyphPage):
3832         * platform/graphics/GlyphPageTreeNode.cpp:
3833         (WebCore::GlyphPageTreeNode::initializePage):
3834
3835 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3836
3837         Unreviewed, rolling out r141964.
3838         http://trac.webkit.org/changeset/141964
3839         https://bugs.webkit.org/show_bug.cgi?id=109014
3840
3841         caused performance regression (Requested by hayato on
3842         #webkit).
3843
3844         * CMakeLists.txt:
3845         * GNUmakefile.list.am:
3846         * Target.pri:
3847         * WebCore.gypi:
3848         * WebCore.xcodeproj/project.pbxproj:
3849         * css/CSSAllInOne.cpp:
3850         * css/DocumentRuleSets.cpp: Removed.
3851         * css/DocumentRuleSets.h: Removed.
3852         * css/StyleResolver.cpp:
3853         (WebCore::StyleResolver::StyleResolver):
3854         (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
3855         (WebCore):
3856         (WebCore::makeRuleSet):
3857         (WebCore::StyleResolver::resetAuthorStyle):
3858         (WebCore::StyleResolver::appendAuthorStyleSheets):
3859         (WebCore::StyleResolver::matchAuthorRules):
3860         (WebCore::StyleResolver::matchUserRules):
3861         (WebCore::StyleResolver::classNamesAffectedByRules):
3862         (WebCore::StyleResolver::locateCousinList):
3863         (WebCore::StyleResolver::canShareStyleWithElement):
3864         (WebCore::StyleResolver::locateSharedStyle):
3865         (WebCore::StyleResolver::styleForElement):
3866         (WebCore::StyleResolver::styleForPage):
3867         (WebCore::StyleResolver::checkRegionStyle):
3868         (WebCore::StyleResolver::applyProperty):
3869         (WebCore::StyleResolver::collectFeatures):
3870         (WebCore::StyleResolver::reportMemoryUsage):
3871         * css/StyleResolver.h:
3872         (StyleResolver):
3873         (WebCore::StyleResolver::usesSiblingRules):
3874         (WebCore::StyleResolver::usesFirstLineRules):
3875         (WebCore::StyleResolver::usesBeforeAfterRules):
3876         (WebCore::StyleResolver::hasSelectorForAttribute):
3877         (WebCore::StyleResolver::hasSelectorForClass):
3878         (WebCore::StyleResolver::hasSelectorForId):
3879         * dom/DocumentStyleSheetCollection.cpp:
3880         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3881
3882 2013-02-05  Kentaro Hara  <haraken@chromium.org>
3883
3884         Add #if USE(V8) to Node::V8CollectableDuringMinorGCFlag
3885         https://bugs.webkit.org/show_bug.cgi?id=109009
3886
3887         Reviewed by Kent Tamura.
3888
3889         Node flags should be saved. V8CollectableDuringMinorGCFlag is used by V8 only.
3890
3891         * dom/Node.h:
3892         (Node):
3893
3894 2013-02-05  Vsevolod Vlasov  <vsevik@chromium.org>
3895
3896         Web Inspector: Add ending slashes automatically to file mappings.
3897         https://bugs.webkit.org/show_bug.cgi?id=108936
3898
3899         Reviewed by Pavel Feldman.
3900
3901         * inspector/front-end/SettingsScreen.js:
3902         (WebInspector.WorkspaceSettingsTab.prototype._addFileMappingClicked):
3903
3904 2013-02-05  Eric Carlson  <eric.carlson@apple.com>
3905
3906         More updates to Caption user preferences
3907         https://bugs.webkit.org/show_bug.cgi?id=108997
3908
3909         Reviewed by Dean Jackson.
3910
3911         * html/HTMLMediaElement.cpp:
3912         (WebCore::HTMLMediaElement::captionPreferencesChanged): Give the media controls a chance
3913             to update for a preferences change.
3914         * html/shadow/MediaControlElements.cpp:
3915         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Add optional "force update" 
3916             param to force font size recalc even when the video size hasn't changed.
3917         * html/shadow/MediaControlElements.h:
3918
3919         * html/shadow/MediaControls.cpp:
3920         (WebCore::MediaControls::textTrackPreferencesChanged): New, force a font size recalc.
3921         * html/shadow/MediaControls.h:
3922
3923         * html/track/TextTrackCueGeneric.cpp:
3924         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Don't set width/size of cues
3925             that use default positioning. Use "start" as the default alignment.
3926
3927         * page/CaptionUserPreferencesMac.mm:
3928         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Set padding when the window is visible
3929             so it shows around the cue background.
3930         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Set padding to 0 when the background
3931             is visible.
3932         (WebCore::CaptionUserPreferencesMac::windowRoundedCornerRadiusCSS): Add "px" to the border radius
3933             so it actually works.
3934         * rendering/RenderTextTrackCue.cpp:
3935         (WebCore::RenderTextTrackCue::layout): Special case generic cues with default style.
3936         (WebCore::RenderTextTrackCue::repositionGenericCue):
3937         * rendering/RenderTextTrackCue.h:
3938
3939 2013-02-05  Hayato Ito  <hayato@chromium.org>
3940
3941         Split each RuleSet and feature out from StyleResolver into its own class.
3942         https://bugs.webkit.org/show_bug.cgi?id=107777
3943
3944         Reviewed by Dimitri Glazkov.
3945
3946         Splitting each RuleSet and feature out from StyleResover into its onw class, DocumentRuleSets,
3947         to manage them separately.
3948
3949         This is one of the attempts to try to resolve meta bug (bug 89879)
3950         to lose StyleResolver's weight.  We need further action to factor
3951         StyleResolver to separate it into some classes cleanly.
3952         See also https://bugs.webkit.org/show_bug.cgi?id=108890. A following patch will address that.
3953
3954         No tests. No change in behavior.
3955
3956         * CMakeLists.txt:
3957         * GNUmakefile.list.am:
3958         * Target.pri:
3959         * WebCore.gypi:
3960         * WebCore.xcodeproj/project.pbxproj:
3961         * css/CSSAllInOne.cpp:
3962         * css/DocumentRuleSets.cpp: Added.
3963         (WebCore):
3964         (WebCore::DocumentRuleSets::DocumentRuleSets):
3965         (WebCore::DocumentRuleSets::~DocumentRuleSets):
3966         (WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
3967         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
3968         (WebCore::makeRuleSet): Ditto.
3969         (WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
3970         (WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
3971         (WebCore::DocumentRuleSets::collectFeatures): Ditto.
3972         (WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.
3973         * css/DocumentRuleSets.h: Added.
3974         (WebCore):
3975         (DocumentRuleSets):
3976         (WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
3977         (WebCore::DocumentRuleSets::userStyle): Ditto.
3978         (WebCore::DocumentRuleSets::features): Ditto.
3979         (WebCore::DocumentRuleSets::sibling): Ditto.
3980         (WebCore::DocumentRuleSets::uncommonAttribute): Ditto.
3981         * css/StyleResolver.cpp:
3982         (WebCore::StyleResolver::StyleResolver):
3983         (WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
3984         (WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
3985         (WebCore::StyleResolver::matchUserRules): Ditto.
3986         (WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
3987         (WebCore::StyleResolver::locateCousinList): Ditto.
3988         (WebCore::StyleResolver::canShareStyleWithElement): Ditto.
3989         (WebCore::StyleResolver::locateSharedStyle): Ditto.
3990         (WebCore::StyleResolver::styleForPage): Ditto.
3991         (WebCore::StyleResolver::checkRegionStyle): Ditto.
3992         (WebCore::StyleResolver::applyProperty): Ditto.
3993         (WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.
3994         * css/StyleResolver.h:
3995         (WebCore::StyleResolver::scopeResolver):
3996         (StyleResolver):
3997         (WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
3998         (WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
3999         (WebCore::StyleResolver::usesFirstLineRules): Ditto.
4000         (WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
4001         (WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
4002         (WebCore::StyleResolver::hasSelectorForClass): Ditto.
4003         (WebCore::StyleResolver::hasSelectorForId): Ditto.
4004         * dom/DocumentStyleSheetCollection.cpp:
4005         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
4006
4007 2013-02-05  Julien Chaffraix  <jchaffraix@webkit.org>
4008
4009         [CSS Grid Layout] Grid item's logical height is not properly recomputed after -webkit-grid-column / -webkit-grid-row changes
4010         https://bugs.webkit.org/show_bug.cgi?id=108975
4011
4012         Reviewed by Tony Chang.
4013
4014         Test: fast/css-grid-layout/implicit-position-dynamic-change.html
4015
4016         * rendering/RenderBox.cpp:
4017         (WebCore::RenderBox::clearContainingBlockOverrideSize):
4018         (WebCore::RenderBox::clearOverrideContainingBlockContentLogicalHeight):
4019         * rendering/RenderBox.h:
4020         Added clearOverrideContainingBlockContentLogicalHeight and updated clearContainingBlockOverrideSize
4021         to use it.
4022
4023         * rendering/RenderGrid.cpp:
4024         (WebCore::RenderGrid::minContentForChild):
4025         (WebCore::RenderGrid::maxContentForChild):
4026         Added missing clearContainingBlockOverrideSize to ensure we don't use a previous layout's override.
4027
4028 2013-02-05  Andreas Kling  <akling@apple.com>
4029
4030         Optimize GlyphPage for case where all glyphs are available in the same font.
4031         <http://webkit.org/b/108835>
4032         <rdar://problem/13157042>
40