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